首页 > 解决方案 > 每次满足条件语句时,如何打印列表的一个(不同)部分?

问题描述

所以我有一个功能,基本上提示用户找到某个预定的数字(76/七十六)。每次做出不正确的猜测时,都会给他们一个提示,然后是再次猜测的选项。对于每个错误的猜测,我希望能够从我的列表中为他们提供不同的提示。这也很棘手,因为我必须有一定数量的提示,所以在列表用完后,应该提示用户在没有指导的情况下再次猜测。我还没有提出我的提示,但这里是代码:

hint_list = ['filler_1','filler_2', 'filler_3', 'filler_4', 'filler_5']

def try_and_respond():
    guess = raw_input('Guess: ')
    if guess.isdigit():
        guess = int(guess)
        correct = guess == 76
    else:
        correct = guess.lower() == 'seventy-six'
    if correct:
        print '\n\033[1;36;40m Fantastic! 76 is correct.'
    elif not correct:
        print '\n\033[1;31;40mIncorrect. Here is a hint: \033[1;30;47m'
        print hint_list[0]
        try_and_respond()

标签: pythonlistpython-2.7loops

解决方案


要循环一组值,通常很容易使用模%运算符。

尝试以下方法:

hint_idx = 0
while True:
    print(hints[hint_idx])
    hint_idx = (hint_idx + 1) % len(hints)

推荐阅读