我该怎么做才能让我的代码返回迭代?
list_ = [3,'yes',True]
for x in range(len(list_)):
print('What is the next item in the list?')
answer = input()
if answer = list_[x]:
print('Good job!')
else:
print('Nope! Try again.')
在代码的最后一部分('else'语句),我如何让它再次遍历for循环的相同迭代,以便用户可以再试一次?
答案 0 :(得分:1)
您本身无法重复迭代。你可以做的是循环提示,直到你得到正确的答案。
for x in range(len(list_)):
while True:
print('What is the next item in the list?')
answer = input()
if answer == list_[x]:
print('Good job!')
break
else:
print('Nope! Try again.')
顺便说一下,循环遍历列表的索引是不必要的,至少在这个示例代码中没有。直接遍历列表项是更惯用的。
for x in list_:
while True:
print('What is the next item in the list?')
answer = input()
if answer == x:
print('Good job!')
break
else:
print('Nope! Try again.')
答案 1 :(得分:0)
如果你不想要一个while循环,你可以在一个带有标志的方法中定义你的循环,如果答案不正确,它将再次调用自己。虽然while循环可能是处理这个问题的更好方法。
def askQuestions():
list_ = [3,'yes',True]
allcorrect = True
for x in range(len(list_)):
print('What is the next item in the list?')
answer = input()
if answer == list_[x]:
print('Good job!')
else:
print('Nope! Try again.')
allcorrect = False
break
if not allcorrect:
askQuestions()
askQuestions()