本文实例讲述了Python实现的简单算术游戏。分享给大家供大家参考。具体实现方法如下:
#!/usr/bin/env python
from operator import add, sub
from random import randint, choice
ops = {\'+\': add, \'-\':sub}
#定义一个字典
MAXTRIES = 2
def doprob():
op = choice(\'+-\')
#用choice从\'+-\'中随意选择操作符
nums = [randint(1,10) for i in range(2)]
#用randint(1,10)随机生成一个1到10的数,随机两次使用range(2)
nums.sort(reverse=True)
#按升序排序
ans = ops[op](*nums)
#利用函数
pr = \'%d %s %d = \' % (nums[0], op, nums[1])
oops = 0
#oops用来计算failure测试,当三次时自动给出答案
while True:
try:
if int(raw_input(pr)) == ans:
print \'correct\'
break
if oops == MAXTRIES:
print \'answer\\n %s%d\' % (pr, ans)
break
else:
print \'incorrect... try again\'
oops += 1
except (KeyboardInterrupt, EOFError, ValueError):
print \'invalid ipnut... 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()
运行结果如下:
8 - 1 = 7 correct Again? [y]y 7 - 1 = 6 correct Again? [y]y 9 + 4 = 0 incorrect... try again 9 + 4 =
希望本文所述对大家的Python程序设计有所帮助。