我的代码一直出现随机语法错误!我使用的是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:
任何人都可以帮助我并告诉我这是什么,以及如何解决它?
答案 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: