繁体   English   中英

我如何获得if elif else语句重新启动

[英]How do I get an if elif else statement to restart

我是新手,无法处理以下代码。

选择

如果:(陈述为假)

  moves to elif statement

elif :(陈述为假)

  moves to else statement

else :(我希望循环返回到选择项,以重试if和elif语句

我尝试了一些不同的缩进等等,但是我确定我缺少其他东西来重新触发循环。

if不是循环,则是有条件的。 因此,没有循环供您重新启动。

while是一个循环。 (有些其他程序的功能略有不同。)它不能像if一样分支,它只是循环。

如果需要循环决策,请将if放在while 没有一个单一的语句可以做所有事情。

while True:    # repeats forever
    feedback = get_user_feedback()
    if feedback_is_this_way(feedback):
        go_this_way()
    elif feedback_is_that_way(feedback):
        go_that_way()
    elif feedback_says_user_is_sick_and_tired(feedback):
        apologise_to_user()
        break    # exits the loop
    else:
        tell_the_user_not_to_mess_around()

我相信您正在寻找一个while循环。 对于此示例,代码将在顶部继续,直到用户输入exit为止。

while True:
    item = input('Enter text: ')
    if item == 'banana':
        print('You entered: {}'.format(item))
    elif item == 'apple':
        print('You entered: {}'.format(item))
    elif item == 'cherry':
        print('You entered: {}'.format(item))
    elif item == 'exit':
        break
    else:
        print('You did not enter a fruit, try again!')

一些示例输出

Enter text: banana
You entered: banana
Enter text: apple
You entered: apple
Enter text: cherry
You entered: cherry
Enter text: exit
while True:
    if condition_one:
       pass
    elif condition_two:
       pass
    else:
        continue
    break

您可以尝试将条件块放入函数中,然后针对else条件再次调用该函数:

def conditionCheck():
    if (...):
        #do stuff
    elif (...):
        #do stuff
    else:
        conditionCheck()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM