Skip to main content
 首页 » 编程设计

python之无法弄清楚我的方法有什么问题

2025年05月04日15qq号

我有一个列表/字典,它存储一个与数字相对应的单词,如下所示:

MSG1        3027 
MEMORYSPACE 3036 
NEWLINE     3037 
NEG48       3038 

如果用户输入单词,我的方法会检索一个数字:

def retrieve_data(): 
    insert_data() 
    nb = input('Choose a label: ') 
    for j in data: 
        a=j[0] 
        b=j[1] 
        if a == nb: 
            print(b) 
        else: 
            print('Label not in list!') 

所以我应该只得到 3036 但这是我调用该方法时得到的输出:

Choose a label: MEMORYSPACE 
Label not in list! 
3036 
Label not in list! 
Label not in list! 

知道为什么要这样做吗?谢谢你

请您参考如下方法:

您正在遍历数据中的每个条目,因此它会打印数据中的每个项目。这个问题非常适合字典:

data = {'MSG1': 3027, 'MEMORYSPACE': 3036, 'NEWLINE': 3037, 'NEG48': 3038} 
nb = input('Choose a label: ') 
print(data.get(nb, 'Label not in list!')) 

(根据下面的评论编辑,如果您仍然希望它打印“不在列表中”)