python:错误证明循环

时间:2014-12-27 09:14:04

标签: python-2.7 python-3.x

假设您有运行某个功能的情况,然后询问用户是否要重新运行该功能。如果用户选择重新运行该功能,它将重新运行,然后将再次询问用户是否要重新运行该功能。只要用户说“是”,此过程就会无限延续,如果用户拒绝,则会终止此过程。例如:

def random_function():
    print('the function ran.')

random_function()

random_function()
re_run = input('Re-run random_function? y/n: ')

while ans != 'n' and ans == 'y':
    random_function()
    re_run = input('Re-run random_function? y/n: ')

print('The program will now close.')

此处,用户应该只输入'y'或'n'。但是,在用户输入“y”或“n”以外的内容的情况下,我想返回一条消息,说只有'y'或'n'是可接受的输入,然后提示他们重新输入他们的响应。我知道我应该使用异常,但我无法弄清楚如何使用它们。任何人都可以提出一些见解吗?

1 个答案:

答案 0 :(得分:0)

您不需要使用例外,请参阅下面的代码。

def random_function():
    print 'the function ran.'


    flag=1
    while True:

        if flag:
            random_function()
        re_run = raw_input('Re-run random_function? y/n: ')
        if re_run != 'y' and re_run != 'n':
             print 'Pease use only y or n input'
             flag = 0
        elif re_run == 'n':
             break
        elif re_run == 'y' :
             flag = 1