20181235 实验二《Python程序设计》实验二报告
#学号 2019-2020-2 《Python程序设计》实验一报告
课程:《Python程序设计》 班级: 1812
姓名: 周昱涵 学号:20181235
实验教师:王志强
实验日期:2020年4月11日
必修/选修: 公选课
## 1.实验内容
-
设计并完成一个完整的应用程序,完成加减乘除摸等运算,功能多多益善。
-
考核基本语法、判定语句、循环语句、逻辑运算等知识点
## 2. 实验过程及结果 该实验我制作的小型计算器,一共有5个功能,能够实现加减乘除和进制转换的要求,可以是小数。可以判断除数是否为0
源码:
def jiafa(a,b): return a+b def chengfa(a,b): return a*b def chufa(a,b): return a/b def s2e(): e = [0,0,0,0,0,0,0,0] s = int(input("请输入一个十位数:")) for i in range(0,8,1): e[i] = int(s%2) s=s//2 e.reverse() return e def e2s(): s=[0,0,0,0,0,0,0,0] a=0 s=list(input("请输入一个二进制数:")) s.reverse() for i in range(0,len(s),1): if int(s[i]) == 1: a+=pow(2,i) return a biaozi=1 while biaozi==1: biaoti="""***************欢迎来到20181235制作的计算器*************** *******************该计数器有以下功能******************** 1.加法功能 2.减法功能 3.除法功能 4.乘法功能 5.十进制转二进制 6.二进制转十进制 """ print(biaoti) xz1=int(input("请输入您要使用的功能:")) if xz1 !=5 and xz1!=6: shu1=float(input("请输入第一个数:")) shu2=float(input("请输入第二个数:")) if xz1==1: jieguo=jiafa(shu1,shu2) elif xz1==2: shu2=shu2*-1 jieguo=jiafa(shu1,shu2) elif xz1==3: if shu1==0: print("除数不能为0") shu2=float(input("请再次输入除数:")) jieguo=chufa(shu1,shu2) elif xz1==4: jieguo=chengfa(shu1,shu2) elif xz1==5: e=s2e() elif xz1==6: a=e2s() if xz1 !=5 and xz1!=6: print("计算结果为{}".format(jieguo)) elif xz1==5: print("二进制数为:", e) elif xz1==6: print("十进制数是:", a) biaozi2=int(input("请问您是否需要再次使用输入1再次使用2停止使用:")) if biaozi2==2: break
## 3. 实验过程中遇到的问题和解决过程 - 问题1:if判断语句如何判断俩个条件 - 问题1解决方案:进行百度我百度搜索答案加上自己的调试,最终在俩个条件中间加and并非or就可以实现 - 问题2:用什么去存储二进制数 - 问题2解决方案:不断调试加以往经验,认为可以运用列表来存储二进制数 - ...
## 其他(感悟、思考等)
这次实验我认识到了我自己对基础语法的掌握程度不够,if语句的多个判断卡了我很久,经过百度和不断的调试我终于找到了解决方案,我认为python就需要多练习才能达到熟练的程度。
## 参考资料
[python3条件判断](https://www.runoob.com/python3/python3-conditional-statements.html)
[判断多条件的方法](https://www.cnblogs.com/fingerling/p/8397695.html)