随机Python语法错误?

时间:2013-07-30 22:19:40

标签: python random syntax syntax-error

我的代码一直出现随机语法错误!我使用的是python 3.3.2

def modestart():
modetype = int(input"""Select a Game Mode:
1 - Standard Selection Mode
2 - Ordered Mode
3 - Random Shuffle Mode!
Or press any other key to exit
""")
loop=True
while loop=True:
    try:
        if modetype == 1:
            loop=False
            standard()
        if modetype == 2:
            loop=False
            ordered()
        if modetype == 3:
            loop=False
            shuffle()
        else:
            loop==True
            print("Please select a valid option")
    except ValueError:
        loop=True
        print("Please select a valid option")

语法错误突出显示

上冒号后的整行
if modetype == 2:

任何人都可以帮助我并告诉我这是什么,以及如何解决它?

3 个答案:

答案 0 :(得分:1)

loop=True
while loop=True:

不要这样做。这既是语法错误(您的意思是while loop == True)也是不必要的。只是做

while True:
当你完成循环时,

然后break。请注意,您似乎在整个地方混合分配和等式检查;

    else:
        loop==True

你几乎肯定只是想做loop = True,虽然这显然是不必要的,因为它必须已经True才能到达代码中的那一点。

实际上,我错在那里,但不是有充分理由的。我假设你也犯了一个逻辑错误,第二个和第三个if语句应该是elif语句。如果用户输入“1”,则第一个if块触发,然后代码查看第二个和第三个if块。由于第三个if语句为false,因此该语句的else语句也会触发,这可能不是您想要的。

这是使用break而非'更柔和'循环终止的另一个原因,就像你已经实现的那样。

答案 1 :(得分:0)

while loop=True:应为while loop==True:

我怀疑你甚至没有进入模型类型== 2 ...

答案 2 :(得分:0)

尝试

while loop==True:

或更好,简单

while loop: