110
社区成员
发帖
与我相关
我的任务
分享# 20232208曾键哲 2023-2024-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 202322
姓名: 曾键哲
学号:20232208
实验教师:王志强
实验日期:2024年3月27日
必修/选修: 公选课
1.实验内容
(1)设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
(2)考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
定义所需要的函数,加法,减法,乘法,除法,平方,开放,正弦,余弦,正切,对数

编写主函数,给予用户提示信息,告诉他们程序开始正常运行了,并且想进行什么运算应该如何输入

若要有额外的输入则再进行提示

想要继续进行下一次计算时可以选择继续

以下为完整代码
import math
#加法
def add(a,b):
return (a+b)
#减法
def sub(a,b):
return (a-b)
#乘法
def mul(a,b):
return (a*b)
#除法
def div(a,b):
if b == 0:
print("ERROR")
return 0
return (a/b)
#平方
def square(a):
return a ** 2
#开方
def sqrt(a):
return math.sqrt(a)
#正弦
def sin(a):
return math.sin(a)
#余弦
def cos(a):
return math.cos(a)
#正切
def tan(a):
return math.tan(a)
#对数
def log(a,b):
if b == 0:
print("ERROR")
return 0
return math.log(b,a)
print("欢迎使用由20232208曾键哲制作的计算器")
print("_______________________________")
flag = True;
while flag:
a = eval(input("please input"))
fun = input("+,-,*,/,sin.cos,tan,log,x^2,x^1/2")
if fun == "+":
b = eval(input("please input"))
print("a+b=",add(a,b))
elif fun == "-":
b = eval(input("please input"))
print("a-b=",sub(a,b))
elif fun == "mul":
b = eval(input("please input"))
print("a*b=",mul(a,b))
elif fun == "/":
b = eval(input("please input"))
print("a/b=",div(a,b))
elif fun == "sin":
print("sin(a)=",sin(a))
elif fun == "cos":
print("cos(a)=",cos(a))
elif fun == "tan":
print("tan(a)=",tan(a))
elif fun == "log":
b = eval(input("please input"))
print("log(a,b)=",log(a,b))
elif fun == "x^2":
print("a^2=",square(a))
elif fun == "x^1/2":
print("a^1/2=",sqrt(a))
else:
print("ERROR,please input the rigth function!")
break
choice = input("once again? Y/N")
if choice == "Y":
continue
else:
flag = False
以下为测试结果



上传至gitee

3. 实验过程中遇到的问题和解决过程
- 问题1:输入对数的底数或除数为0时程序错误
- 问题1解决方案:在编写函数式加以辅助语句,若是输入不合法,则提示出错并结束进程
- 问题2:无法正确上传代码至gitee
- 问题2解决方案:重新登录并对gitee进行更新
- ...
其他(感悟、思考等)
可以设计的函数优先,并且依赖系统函数程度较大,在提升水平后要更加自主。
在测试前缺少对测试时可能出现错误结果的预期,程序健壮性不够强
对gitee的使用还不是很熟悉
## 参考资料
- [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)
- [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
- ...