20192217 2019-2020-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 1922
姓名: 程子轩
学号:20192217
实验教师:王志强
实验日期:2020年4月11日
必修/选修: 公选课

1.实验内容

1.设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
2.考核基本语法、判定语句、循环语句、逻辑运算等知识点。

2. 实验过程及结果

C语言的实验给我灵感,我也设置一个给小学生出题的程序
实现:随机出1-10内的加减乘除模算法,题目想做多少做多少,通过输入quit的首字母
q来实现循环退出,并统计正确与错误题目数量、以及正确率。
代码如下:

import random

count = 0
right = 0
while True:
a = random.randint(1, 11)
b = random.randint(1, 11)
dict = [["%d+%d=" % (a, b), a + b], ["%d-%d=" % (a, b), a - b], ["%d*%d=" % (a, b), a * b],
["%d/%d=" % (a, b), a // b], ["%d%%%d=" % (a,b), a % b]]
i = random.randint(0, 4)
num = input("%s? input your answer(除法结果只取商)(结束请输入q)" % (dict[i][0]))
if num == "q":
break
elif int(num) == dict[i][1]:
count += 1
right += 1
print("right")
else:
count += 1
print("wrong")

print("total is %d\nright nums is %d\n right rate is %d\n" % (count, right, right / count))

运行结果:

调试过程:

附:码云链接:https://gitee.com/python_programming/czx/blob/master/Experiment 2.py

3. 实验过程中遇到的问题和解决过程

  • 问题1:一开始不知道python里的随机数怎么生成
  • 问题1解决方案:通过百度很快就了解了
  • 问题2:原本的代码有点冗长
  • 问题2解决方案:通过百度搜索类似的代码案例研究,发现

    通过使用列表推导式可以使代码简化了一些

其他(感悟、思考等)

学习python还需常常看一些大神的代码,不能自己写一段实现了功能就草草了事,对于一些题目往往网上有些好的解答可以参考学习,
不要怕麻烦。

参考资料

本次实验无参考资料。