使用此代码,一切都可以正常工作来定义我的颜色。当代码到达break
语句时,代码跳至代码上的except ValueError:
。
我已经遇到过几次这个问题,我知道我可以绕过这个问题,但是我想了解发生的事情仅仅是出于知识的考虑。
我相信这是由于我使用while
循环并试图打破它们以继续执行代码的方式而引起的,但是我仍然对为什么要备份代码感到好奇。
while(1) : #loop for y, continues when y has a valid input
y = input("please enter your y coordinate (1 - 8) or x to exit")
if y == "x" or y == "X": #checks if the user wants to leave the program
exit()
try: #checks to see if the input is valid
y = int(y) - 1
if y >= 0 and y <= 7:
break #leaves the loop if the input is valid
else:
print("ERROR: invalid Y input 1", y)
except ValueError:
print("ERROR: invalid Y input 2", y)
while(1): #loop for color defining, continues with a valid input
color = input("Select your color from R, G, B or W")
color.lower
if "r" or "g" or "b" or "w" in color: #checks user input, if color is one of the set colors it will continue the code
break
elif color == "x":
exit()
我希望代码能脱离第二个while(1)
循环并继续正常进行。
相反,我从except ValueError:
接收打印输出。然后,代码从第一个while
循环继续。