首页 > 解决方案 > 如果不是列表中的 x,则与我想要的相反

问题描述

我有一个列表,我想获取该列表的某个元素,为此我使用输入。

因此,如果您看到,我将值保留在 中x,当我输入一个存在于coleccion(我的列表)中的值时,它的作用与我想要它做的相反:它打印'registro no existe'而不是向我显示所有打印。

这是我要修复的代码部分:

elif opt == '2':
        show(coleccion)
        x = int(input('digite el meteorito que desea editar: '))-1
        if x in coleccion:
            print('Nombre: ',coleccion[x]['nombre'])
            print('Pais: ',coleccion[x]['pais'])
            print('Fecha: ',coleccion[x]['fecha'])
            print('Latitud: ',coleccion[x]['lat'])
            print('Longitud: ',coleccion[x]['lng'])
            print('Comentario: ',coleccion[x]['comentarios'])
        elif not x in coleccion:
            print('registro no existe')
            tecla()

标签: pythonpython-3.x

解决方案


根据我的观察,您的代码在某些地方似乎是矛盾的。您的coleccion[x]['nombre']行表明您coleccion是字典列表(即[{"nombre":...},...]),这与您的行相矛盾

x = int(input('digite el meteorito que desea editar: '))-1
if x in coleccion:

设置x为整数。这意味着该x in coleccion语句正在检查一个整数是否在字典列表中,这没有意义。我怀疑这是你错误的原因。干杯:)


推荐阅读