代码陷入无限循环

2024-04-18 23:30:51 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码片段。它会问你一个等级,当你得到答案时,write is将继续进行,例如,如果你键入light而不是light,那么代码将回到语句的顶部。在

ranks = ['light', 'heavy', 'soldier', 'ninja']

print('what rank do you want')
for rank in ranks:
    print(rank)

def getRank():
    rank = input('please pick a rank!\n')
    if rank in ranks:           
        print("you have chosen", rank)
        return rank

rank = getRank()
while rank is None:
    print('Sorry, that was an invalid command!')
    rank = getRank()

print('well done you have picked your rank')

我已经用A,B和C来做这个,所以当你放进随身携带的时候。在

^{pr2}$

还有C

我的代码是错误的,在你输入答案C后,它会问你第二个问题。 为示例:选择B或C。当选择C时,询问其他人问题。选择A B或C

这是错误的代码。在

^{3}$

我希望你能理解。 谢谢您!在


Tags: 答案代码inyou键入ishave错误
1条回答
网友
1楼 · 发布于 2024-04-18 23:30:51

似乎您的代码将继续循环,因为您的get_question2函数没有返回,所以它运行并且q1_c是None。在

尝试添加回报:

def get_question2():
    q1_c = input('pick A B or C!\n')
    if q1_c in q1s_c:           
        if q1_c == 'a':
            print('bla bla bla')
        return q1s_c

另外,我推荐这个关于如何查询用户输入的惊人答案。它确实有助于避免一些常见的错误并验证你的答案。在

Asking the user for input until they give a valid response

相关问题 更多 >