当前位置: 首页 > 后端技术 > Python

挑战100+Python项目一:一分钟数学运算

时间:2023-03-26 19:47:54 Python

如何学会Python编程?我认为最好的方法是“边做边学,边玩边学”。只有自己动手做Python项目,才能学以致用,真正掌握这门编程语言,为我所用。编程高手俱乐部发起100+Python项目挑战,代码和文档开源:https://github.com/zhiwehu/10...加油,加油!1分钟数学运算项目需要直接在控制台使用命令行运行程序,倒计时1分钟后结束。随机抽取100以内的2个整数,加减乘除题(除法保证可以整除,但被除数不能为0)每道题,玩家给出答案,然后程序判断是否是对还是错,然后问下一个问题,并显示剩余时间。1分钟后,显示总题数和正确率(正确率精确到小数点后2位),并显示上一题和答案。项目实践格式化字符串输出循环条件判断列表异常处理自定义函数时间工具包随机工具包项目参考代码importtimeimportrandomdefget_divisor(n):'''获取一个n除数的随机整数。:paramn:一个整数:return:数字n'''l=[]foriinrange(1,n+1)的整数除数:ifn%i==0:l.append(i)return随机.choice(l)if__name__=='__main__':ops=['+','-','*','/']start_time=time.time()total=0correct=0questions=[]whiletime.time()-start_time<=60:a=random.randint(1,99)op=random.choice(ops)ifop=='/':#如果是除法,b是一个随机整数除数ofab=get_divisor(a)else:b=random.randint(1,99)#正确答案a_op_b='{}{}{}'.format(a,op,b)c=int(eval(a_op_b))#让用户输入答案try:ans=int(input('{}='.format(a_op_b)))except:ans=''#检查time.time()-start_time<=60:ifc==ans:print('正确!剩余时间为{}秒。'.format(int(60-(time.time()-start_time))))correct=correct+1else:print('错误!剩余时间{}秒。'.format(int(60-(time.time()-start_time))))total=total+1questions.append('{}={}'.format(a_op_b,ans))print('{}question,correctrate{:.2f}%.'.format(total,correct/total*100))forqinquestions:print(q)测试运行将代码保存为1.py,然后在控制台运行:python1.py