20212305 实验二《Python程序设计》实验报告
20212306 2021-2022-2 《Python程序设计》 实验二报告
课程:《Python程序设计》
班级: 2123
姓名:杨贯宇
学号:20212305
实验教师:王志强
实验日期:2022年3月31日
必修/选修: 公选课
## 1.实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
## 2. 实验过程及结果
1 import math 2 print("besti科学计算器") 3 flag=True 4 while flag==True: 5 choice=input("请选择你要计算的类型(1表示实数类型;2表示虚数类型;3表示实数加虚数类型):\n") 6 if choice=="1": 7 print("如果你选用sin、cos、tan函数or进制,请将b值设定为1\n") 8 print("如果选用与、或、非电路,a和b的值在0 or 1之间选择,且非电路的b值为1\n") 9 op=input("请输入需要做的操作(+、-、*、/、%、a的b次方根、sin、cos、tan、十转二进制、十转八进制、十转十六进制、与、或、非、输入0代表退出):") 10 11 if op=="0": 12 break 13 else: 14 a=int(input("请输入第一个实数a\n")) 15 b=int(input("请输入第二个实数b\n")) 16 elif choice=="2": 17 op=input("请输入需要做的操作(+、-、输入0代表退出):") 18 if op=="0": 19 break 20 else: 21 a=complex(input("请输入第一个虚数a\n")) 22 b=complex(input("请输入第一个虚数b\n")) 23 elif choice=="3": 24 op=input("请输入需要做的操作(+、-、输入0代表退出):") 25 if op=="0": 26 break 27 else: 28 a=int(input("请输入第一个实数a\n")) 29 b=complex(input("请输入第一个虚数b\n")) 30 if op=="+": 31 result=a+b 32 elif op=="-": 33 result=a-b 34 elif op=="*": 35 result=a*b 36 elif op=="/": 37 result=a/b 38 elif op=="%": 39 result=a%b 40 elif op=="a的b次方根": 41 result=pow(a,b) 42 print(str(a)+"的"+str(b)+"次方根"+"=",result,"\n") 43 continue 44 elif op=="sin": 45 result=math.sin(a*3.1415927/180) 46 print("sin"+str(a)+"=",result,"\n") 47 continue 48 elif op=="cos": 49 result=math.cos(a*3.1415927/180) 50 print("cos"+str(a)+"=",result,"\n") 51 continue 52 elif op=="tan": 53 result=math.tan(a*3.1415927/180) 54 print("tan"+str(a)+"=",result,"\n") 55 continue 56 elif op=="十转二进制": 57 result=bin(a) 58 print(str(a)+"的二进制"+"=",result,"\n") 59 continue 60 elif op=="十转八进制": 61 result=oct(a) 62 print(str(a)+"的八进制"+"=",result,"\n") 63 continue 64 elif op=="十转十六进制": 65 result=hex(a) 66 print(str(a)+"的十六进制"+"=",result,"\n") 67 continue 68 elif op=="与": 69 if a==b: 70 result=a 71 print(str(a)+"和"+str(b)+"的与电路"+"=",result,"\n") 72 else: 73 result=0 74 print(str(a)+"和"+str(b)+"的与电路"+"=",result,"\n") 75 continue 76 elif op=="或": 77 if a==b: 78 result=a 79 print(str(a)+"和"+str(b)+"的或电路"+"=",result,"\n") 80 else: 81 result=1 82 print(str(a)+"和"+str(b)+"的或电路"+"=",result,"\n") 83 continue 84 elif op=="非": 85 if a==1: 86 result=0 87 print(str(a)+"的非电路"+"=",result,"\n") 88 else: 89 result=1 90 print(str(a)+"的非电路"+"=",result,"\n") 91 continue 92 else: 93 print("输入有误,请重新输入\n") 94 continue 95 print(str(a)+op+str(b)+ "=",result,"\n")
运行结果
上传git
## 3. 实验过程中遇到的问题和解决过程
- 问题1:复数计算机不知道如何复数的形式表示出来
- 问题1解决方案:上网搜索学习解决
- 问题2:没有注意语句的缩进导致错误
- 问题2解决方案:梳理语句,恰当使用tab缩进
- ...
## 其他(感悟、思考等)
这一次报告比上次来说给我带来的成就感更多,在之前各种问题我只能通过c语言来解决,现在通过学习我用python也能编写个还不错的计算机。
这更加激发了我学习python的热情,也使我更加相信选择python课是个正确的选择,期待下一次的实验报告