Python 2 - 如何使脚本转到特定的行?

时间:2012-08-22 17:00:49

标签: python

这是我的last question的扩展,但我想知道是否有可能让脚本返回到特定的行,如果事件发生。

print "Type in 'Hello'"
typed = raw_input("> ")
if typed.lower() in ['hello', 'hi']:
    print "Working"
else:
    print "not working" 

在最后一行,如果'else'发生了,你能不能再次从第2行重启? 非常感谢任何帮助,非常感谢!

3 个答案:

答案 0 :(得分:6)

您可以将代码置于无限循环中,只有输入正确的单词才会退出:

print "Type in 'Hello'"
while True:
    typed = raw_input("> ")
    if typed.lower() in ['hello', 'hi']:
        print "Working"
        break
    else:
        print "not working" 

答案 1 :(得分:3)

您可以让程序处于循环中,直到给出正确的输入

while True: 
    print "Type in 'Hello'"
    typed = raw_input("> ")
    if typed.lower() in ['hello', 'hi']:
        break

答案 2 :(得分:0)

有两种方法可以做到这一点,一种是使用while循环,另一种是使用递归 我之前的两个答案用while循环解决了你的问题,所以我用递归来解决你的问题

def Inp():
    print "Type in 'Hello'"
    typed = raw_input("> ")
    if typed.lower() in ['hello', 'hi']:
       print "Working"
    else:
      print "not working"
      Inp()
Inp()

最后只需调用函数Inp,它将继续要求输入您想要的值