-
-
Save parzibyte/79f82543f9d200c241fba60e580fb416 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
____ _____ _ _ _ | |
| _ \ | __ \ (_) | | | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___ | |
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \ | |
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/ | |
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___| | |
__/ | __/ | | |
|___/ |___/ | |
____________________________________ | |
/ Si necesitas ayuda, contáctame en \ | |
\ https://parzibyte.me / | |
------------------------------------ | |
\ ^__^ | |
\ (oo)\_______ | |
(__)\ )\/\ | |
||----w | | |
|| || | |
Creado por Parzibyte (https://parzibyte.me). | |
------------------------------------------------------------------------------------------------ | |
Si el código es útil para ti, puedes agradecerme siguiéndome: https://parzibyte.me/blog/sigueme/ | |
Y compartiendo mi blog con tus amigos | |
También tengo canal de YouTube: https://www.youtube.com/channel/UCroP4BTWjfM0CkGB6AFUoBg?sub_confirmation=1 | |
------------------------------------------------------------------------------------------------ | |
""" | |
import sqlite3 | |
NOMBRE_BASE_DE_DATOS = "diccionario.db" | |
def obtener_conexion(): | |
return sqlite3.connect(NOMBRE_BASE_DE_DATOS) | |
def crear_tablas(): | |
tablas = [ | |
""" | |
CREATE TABLE IF NOT EXISTS diccionario( | |
id INTEGER PRIMARY KEY AUTOINCREMENT, | |
palabra TEXT NOT NULL, | |
significado TEXT NOT NULL | |
); | |
""" | |
] | |
conexion = obtener_conexion() | |
cursor = conexion.cursor() | |
for tabla in tablas: | |
cursor.execute(tabla) | |
def principal(): | |
crear_tablas() | |
menu = """ | |
a) Agregar nueva palabra | |
b) Editar palabra existente | |
c) Eliminar palabra existente | |
d) Ver listado de palabras | |
e) Buscar significado de palabra | |
f) Salir | |
Elige: """ | |
eleccion = "" | |
while eleccion != "f": | |
eleccion = input(menu) | |
if eleccion == "a": | |
palabra = input("Ingresa la palabra: ") | |
# Comprobar si no existe | |
posible_significado = buscar_significado_palabra(palabra) | |
if posible_significado: | |
print(f"La palabra '{palabra}' ya existe") | |
else: | |
significado = input("Ingresa el significado: ") | |
agregar_palabra(palabra, significado) | |
print("Palabra agregada") | |
if eleccion == "b": | |
palabra = input("Ingresa la palabra que quieres editar: ") | |
nuevo_significado = input("Ingresa el nuevo significado: ") | |
editar_palabra(palabra, nuevo_significado) | |
print("Palabra actualizada") | |
if eleccion == "c": | |
palabra = input("Ingresa la palabra a eliminar: ") | |
eliminar_palabra(palabra) | |
if eleccion == "d": | |
palabras = obtener_palabras() | |
print("=== Lista de palabras ===") | |
for palabra in palabras: | |
# Al leer desde la base de datos se devuelven los datos como arreglo, por | |
# lo que hay que imprimir el primer elemento | |
print(palabra[0]) | |
if eleccion == "e": | |
palabra = input( | |
"Ingresa la palabra de la cual quieres saber el significado: ") | |
significado = buscar_significado_palabra(palabra) | |
if significado: | |
print(f"El significado de '{palabra}' es:\n{significado[0]}") | |
else: | |
print(f"Palabra '{palabra}' no encontrada") | |
def agregar_palabra(palabra, significado): | |
conexion = obtener_conexion() | |
cursor = conexion.cursor() | |
sentencia = "INSERT INTO diccionario(palabra, significado) VALUES (?, ?)" | |
cursor.execute(sentencia, [palabra, significado]) | |
conexion.commit() | |
def editar_palabra(palabra, nuevo_significado): | |
conexion = obtener_conexion() | |
cursor = conexion.cursor() | |
sentencia = "UPDATE diccionario SET significado = ? WHERE palabra = ?" | |
cursor.execute(sentencia, [nuevo_significado, palabra]) | |
conexion.commit() | |
def eliminar_palabra(palabra): | |
conexion = obtener_conexion() | |
cursor = conexion.cursor() | |
sentencia = "DELETE FROM diccionario WHERE palabra = ?" | |
cursor.execute(sentencia, [palabra]) | |
conexion.commit() | |
def obtener_palabras(): | |
conexion = obtener_conexion() | |
cursor = conexion.cursor() | |
consulta = "SELECT palabra FROM diccionario" | |
cursor.execute(consulta) | |
return cursor.fetchall() | |
def buscar_significado_palabra(palabra): | |
conexion = obtener_conexion() | |
cursor = conexion.cursor() | |
consulta = "SELECT significado FROM diccionario WHERE palabra = ?" | |
cursor.execute(consulta, [palabra]) | |
return cursor.fetchone() | |
if __name__ == '__main__': | |
principal() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment