我的代码不断出现随机语法错误!我使用的是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:
有谁能帮我,告诉我这是什么,以及如何修复它吗?
loop=True
while loop=True:
不要这样做。这既是一个语法错误(您指的是while loop == True
),也是不必要的。只做
while True:
循环结束后再进行CCD_ 2。请注意,你似乎把分配和平等检查混为一谈;
else:
loop==True
几乎可以肯定,您只是想执行loop = True
,尽管这显然是不必要的,因为在代码中必须已经是True
才能达到这一点。
事实上,我错了,但理由不充分。我假设您也犯了一个逻辑错误,第二个和第三个if
语句应该是elif
语句。照原样,如果用户输入"1",则第一个if
块会激发,然后代码会查看第二个和第三个if
块。由于第三个if
语句为false,因此该语句的else
语句也会触发,这不可能是您想要的。
这是使用break
而不是像您所实现的那样使用"软"循环终止的另一个原因。
while loop=True:
应为while loop==True:
我怀疑你连modetype==2都没有。。。
尝试
while loop==True:
或者,更好的是,简单的
while loop: