es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo eliminar [ ] y ” de la salida de Python.

Aquí hay un código que imprime el valor de un diccionario en función de la clave. He intentado algunos métodos como .remove(), pero no encuentro una solución buena que no requiera toda una clase para eliminar el diccionario.

Aquí está mi código:

def WriteoutLines(TheDict, choice):

DictValues = TheDict.copy()
Result = TheDict.get(choice)
print(Result)

TheDict = {“pres”: [“el presidente en este momento es”, “Joe Biden”],
“FSUNick”: [“los seminolas”, “inconquistado”],
“class”: [“introducción a Python”]
}
TheKeys = list(TheDict.keys())

Hecho = False
while (not Hecho):
print(“tenemos estas claves”)
for i in range(0, len(TheKeys)):
print(TheKeys[i])
print(“Ingrese zz para terminar el programa o la palabra para la que desea una lista”)
choice = input(“ingrese la cadena que desea escribir”)

if (choice in TheDict.keys()):
    WriteoutLines(TheDict, choice)

elif (choice == "zz"):
    break
else:
    print("La opción no es válida")
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución usando .pop()

    Una posible solución que no requiere una clase completa para eliminar el diccionario es utilizar el método .pop() para eliminar el par clave-valor para la clave especificada, y luego imprimir el valor antes de volver a colocar el par en el diccionario.

    Aquí está el código modificado:

    def EscribirLineas(ElDiccionario, opcion):
        if opcion in ElDiccionario.keys():
            el_valor = ElDiccionario.pop(opcion)
            print(el_valor[0], el_valor[1])
            ElDiccionario[opcion] = el_valor
        else:
            print("La opción no era legal")
    
    
    ElDiccionario = {"pres": ["el Presidente actual es", "Joe Biden"],
               "FSUNick": ["los seminoles", "invictos"],
               "clase": ["Introducción a Python"]}
    
    Listo = False
    while not Listo:
        print("tenemos estas claves:")
        for clave in ElDiccionario.keys():
            print(clave)
        opcion = input("Ingrese la clave para ver la entrada correspondiente (o 'zz' para finalizar el programa): ")
        if opcion == "zz":
            break
        else:
            EscribirLineas(ElDiccionario, opcion)
    

    En este código, la función EscribirLineas() primero verifica si la clave especificada está presente en el diccionario. Si lo está, utiliza .pop() para eliminar el par clave-valor del diccionario y asignarlo a una variable el_valor. Luego, imprime los dos valores del par y vuelve a poner el par en el diccionario usando ElDiccionario[opcion] = el_valor.

    Si la clave especificada no se encuentra en el diccionario, la función imprime un mensaje de error.

    El bucle while en el código principal solicita al usuario una clave y llama a la función EscribirLineas() con esa clave. Si el usuario ingresa ‘zz’, el bucle termina y el programa se cierra.

    Note que en este código, también hice algunas mejoras menores en el código original:

    • cambié el bucle para usar un bucle for-each sobre las claves del diccionario, en lugar de generar una lista de claves y recorrer sus índices
    • eliminé la variable innecesaria DictValues de EscribirLineas()
    • corregí algunos errores de ortografía en los valores del diccionario (mayusculé ‘Introducción’ y corregí ‘invictos’)

Comments are closed.