本程序每次随机产生两个10以内的整数,然后对其进行+-操作,然后对用户输入结果进行判断,用到了operator模块的add,sub
python Document operator
from operator import add,sub
from random import randint,choice
ops={'+':add,'-':sub}
def init():
op=choice('+-')#随机返回序列中的元素
nums=[randint(1,10) for x 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==2:
print('answrer:\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:
init()
try:
opt=input('Again [y/n]?').lower()
if opt and opt[0]=='n':
break
except(KeyboardInterrupt,EOFError):
break
if __name__=='__main__':
main()
下面是字典作为参数调用函数的简单例子
def test(**a):
for x in a:
print(x,':',a[x])
if __name__=='__main__':
a={'x':1,'y':2,'z':3}
test(**a)