import random
import math
import operator
def questions():
# Gets the name of the user
name= input("What is your name")
for i in range(10):
#Generates the questions
number1 = random.randint(0,100)
number2 = random.randint(1,10)
#Creates a Dictionary with the symbols as the keys and the opertations as the values
Operands ={'+':operator.add,
'-':operator.sub,
'*':operator.mul,
'/':operator.truediv}
#Creast a list containing a tuple which contains the dictionary keys
Ops= random.choice(list(Operands.keys()))
# Makes the Answer variable availabe to the whole program for later use
global answer
# Gets the answer
answer= Operands.get(Ops)(number1,number2) # Returns a value for the given key
# Makes the Sum variable avialbe to the whole program for later use
global Sum
# Ask the user the question
Sum = ('What is {} {} {} {}?'.format(number1,Ops,number2,name))
print (Sum)
while True:
try:
global UserAnswer # Makes the UserAnswer varialbe availbe to the whole program for later use
UserAnswer= float(input()) # Convertss the input into a floating number that can be operated
break
except ValueError:
print(" Oops! That was not a valid number. Try again..." )
return answer
def askQuestion():
answer =questions()
guess = UserAnswer
return guess == answer
def score():
score = 0
for i in range(10):
correct= questions()
if UserAnswer == answer :
score =score + l1
print("You got it right \n ")
else:
print("You got it wrong \n")
print("You got {} out of 10 \n".format(score))
ok= True
while ok== True:
questions()
score()
WhichClass(name,score)
ask=(input("Another ? "))
if ask in ('y','yes','Y'):
ok=True
else:
ok=False
我已经编写了一个快速生成的程序。如果需要,我已经添加了一个True循环来再次运行程序。但是,当我运行该程序时,我收到以下错误:
What is 93 - 3?
90
Traceback (most recent call last):
File "/Users/Family/Google Drive/V4.4.py", line 114, in <module>
score()
TypeError: 'int' object is not callable
导致我的错误的原因。