20241402 实验二《Python程序设计》实验报告
20241402 2024-2025-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2414
姓名: 刘传志
学号:20241402
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课
1.实验内容
-
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
-
考核基本语法、判定语句、循环语句、逻辑运算等知识点
- 实验过程及结果
运用函数设计计算器的python代码如下
# coding: utf-8
# Project:PyCharmMiscProject
# File:计算器.py
# Author:liuchuanzhi
# Date :2025/3/26 19:25
# IDE:PyCharm
import math
#设计加减乘除等运算的相关函数
def Csum(num1,num2):
return num1+num2
def Csub(num1,num2):
return num1-num2
def Cmulti(num1,num2):
return num1*num2
def Cdiv(num1,num2):
if num2==0:
print("除数不能为零")#切记,否则会报错
return 0
return num1/num2
def Clogab(a,b):
return math.log(a,b)#要注意输入时哪个数字是基底
def Cre(num1,num2):
return num1%num2
def Cpow(num1,num2):
return math.pow(num1,num2)
flag=True
while flag:#持续运行的秘诀
if input("请问需要复数(1)还是整数(2)运算:")=="1":
num1=complex(input("请输入一个复数:"))
num2=complex(input("请输入另一个复数:"))
else:
num1=int(input("请输入一个数字: "))
num2=int(input("请输入另一个数字: "))
choice=input("请输入运算符(+,-,*,/,log,%,pow):")
if choice=="+":
print("num1",choice,"num2=",Csum(num1,num2))
elif choice=="-":
print("num1",choice,"num2=",Csub(num1,num2))
elif choice=="*":
print("num1",choice,"num2=",Cmulti(num1,num2))
elif choice=="/":
print("num1",choice,"num2=",Cdiv(num1,num2))
elif choice == "log":
print(num1,"以",num2,"为基底的对数=", Clogab(num1, num2))
elif choice=="%":
print(num1,"对",num2,"取余是",Cre(num1,num2))
elif choice=="pow":
print(num1,"的",num2,"次幂是",Cpow(num1,num2))
con= input("是否继续?Y/N\n")
if con =="Y" or con=="y":
flag = True
else:
flag = False
先构建计算器基本的输入输出语句,再加入计算的函数,最后将其并入循环中使其能持续运行。

调试并运行

上传至gitee

- 实验过程中遇到的问题和解决过程
- 问题1:log函数结果错误。
- 问题1解决方案:查询log函数使用方法,发现默认以e为基底,修改基底数后正确。
- 问题2:运算复数时发现报错
- 问题2解决方案:int型变量无法定义复数,换成complex复数类即可重载运算符用于计算复数
- ...
其他(感悟、思考等)
Python数学函数库内容丰富,实际上该计算器还可加入更多功能。
Python编写相较于C语言来说更为简洁,编写函数接入主函数更简单。

浙公网安备 33010602011771号