1

这是对我上一个问题的一种扩展,但我想知道如果发生事件,是否可以让脚本返回到特定行。

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

在最后一行,如果“else”发生,你可以让它再次从第 2 行重新开始吗?任何帮助将不胜感激,非常感谢!

4

3 回答 3

6

你可以把你的代码放在一个无限循环中,只有在输入正确的单词时才会退出:

print "Type in 'Hello'"
while True:
    typed = raw_input("> ")
    if typed.lower() in ['hello', 'hi']:
        print "Working"
        break
    else:
        print "not working" 
于 2012-08-22T17:04:39.583 回答
3

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

while True: 
    print "Type in 'Hello'"
    typed = raw_input("> ")
    if typed.lower() in ['hello', 'hi']:
        break
于 2012-08-22T17:04:07.170 回答
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,它将继续要求输入您想要的值

于 2012-08-22T17:50:10.600 回答