永发信息网

懂python的帮忙看看这个简单的程序是哪里错了呢?

答案:2  悬赏:30  手机版
解决时间 2021-12-24 13:21
#!/usr/bin/env python from operator import add, sub from random import randint, choice ops = {'+':add,'-':sub} MAXTRIES = 2 def doprob(): op = choice('+-') nums = [randint(1,10) for i in range(2)] nums.sort(reverse = True) ans = ops[op](*nums) pr = '%d %s %d = ' % (num[0],op,nums[1]) oops = 0 while True: try: if int(raw_input(pr)) == ans: print 'correct' break if oops == MAXTRIES: print 'answer \n%s%d' %(pr,ans) else: print 'incorrect... try again' oops += 1 except (KeyboardInterrupt,EOFError,ValueError): print 'invalid input... try again' def main(): while True: doprob() try: opt = raw_input('Again? [y]').lower() if opt and opt[0] == 'n': break except (KeyboardInterrupt,EOFError): break if __name__ == '__main__': main()
最佳答案
from operator import add, sub from random import randint, choice ops = {'+':add,'-':sub} MAXTRIES = 2 def doprob(): op = choice('+-') nums = [randint(1,10) for i in range(2)] nums.sort(reverse = True) ans = ops[op](*nums) pr = '%d %s %d = ' % ( nums[0], op,nums[1]) oops = 0 while True: try: if int(raw_input(pr)) == ans: print 'correct' break if oops == MAXTRIES: print 'answer \n%s%d' %(pr,ans) else: print 'incorrect... try again' oops += 1 except (KeyboardInterrupt,EOFError,ValueError): print 'invalid input... try again' def main(): while True: doprob() try: opt = raw_input('Again? [y]').lower() if opt and opt[0] == 'n': break except (KeyboardInterrupt,EOFError): break if __name__ == '__main__': main() ---------------------------------------------------- 第一个加粗处,变量写错了,改一下就好 第二个加粗处,你缩进错了,break要终止一个循环才合法,你缩进错了,就导致break找不到它要终止的循环。

采纳哦
全部回答
界面设计有一个基本原则,同样适用于tkinter,也就是说界面是单线程的。所以界面的所有事件,如果特别是耗时,不能几毫秒解决。就需要交给后台线程去做。后台线程做完了后就将结果放在一个变量里,再通常消息通知界面刷新。这样界面就不会卡住了。 doevents的原理是。强制停下当前线程,然后处处理一下窗口消息队列里的事件。不过有时候这个方法并不灵,也会出现界面卡死。 所以你绑定了事件,然后触发成功,也执行了。不过你执行的这段代码一直在循环运行,没有很快退出,这样界面当然就没有办法刷新了。 你可以启动一个线程去做你的那件事情。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
学习zbrush用的手绘板,
美团app怎么添加收货地址
什么的落叶
你好,昨天我路过一个手机店,里面的人走出来
小强已经长大了,看见妈妈非常辛苦,就尝试着
雪纺衫搭配什么裤子
可以帮我下载QQ音乐里虹之间的MV吗?
新股申购怎么才算成功
单选题NA为阿伏加德罗常数,下列说法正确的是A
我问一下,战舰世界怎么升级研发
候机室英语怎么说
2014年出生的是啥命?
幼儿园小朋友舞蹈考级需要什么条件
辣椒种植的基本方法
我在无意间把我的三星手机弄成黑白反色画面了
推荐资讯
汽车隔音改装多少钱
怎么查社保卡办理进度
谁知道打屁股的动画(要具体几集)
求推荐一些能体现日本文化特色的日本电影,比
贝舒乐纸尿裤多少钱
沭阳到泗县多少公里
进入2013年,世界发达经济体竞相货币放水,推
口算:5.6×8=0.97-0.7=7.2+2.6=0.38÷2=8.1
冲锋衣怎么选择
公司计划明年上ERP,现在不知道是自己开发合
无梁殿工商所地址有知道的么?有点事想过去!
清平供电所(中国南方电网王子树营业点)办公位
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?