20241105 实验二《Python程序设计》实验报告
学号 2024-2025-2 《Python程序设计》实验x报告
课程:《Python程序设计》
班级: 2411
姓名: 王梓墨
学号:20241105
实验教师:王志强
实验日期:2024年3月26日
必修/选修: 公选课
一、实验内容
(一)设计并完成一个计算器,支持整数和复数,可以完成加、减、乘、除、对数和幂等运算,并设计简单的封面。
(二)设计一个出计算题程序,每次出10题,支持加减乘除四则运算,并统计正确率。
二、实验过程及结果
设计一个计算器
计算器需要包含加减乘除四则运算,可定义函数进行计算。并设计属于自己的计算器封面,设计控制计算器是否继续。
代码如下
`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
cover = """
菜,就多练
玩不起,就别玩
这,是神的游戏
喜欢吗,愚蠢的地球人
"""
print(cover)
def logab(a,b):
return math.log(a,b)
flag = True
while flag:
if input("复数(1)or实数(2)")=="1":
num1 = complex(input("input one:"))
num2 = complex(input("input two:"))
else:
num1 = int(input("input one:"))
num2 = int(input("input two:"))
choice = input("运算符(+-*/log)😊
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("log以", num2, "为底",num1,"的对数 = ", logab(num1, num2))
x = input("是否继续?Y/N")
if x == "Y" or x == "y":
flag = True
else:
flag = False
`
运行结果如下:
三、实验过程中遇到的问题和解决过程
问题1:复数无法表示
问题1解决方案:不能用a+bi,要用a+bj。同时设置提示(如3+4j)让用户理解
四、其他(感悟、思考等)
王凯太菜了