2015-11-03 96 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