程序循环:在Python中永远循环某个语句

时间:2014-12-07 05:48:43

标签: python python-2.7 loops infinite-loop nested-loops

我发现其他问题的答案没有帮助

while 1 == 1:
    do = raw_input('What would you like to do?')

在上面的例子中,您可以看到代码是为了永久循环,例如:

if do == 'x':
    print 'y'
elif do == 'z':
    print 'a'

所以这个'如果'声明已经执行,我想要' raw_input'再次进行,以便该人可以输入其他内容,然后程序再次开始。 我不想把整个程序放在一个     虽然是真的: 程序或     而1!= 2: statement.Just干净的语法。 谢谢!

2 个答案:

答案 0 :(得分:2)

通常在满足某个条件之前执行此操作,例如,用户键入q以退出;否则它只是一个无限循环,你需要强制退出整个程序。

请尝试使用此逻辑:

result = raw_input('What would you like to do? Type q to quit: ')

while result.lower() != 'q':
    if result == 'x':
       print 'y'
    if result == 'z':
       print 'a'
    result = raw_input('What would you like to do? Type q to quit: ')
print('Quitting. Good bye!')

答案 1 :(得分:0)

def user_input():

    do = raw_input('What would you like to do?')

    if do == 'x':
        print 'y'
        user_input()

    elif do == 'z':
        print 'a'
        user_input()

    elif do =='quit':
        print 'exiting user input'

    else:
        user_input()

user_input()

上面使用了一些递归调用,并且不如while语句简洁,但如果你想避免使用while,那么它会起作用。