在Python中获取冒号语法错误

时间:2017-12-16 19:08:37

标签: python syntax-error

输入

yourChoice = True

while yourChoice:
    inf_or_ltd = input('Would you like to play infinte or a limited game?: '):
        if inf_or_ltd = ((('Limited') or ('limited')) and (compScore == ('3'))):
            exit = True
            print("You lost, Goodbye")
            break
            time.sleep(1)

为什么冒号的语法无效?我检查了支架平衡和前面的行(这些只是变量和导入几个模块)。它说a limited game?: '):是无效的语法。

1 个答案:

答案 0 :(得分:1)

在Python中,冒号:定义范围块的开头,它在大多数语言中与{基本相同。 但是冒号不够,范围块也需要被认可。标识量取决于父块。

scope1:
    scope2:
        scope3:

一个块在其标识结束时结束,即:

scope1:
    scope1_statement
    scope2:
        scope3:
            scope3_statement
        scope2_statement
    scope1_statement

现在,您何时会创建新的范围块?好吧,当您需要定义新范围时,可以创建它们,例如:

  • 声明新方法(deflambda,...)
  • 声明新的代码分支(if条件,try-catch ...)

在您的方案中,您尝试在语句(指令)之后创建新范围,在这种情况下是赋值 inf_or_ltd = input('...')

Python指令无法创建新的范围块。

您需要将if置于与上述作业相同的标识上;

inf_or_ltd = input('...')
if inf_or_ltd == anything:
     # do something
else:
     # do something else