if / else语句中的语法无效

时间:2014-08-09 20:00:46

标签: python if-statement syntax

代码部分用荷兰语(我的母语)编写。该错误与else函数一致。当我运行脚本时,出现错误“invalid syntax”,冒号突出显示为错误原因。

如何解决这个问题?

    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

2 个答案:

答案 0 :(得分:4)

Python有很多空白;缩进表示代码块,而不是其他语言中的{...}

尝试缩进紧跟ifelifelse语句的代码,例如:

    if input("a"):
        Kg + 1

    elif input("b"):
        Kr + 1

    elif input("c"):
        Kb + 1

另请注意,else不应具有与之关联的条件。它仅在未执行ifelif语句的情况下执行。

答案 1 :(得分: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")

这只是一个如何从用户那里获取输入直到输入有效的例子,你必须决定什么是打破循环的最佳方法等。