2015-11-03 3 views
-3

Я пытаюсь создать опрос вопросов по математической задаче, но двоеточие появляется как недопустимый синтаксис. Это из-за оператора, я не могу использовать двоеточие? Если я его выдержу, это также рассматривается как недопустимый синтаксис.Python Недопустимый синтаксис в простой программе Maths

Это код для создания переменной «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

'operator == +'. Это выглядит неправильно. Я не знаю, как это должно быть, не видя остальной части вашего кода, но это неправильно. –

+0

Дайте нам больше вашего кода, чтобы узнать, где пользователь вводит ответ –

+0

Конечно, это синтаксическая ошибка. Вы не можете просто положить a + в конец строки. Что это должно означать? Должна быть строка? Как 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 
Смежные вопросы