对于我正在学习的python类,我必须创建一个简单的菜单来执行一些操作,其中之一是根据等级打印出所有球员的球衣号码和等级。当用户从菜单中选择“ r”时,应该能够输入一个等级,然后程序将打印出所有等于或大于用户输入的等级的球衣号码和等级。我以为我已经弄清楚了,但是我似乎无法使它正常工作。关于我在这里出错的任何想法?
chroot
答案 0 :(得分:1)
用户输入的值将打印出高于该值的等级。在您的代码中,该值称为above
。
因此,如果您的代码应该是
if value >= above:
而不是if above >= value:
另外,请注意缩进,在我看来,您希望if块位于while循环内。
答案 1 :(得分:1)
您的问题并没有真正说明您面临的困难是什么,或者如果程序完全崩溃,则该程序如何崩溃。但是我注意到的一件事是您所打印的等级小于或等于提供的等级...不大于或等于该等级。
所以这个
signed char
应替换为
if above >= value:
如果问题与此不同,请回击并提供更多有关您所面临问题的解释,我很乐意提供帮助
答案 2 :(得分:0)
elif sel == 'r':
above = int(input("Enter a rating: "))
for key, value in roster.items():
if above <= value:
print('Jersey number: ', key, 'Player rating: ', value)
这修复了代码。谢谢@Doodle Dee