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课是个正确的选择,期待下一次的实验报告
posted @ 2022-04-06 22:00  20212305杨贯宇  阅读(77)  评论(0编辑  收藏  举报