【问题标题】:Invalid syntax in if/else statementif/else 语句中的语法无效
【发布时间】:2014-08-09 20:00:46
【问题描述】:

代码部分是用荷兰语(我的母语)编写的。该错误与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

【问题讨论】:

    标签: python if-statement syntax


    【解决方案1】:

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

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

        if input("a"):
            Kg + 1
    
        elif input("b"):
            Kr + 1
    
        elif input("c"):
            Kb + 1
    

    还要注意else 不应该有与之关联的条件。只有在ifelif 语句未执行时才会执行。

    【讨论】:

      【解决方案2】:

      您需要elif's+=

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

      Kg + 1 etc.. 实际上什么都不做

      我也会使用以下逻辑,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")
      

      这只是一个示例,说明如何在输入有效之前从用户那里获取输入,您必须决定什么是打破循环的最佳方法等。

      【讨论】:

        最近更新 更多