Python 按值打印字典键和值

Python 按值打印字典键和值,python,python-3.x,list,dictionary,menu,Python,Python 3.x,List,Dictionary,Menu,对于我正在学习的python类,我必须创建一个简单的菜单来做一些事情,其中之一就是根据评级打印出所有球员的球衣号码和评级。当用户从菜单中选择“r”时,用户应该能够输入评级,然后程序将打印出所有等于或大于用户输入评级的球衣号码和评级。我以为我已经弄明白了,但我似乎无法让它发挥作用。你知道我哪里出错了吗 roster = {} for i in range(5): x = int(input("Enter player number (0-99): ")) y = int(inpu

对于我正在学习的python类,我必须创建一个简单的菜单来做一些事情,其中之一就是根据评级打印出所有球员的球衣号码和评级。当用户从菜单中选择“r”时,用户应该能够输入评级,然后程序将打印出所有等于或大于用户输入评级的球衣号码和评级。我以为我已经弄明白了,但我似乎无法让它发挥作用。你知道我哪里出错了吗

roster = {}

for i in range(5):
    x = int(input("Enter player number (0-99): "))
    y = int(input("Enter player rating: "))
    roster[x] = y

for i in sorted(roster):
    print('Jersey number:', i, 'Player rating:', roster[i])

sel = 'z'

while sel != 'q':

    sel = input("MENU: \na - Add Player\nd - Remove Player\nu - Update 
    Player Rating\n"
            "r - Output Players Above A Rating\no - Output Roster\nq - 
    Quit\n")

    if sel == 'a':
        x = int(input("Enter player number (0-99): "))
        y = int(input("Enter player rating: "))
        roster[x] = y
    elif sel == 'o':
        for i in sorted(roster):
            print('Jersey number:', i, 'Player rating:', roster[i])
    elif sel == 'd':
        delete = int(input("Enter jersey number to be deleted: "))
        del roster[delete]
    elif sel == 'u':
        update = int(input("Enter jersey number to be updated: "))
        change = int(input("Enter new player rating: "))
        roster[update] = change
    elif sel == 'r':
        above = int(input("Enter a rating: "))
        for key, value in roster.items():
            if above >= value:
                print(key)
    elif sel == 'q':
        print("Thanks for using the program")
    else:
        continue

用户输入值,我们打印出高于该值的评级。在您的代码中,此值称为上面的

因此,如果您的代码

如果值>=高于:
而不是
如果高于>=值:


另外,请注意indentatin,在我看来,您希望if块位于while循环中。

您的问题并没有详细说明您面临的困难,或者如果程序崩溃了,它是如何崩溃的。但我注意到的一件事是,您正在打印小于或等于所提供评级的评级。。。不高于或等于额定值

那么这个

if above >= value:
应替换为

if above <= value:
如果高于
elif sel==“r”:
高于=整数(输入(“输入评级:”)
对于键,花名册中的值。项()

如果上面的if块在while循环中,格式就搞乱了,复制并粘贴到这里,我看到了,我已经修复了缩进,一旦编辑被批准,你应该会看到它。
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)