我是新手,无法处理以下代码。
选择
如果:(声明为假)
moves to elif statement
elif :(声明为假)
moves to else statement
else :(我希望循环返回到选择项,然后重试if和 elif语句
我尝试了一些不同的缩进,但我确定我缺少其他东西来重新触发循环。
答案 0 :(得分:2)
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()
答案 1 :(得分:2)
我相信您正在寻找一个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
答案 2 :(得分:0)
while True:
if condition_one:
pass
elif condition_two:
pass
else:
continue
break
答案 3 :(得分:0)
您可以尝试将条件块放入函数中,然后针对else条件再次调用该函数:
def conditionCheck():
if (...):
#do stuff
elif (...):
#do stuff
else:
conditionCheck()