我知道我不能用Goto,我知道Goto不是答案。我读过类似的问题,但我就是想不出解决问题的办法。
所以,我在写一个程序,你必须猜一个数字。这是我有问题的部分的摘录:
x = random.randint(0,100)
#I want to put a label here
y = int(raw_input("Guess the number between 1 and 100: "))
if isinstance( y, int ):
while y != x:
if y > x:
y = int(raw_input("Wrong! Try a LOWER number: "))
else:
y = int(raw_input("Wrong! Try a HIGHER number "))
else:
print "Try using a integer number"
#And Here I want to put a kind of "goto label"`
你会怎么做?
Python不支持
goto
或任何等价的东西您应该考虑如何使用python提供的工具构造程序。似乎需要使用循环来完成所需的逻辑。您应该查看control flow page了解更多信息。
在许多其他情况下,您将希望使用function来处理要使用goto语句的逻辑。
有很多方法可以做到这一点,但通常您需要使用循环,您可能需要探索
break
和continue
。以下是一个可能的解决方案:continue
跳到循环的下一个迭代,并且break
完全终止循环。(还要注意,我在try/except中包装了
int(raw_input(...))
,以处理用户未输入整数的情况。在代码中,不输入整数只会导致异常。我也在randint
调用中将0改为1,因为根据您正在打印的文本,您打算选择1到100,而不是0到100。)可以使用无限循环,必要时还可以使用显式中断。
相关问题 更多 >
编程相关推荐