该问题来自社区帖: https://bbs.csdn.net/topics/614226700.为符合问答规范, 该问题经过ChatGPT优化
学号 20224323徐志力 《Python程序设计》实验2报告
课程:《Python程序设计》
班级: 2243
姓名: 徐志力
学号:20224323
实验教师:王志强
实验日期:2023年3月23日
必修/选修: 公选课
1.实验内容
自己设计计算机系统
其中含有加减乘除阶乘三角函数指数对数的运算
代码如下:
def sum(a,b):
return (a+b)
def sub(a,b):
return (a-b)
def mul(a,b):
return (a*b)
def div(a,b):
return (a/b)
def power(a,b):
return (a**b)
def log1(a,b):
return math.log(b,a)
def factorial2023(n):
result = 1
for i in range(1,n+1):
result = result*i
return result
def sin1(n):
return math.sin(n)
def cos1(n):
return math.cos(n)
def tan1(n):
return math.tan(n)
flag = 1
while True:
a = int(input("请输入一个整数a:"))
b = int(input("请输入一个整数b: "))
operation = input("请问您需要什么操作:!+-*/ ** log sin cos tan")
if operation == '+':
print("a+b=",sum(a,b))
elif operation == '-':
print("a-b=",sub(a,b))
elif operation == '*':
print("a*b=",mul(a,b))
elif operation == '/':
if b == 0:
print("除数不能为0")
else:
print("a/b=",div(a,b))
elif operation == '**':
print("a**b=",power(a,b))
elif operation == 'log':
print("log a b=",log1(b,a))
elif operation == '!':
print("a!=", factorial2023(a), "b!=", factorial2023(b))
elif operation == 'sin':
print("sin(a)=", sin1(a), "sin(b)=", sin1(b))
elif operation == 'cos':
print("cos(a)=", cos1(a), "cos(b)", cos1(b))
elif operation == 'tan':
print("tan(a)=", tan1(a), "tan(b)=", tan1(b))
flag = int(input("请问你是否继续?继续:1,结束:0\n"))
if flag == 0:
break
2. 实验过程及结果
在这次实验中,我们学习了函数的写法和运用
我们先从加法开始出发,然后增加了循环系统,在此基础上,再加上了减减乘除阶乘三角函数指数对数的运算
加法:


循环部分:
def main():
flag = 1
while True:
a = int(input("请输入一个整数a:"))
b = int(input("请输入一个整数b:"))
operation = input("请问您需要什么操作?! - * / ** log sin cos tan")
if operation == '+':
print("a + b =", sum(a, b))
elif operation == '-':
print("a - b =", sub(a, b))
elif operation == '*':
print("a * b =", mul(a, b))
elif operation == '/':
if b == 0:
print("除数不能为0")
else:
print("a / b =", div(a, b))
elif operation == '**':
print("a ** b =", power(a, b))
elif operation == 'log':
print("log a b =", log1(b, a))
elif operation == '!':
print("a! =", factorial2023(a), "b! =", factorial2023(b))
elif operation == 'sin':
print("sin(a) =", sin1(a), "sin(b) =", sin1(b))
elif operation == 'cos':
print("cos(a) =", cos1(a), "cos(b) =", cos1(b))
elif operation == 'tan':
print("tan(a) =", tan1(a), "tan(b) =", tan1(b))
flag = int(input("请问你是否继续?继续:1,结束:0\n"))
if flag == 0:
break
if __name__ == '__main__':
main()
循环部分运用flag的值来选择是否继续
自己建立的函数运算:
def log1(a,b):
return math.log(b,a)
def factorial2023(n):
result = 1
for i in range(1,n+1):
result = result*i
return result
def sin1(n):
return math.sin(n)
def cos1(n):
return math.cos(n)
def tan1(n):
return math.tan(n)
再次过程中,主要运用了math库中的函数来解决
最后,将文件上传到gitee
如图:

3. 实验过程中遇到的问题和解决过程
- 问题1:如何让计算重复使用
- 问题1解决方案:写函数来实现重复使用
其他(感悟、思考等)
运用函数可以实现重复使用