20182228李卓伦 2020-2021-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 1822
姓名: 李卓伦
学号:20182228
实验教师:王志强
实验日期:2021年5月7日
必修/选修: 公选课
1.实验内容
- 设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
- 考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
首先本次实验是设计一个计算器,而本次我实现的主要是一步一步的计算方式,只能通过一个计算式的计算,依次的把数据算出来,之后整个输出字符串来观察运算结果,做的比较简单
# 文件名:计算器设计
# 作者:20182228李卓伦
# 时间:2021.5.7
def operation(a,b,operation):
if operation == "+":
return a+b
elif operation == "-":
return a-b
elif operation == "*":
return a*b
elif operation == "/":
return a/b
elif operation == "*":
return a*b
elif operation == "%":
return a%b
elif operation == "**":
return a**b
elif operation == "//":
return a//b
flag = 1
char = []
while flag == 1 :
char = []
a = int(input("第一个数 "))
char.append(a)
opera = input("输入运算符 +,-,/,*,%,**,//")
char.append(opera)
b = int(input("第二个数"))
char.append(b)
if opera == "+" or opera == "-" or opera == "*" or opera =="/" or opera =="*" or opera == "%" or opera =="**" or opera =="//": #or 和 and
print("结果为",operation(a,b,opera))
c = operation(a,b,opera)
flag = int(input("结束 (0) 还是重新开始(1)还是继续 (2)"))
if flag == 2:
while flag == 2 :
opera2 = input("输入运算符 +,-,/,*,%,**,//")
char.append(opera2)
d = int(input("数"))
char.append(d)
if opera2 == "+" or opera2 == "-" or opera2 == "*" or opera2 == "/" or opera2 =="*" or opera2 == "%" or opera2 =="**" or opera2 =="//": # or 和 and
print("结果为", operation(c,d,opera2))
c = operation(c, d, opera2)
flag = int(input("结束 (0) 还是重新开始(1)还是继续 (2)"))
if flag == 0:
k = 0
while k<len(char):
print(char[k],end="")
k= k + 1
print(" = ",c)
print("结束")
3. 实验过程中遇到的问题和解决过程
- 问题1:没有办法让print输出在一行上,表达式看着不舒服
- 问题1解决方案:通过百度查询,print("",end="")
- 问题2:数组有简单的压入方式
- 问题2解决方案:通过百度查询,使用append()函数可以直接添加到最后一位
- 问题3:数组的初始化方式
- 问题3解决方案:通过百度查询,数组 = [ ]
感悟、思考
本次实验完成比较简单,而通过晚上对计算器的查询,发现他们都使用的可视化的方式,而其实通过看他们的代码也是可以看懂的,只不过是很多函数需要搜索不知道什么意思,但是他们所写的大部分是为了可视化而写,计算过程主要是使用return eval(text) python函数直接算出来了,感觉与本次实验所练习的东西并不相同,但是以后有机会还是可以学习他们搭建窗口计算器的方式的,看起来更加炫酷而且也更会实用一点。