在While循环python中返回“错误”

时间:2018-07-16 15:15:06

标签: python python-3.x loops

我是python的新手,希望有人能帮助我解决这个问题。

这是代码:

uninput1=input('> ')
    while True:
        if 'existing' in uninput1 or 'existing file' in uninput1:
            print ('Please enter the directory of your file.')
            dirfile=input('> ')
            print (space)
            time.sleep(1)
            print ('Now enter the name of your file.')
            nmfile=input('> ')
            print (space)
            time.sleep(1)
            txtmod.existing(dirfile, nmfile)

        elif 'new' in uninput1 or 'create' in uninput1:
            print ('Please enter the directory where you want to create your file.')
            dirfile=input('> ')
            print (space)
            time.sleep(1)
            print ('Now enter the name you want to give to your file.')
            nmfile=input('> ')
            print (space)
            time.sleep(1)
            txtmod.newfile(dirfile, nmfile)


        else:
            print ('Error! Please Try again')

我想做的是当用户键入某个东西并重新启动循环时返回一个错误。但是发生的是,与其重新启动循环,它永远显示我的“错误”。有人可以帮忙吗?

我不知道这是否有意义,但我希望对某人有用。

1 个答案:

答案 0 :(得分:3)

查看输入内容:

uninput1=input('> ')
while True:
    ...

如您所见,您的输入位于循环的外部-因此,当循环重复时,它永远不会被激活。解决方案就是将其移动到循环中:

while True:
    uninput1=input('> ')
    if ...
    ...