为什么这段代码不起作用?没有简单的解释方法。
def main():
while True:
mon = input("What is the month? ( 1 - 12 )")
try:
mon = int(mon)
except ValueError:
print("Try again.")
elif mon > 0 and mon < 13:
break
else:
print("Try again.")
答案 0 :(得分:0)
您应该对代码进行一些更改以使其正常工作。
您应该将else
用作try
/ except
/ else
结构的一部分。同时使用continue
明确表示循环将继续的位置。
您的代码无效,因为if
/ else
条款不能以elif
开头。
这是一个有效的例子:
def main():
while True:
mon = input("What is the month? ( 1 - 12 )")
try:
mon = int(mon)
except ValueError:
print("Try again.")
continue
if mon > 0 and mon < 13:
break
else:
print("Try again.")
return mon