Los molesto por 2 cosas.
La primera es para que me digan como puedo mostrar las traducciones alineadas:
Incorrecto
Citar
Home Hogar
Almost Casi
Also También
Almost Casi
Also También
Citar
Correcto
Home Hogar
Almost Casi
Also También
Home Hogar
Almost Casi
Also También
Y la segunda para que alguien con mucho pero mucho tiempo me de algún consejo
para mejorar el código(recién me estoy iniciando).-
Las funciones a tener en cuenta son guardar y listado
Código
# -*- coding: utf-8 -*- import os # Traductor Inglés/Español def menu(): borrar_pantalla() listado() while True: registros=cantidad_registros() print("\n ========== Traductor Inglés/Español ==========") print("\n Cantidad de traducciones guardadas...:{} ".format(registros)) print("\n\n --------------- Menú principal ---------------") print(" \n\t 1) Ingresar. \n\t 2) Consultar(visualizar/borrar)." "\n\t 3) Finalizar.") opcion = input("\n\t Elija opción..............: ") if opcion < '1' or opcion > '3': print("\n Por favor, elija una opción válida ") input("\n Pulse [Enter] para continuar...") borrar_pantalla() elif len(opcion) > 1: print("\n Por favor, elija una opción válida ") input("\n Pulse [Enter] para continuar...") borrar_pantalla() else: if opcion == '1': ingreso() elif opcion == '2': registros=cantidad_registros() if registros > 0: consulta() else: print("\n No hay traducciones guardadas para buscar") input("\n Pulse [Enter] para continuar...") borrar_pantalla() if opcion == '3': break def listado(): print("\n ========== Listado de traducciones guardadas. ==========") with open('traductor.txt', 'r') as tra: for linea in tra: print(" ", linea) def ingreso(): borrar_pantalla() while True: ingles = input("\n Ingrese palabra en Inglés.......: ") while len(ingles) == 0: ingles = input("\n Ingrese palabra en Inglés.......: ") espaniol = input("\n Ingrese traducción al Español...: ") while len(espaniol) == 0: espaniol = input("\n Ingrese traducción al Español...: ") arch = input('\n Ingrese "Si" para guardar traducción en disco' '\n otra para descartar.............:') if arch == 'Si': trad = ingles + " " + espaniol +"\n" guardar(trad) else: print("\n La traducción no fue guardada...") seg_salir = input('\n Ingrese "Si" para otra traducción\n' ' Otra para ir al menú..........:') if seg_salir == 'Si': borrar_pantalla() else: menu() break def guardar(trad): f=open("traductor.txt", "a") f.write(trad) f.close() def consulta(): borrar_pantalla() encontrado="" busqueda = input("\n Ingrese consulta (en inglés o español...:) ") with open('traductor.txt', 'r') as tra: for linea in tra: if busqueda in linea: encontrado=linea if len(encontrado) > 0: print("\n Resultado...: {0}".format(encontrado)) print("\n ¿Desea borrar la traducción en pantalla?\n ") opcion = input(" 'Si' para borrar / otra para descartar...: ") if opcion == 'Si': borrar_traduccion(encontrado) else: print("\n La traducción no existe...") input("\n Pulse [Enter] para continuar...") def cantidad_registros(): f = open("traductor.txt","r") f.readline() f.seek(0) cant_registros = len(f.readlines()) f.close() return cant_registros def borrar_traduccion(encontrado): f = open("traductor.txt","r") lineas = f.readlines() f.close() f = open("traductor.txt","w") for linea in lineas: if linea!=encontrado: f.write(linea) f.close() def borrar_pantalla(): if os.name == "posix": os.system ("clear") elif os.name == ("ce", "nt", "dos"): os.system ("cls") def main(): menu() main()
Saludos y gracias.
Daniel