2014-08-09 5 views
-3

Код написан частично на голландском языке (на моем родном языке). Ошибка находится в строке с функцией else. Когда я запускаю сценарий, появляется ошибка «недопустимый синтаксис», а двоеточие подсвечивается как причина ошибки.Недопустимый синтаксис в инструкции if/else

Как это исправить?

print("welke kleur ben jij?") 

    Kr = 0 
    Kg = 0 
    Kb = 0 
    Kg = 0 

    print("vraag 1: \n Als je een auto zou kopen welke auto word het dan? 
    \n A, een Lamborghini \n B, een Ferrari \n C, een Jaguar \n D, een lada       
    natuurlijk! ") 
    if input("a"): 
Kg + 1 

    elif input("b"): 
Kr + 1 

    else: input("c"): 
Kb + 1 

ответ

4

У Python есть значительные пробелы; отступ обозначает блоки кода, а не {...} на некоторых других языках.

Попробуйте отступы код, который непосредственно следует за заявления if, elif и else и т.д .:

if input("a"): 
     Kg + 1 

    elif input("b"): 
     Kr + 1 

    elif input("c"): 
     Kb + 1 

Заметим также, что else не должны иметь состояние, связанное с ним. Он выполняется только в том случае, если операторы if и elif не выполняются.

2

Вам нужно elif's, а также +=:

Kg + 1 # should be `+=` which is the same as doing kg = kg + 1 

Kg + 1 и т.д .. на самом деле ничего не делает

Я хотел бы также использовать следующую логику, if input("a") и т.д .. опять же на самом деле не делать то, что вы думаете:

inp = input() # get the input 

if inp == "a": # check the input value 
    Kg += 1 
elif inp == "b": 
    Kr += 1  
elif inp == "c": 
    Kb += 1 

Вы, вероятно, хотите, всего в while loop:

print("welke kleur ben jij?") 

Kr = 0 
Kg = 0 
Kb = 0 
Kg = 0 

print("vraag 1: \n Als je een auto zou kopen welke auto word het dan?\n A, een Lamborghini \n B, een Ferrari \n C, een Jaguar \n D, een lada natuurlijk! ") 

while True: 
    inp = input("Please choose a, b or c") 
    if inp == "a": 
     Kg += 1 
     break # break out of the loop 
    elif input("b"): 
     Kr += 1 
     break 
    elif input("c"): 
     Kb += 1 
     break 
    else: # user did not input any correct value 
     print("Invalid input, try again") 

Это просто пример того, как принимать данные от пользователя, пока вход не является действительным, вы должны решить, что лучший способ разорвать петлю и т.д ...

Смежные вопросы