一个 加减法!小游戏

from operator import add, sub
from random import randint, choice

ops = {'+': add, '-': sub,}
MAXTRLIES = 2

def doprod():
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(input(pr)) == ans:
print('correct')
break
if oops == MAXTRLIES: # 计数器到时,给出值。并让用户输入
print('answer\n%s%f' % (pr, ans))
else:
print('incorrect... tey again') # 输入的值不符合条件,计数器+1
oops += 1
except (EOFError, KeyboardInterrupt, ValueError, KeyError): # 用来保证不会因为用户的输入而导致程序报错。error
print('invalid input... try again')

def main():
while True: # 循环执行 doprod 函数。
doprod()
try:
opt = input('again? [y]').lower() # 当 doprod 函数执行完成。询问是否继续
if opt and opt[0] == 'n':
break
except (KeyboardInterrupt, EOFError): # 控制用户的错误输入。
break


if __name__ == '__main__':
main()
 

转载于:https://www.cnblogs.com/chengege/p/10262199.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值