20242118 2024-2025-2 《Python程序设计》实验二报告
20242118 2024-2025-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2421
姓名: 符馨琰
学号:20242118
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课
一、实验内容
1.设计并完成一个完整的计算器,完成加减乘除模等运算,功能多多益善。
二、实验过程
1.在IDE中编写计算器的代码,实现了实数的加、减、乘、除、取模、指数、对数运算和复数的加、减、乘、除运算。
具体代码如下:
点击查看代码
print("============ 欢迎使用计算机 =================")
print("* 20242118符馨琰 *")
print("* 2025.3.26 *")
print("* pilot twice *")
print("==========================================")
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("除数不能为0")
return 0
return num1 / num2
def Mod(num1, num2):
return num1 % num2
def pusin(num1, num2):
return math.sin(num1) * math.sin(num2) + math.cos(num1) * math.cos(num2)
def logab(a, b):
return math.log(a, b)
num1 = eval(input("请输入num1:"))
num2 = eval(input("请输入num2:"))
flag = True # 将 flag 变量的定义移到 while 循环外部
while flag:
if input("请问:需要复数(1)还是整数(2)运算?\n") == "1":
num1 = complex(input("请输入一个数:"))
num2 = complex(input("请输入另一个数:"))
else:
num1 = int(input("请输入一个数:"))
num2 = int(input("请输入另一个数:"))
choice = input("请输入运算符(+ - * / % log sin ):")
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 == "%":
print("num1 ", choice, " num2 = ", Mod(num1, num2))
elif choice == "sin":
print("num1 ", choice, " num2 = ", pusin(num1, num2))
elif choice == "log":
print("log以", num2, "为底", num1, "的对数 = ", logab(num1, num2))
conti = input("是否继续?Y/N\n")
if conti == "Y" or conti == "y":
flag = True
else:
flag = False


2.调试运行

3.上传gitee

三、实验过程中遇到的问题和解决过程
问题1:在进行计算的过程中发现不能重复计算
问题1解决方案:仔细审查代码,发现输入操作符的操作需要放进循环内
问题2:NameError: name 'conti' is not defined (conti 变量是在 while 循环内部定义的,在 while 循环外部尝试访问引发错误)
问题2解决方案:确保 conti 变量在使用前已经被正确定义。
四.其他(感悟、思考等)
1.可以考虑用户输入错误的情况,并作出处理。
2.学习到关于math库的常见函数的使用以及复数complex数据形式的应用。
五、参考资料
《零基础学Python》
浙公网安备 33010602011771号