20212211 实验二《Python程序设计》实验报告
20212211 2021-2022-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2122
姓名: 彭派
学号:20212211
实验教师:王志强
实验日期:2022年3月31日
必修/选修: 公选课
1.实验内容
(1)设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
(2)考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
一、实验过程
(1)运用while if语句设计一个简单普通的计算器
(2)运用if语句实现加减乘除、取余取商、指数运算
(3)运用complex实现复数的运算
(4)进制转换
(5)运行
二、实验结果
代码如下
print ("besti-2目计算器!你值得拥有")
import math
flag=True
while flag==True:
choice=int(input("请选择您想要的计算器:1为普通计算器、2为复数计算器、3为进制转换计算器,0为退出\n"))
result=0
if choice==0:
print("再见,欢迎下次使用")
break
elif choice==1:
print("您使用的是普通计算器")
a=float(input("请输入操作数a(分数请转换为小数)\n"))
b=float(input("请输入操作数b(分数请转换为小数)\n"))
elif choice == 2:
print("您使用的是复数计算器")
a= complex(input("请输入第一个复数,形式为几加上几j\n"))
b= complex(input("请输入第二个复数\n"))
elif choice == 3:
print("您使用的是进制转换计算器\n请您选择进行何种转换:\n")
jz=int(input("1十进制数转换、2转换为十进制"))
if jz==1:
zh=int(input("请输入要转换为什么进制(数字)"))
c=int(input("请输入操作数"))
if zh==2:
result=bin(c)
elif zh==8:
result = oct(c)
elif zh==16:
result = hex(c)
else :
print("输入有误,请重新输入\n")
continue
elif jz==2:
zh=int(input("请输入从什么进制转换(数字)"))
c=input("请输入操作数")
if zh==2:
result=int(c,2)
elif zh==8:
result =int(c,8)
elif zh==16:
result = int(c,16)
else :
print("输入有误,请重新输入\n")
continue
print (result)
continue
op = input("请输入需要做的操作(+、-、*、/、(取余)%、(取商)//、指数运算):")
if op=="+":
result=a+b
elif op=="-":
result=a-b
elif op=="*":
result=a*b
elif op=="/":
result=a/b
elif op=="%":
result=a%b
elif op=="//":
result=a//b
elif op == "指数运算":
result = pow(a,b)
else:
print("输入有误,请重新输入\n")
continue
print(a,op,b,'=',result,"\n")
计算器代码所在仓库的链接
https://gitee.com/besti-cs/peng-pais-warehouse/blob/master/calculate.py
3. 实验过程中遇到的问题和解决过程
- 问题1:不知道如何用python实现指数运算
- 问题1解决方案:网上查找资料
- 问题2:代码因为缩进错误出现问题
- 问题2解决方案:通过debug调试发现问题,调整代码
- 问题3:无法正常识别输入的错误运算符号
- 问题3解决方案:调整代码顺序
其他(感悟、思考等)
代码的调试需要自己去做,过程很心累,调成功了,看到自己做出来的东西会很有成就感。
初学有很多不会的东西,还好网上一搜就能找到,虽然有的时候也看不懂......
学习就是这样一个从不懂到理解的过程,至少我现在会做一个简易计算器了!