2015-11-03 57 views
-3

我试图创建一个随机的数学问题测验,但结肠出现无效的语法。是否由于操作员,我不能使用冒号?如果我把它拿出来,它也被视为无效的语法。Python的无效语法简单的数学程序

这是创建“correct_answer”变量,所以如果在推杆回答用户来说是正确或不正确的是让他们知道的代码。如果需要整个代码(我相信这不会是因为这可能是我错过的很愚蠢的东西),我可以发布它。

if operator==+: 
    correct_answer=random_number1+number2 
elif operator==-: 
    correct_answer=random_number1-number2 
else: 
    correct_answer=random_number1*number2 

全码:

import random 

name=raw_input("Hi what's your name?") 
print "Alrighty lets go, "+name+"!" 

for i in range(10): 
    operator_list=('+','-','x') 
    operator=random.choice(operator_list) 
    random_number1=random.randint(1,12) 
    random_number2=random.randint(1,10) 

question=1 
print random_number1, operator, random_number2 

if operator==+: 
    correct_answer=random_number1+number2 
elif operator==-: 
    correct_answer=random_number1-number2 
else: 
    correct_answer=random_number1*number2 


answer = eval(str(int(raw_input("What is the answer?")))) 


if answer==correct_answer: 
    print "Great job!" 
else: 
    print"Unlucky pal! It was " +correct_answer+ " 
question+1 
+0

'==操作符+'。这看起来不对。没有看到代码的其余部分,我不知道它应该是什么,但这是不对的。 –

+0

给我们更多的代码的,看看那里的用户输入。当然,这是一个语法错误的响应 – 2015-11-03 19:09:51

+0

。你不能只在行尾加上+。那是什么意思?应该是一个字符串? Python在这里应该知道你不是指“尝试添加==和:”或者其他一些废话? –

回答

2

我假设+-都是字符串。如果是这样,你需要引用他们。将代码放在空白处以使其更清晰也是一种很好的做法。

if operator == '+': 
    correct_answer = random_number1 + number2 
elif operator == '-': 
    correct_answer = random_number1 - number2 
else: 
    correct_answer = random_number1 * number2 
+0

@le_wolfl谢谢你,这是需要的语音标记我现在已经完成了,不过谢谢。:) – Basey

2

答案:所需要的只是操作员周围的语音标记。

if operator == "+": 
    correct_answer=random_number1+number2 
elif operator == "-": 
    correct_answer=random_number1-number2 
else: 
    correct_answer=random_number1*number2