def elim_tema(ruta: str) -> None: """ Función que permite al usuario eliminar un tema. :param ruta: ruta del archivo de temas. """ print(''.center(40, '-')) print(' BORRAR TEMA'.center(40, '-')) print(''.center(40, '-')) print(' Seleccione el tema '.center(40, '-')) print(''.center(40, '-')) print(' Digite 1 si lo quiere borrar '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) # Diccionario de los temas (ver función traer_temas()). temas = traer_temas(ruta) tema = None for llave in temas: if not tema: print(''.center(40, '-')) print(llave.center(40)) print(''.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1' and selec != '': tema = llave if tema is not None: print(''.center(40, '-')) print('Esta seguro de eleminar'.center(40)) print('el tema {}'.center(40).format(tema)) print(''.center(40, '-')) print(' Digite 1 para confirmar '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) sure = input() if sure == '1': print(''.center(40, '-')) print(' El tema {} '.center(40).format(tema)) print(' fue eliminado '.center(40)) print(''.center(40, '-')) temas.pop(tema) temas = json.dumps(temas, indent=3) archivo = open(ruta, "w") archivo.write(temas) archivo.close() print(''.center(40, '-')) print(' Gracias '.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input() while enter != '': print(''.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input()
def jueguelo(ruta: str) -> None: """ Función que ejecuta el juego. :param ruta: ruta del archivo de los temas. """ palabras = list() tem_list = list() print("".center(40, "-")) print(" Digite la cantidad de jugadores ".center(40, "-")) print(" Maximo 10 jugadores ".center(40, "-")) print("".center(40, "-")) num_juga = input() while not valid_jugadores(num_juga): num_juga = input() num_juga = int(num_juga) jugadores = dict() # Ciclo para agregar los nombres de los jugadores por partida. for jugador in range(1, num_juga + 1): mensaje = " Digite el nombre del jugador #{num}".format(num=str(jugador)) print("".center(40, "-")) print(mensaje.center(40, "-")) print("".center(40, "-")) name = input() while name in jugadores: print("".center(40, "-")) print(" Nombre ya ingresado ".center(40, "-")) print("".center(40, "-")) name = input() jugadores[name] = 0 print(' Los jugadores son: '.center(40, '-')) for llave in jugadores: print(llave) # Ciclo para agregar las palabras que se jugaran en la partida. while not palabras: print(' Seleccione los temas a jugar: '.center(40, '-')) print(' Digite 1 si lo quiere elegir '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print('-'.center(40, '-')) temas = traer_temas(ruta) # Ciclo que muestra al usuario todos los temas. for llave in temas: print('-'.center(40, '-')) print(llave) print('-'.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1' and selec != '': tem_list.append(llave) palabras = temas.get(llave) + palabras # Si el usurio no ingreso ningun tema puede salir a inicio. if not palabras: print(' Si quiere salir '.center(40, '-')) print(' Digite enter de lo contrario 1'.center(40, '-')) print('-'.center(40, '-')) salir = input() salir = valid_selec(salir) if salir == '': from app import main exit(main) word = random.choice(palabras) lista_jug = list() for llave in jugadores: lista_jug.append(llave) elimina = list() repetidos = list() jug = len(lista_jug) # Condición para juego de mas de un jugador if len(lista_jug) != 1: jug = len(lista_jug) - 1 # Ciclo: hasta que solo quede un jugador se acabe el juego. while len(elimina) != jug: for jugador in lista_jug: # Condición que funciona para que no me repita el jugador si el juego ya acabo. if not (len(elimina) == jug): # Condición para que no se juegue mas con los jugadores eliminados. if not (jugador in elimina): print(''.center(40, '-')) print(' La palabra es: '.center(40, '-')) print(''.center(40, '-')) print(' {} '.format(word).center(40)) valid = True print(''.center(40, '-')) print('Digite su palabra jugador {} '.format(jugador).center(40)) print(' Si se rinde presione enter '.center(40, '-')) print(''.center(40, '-')) word_2 = input() word_2 = valid_pala(word_2) word_2 = word_2.lower() print(''.center(40, '-')) if not (word_2 == '') and not (word_2 in palabras): # Condiciones que validan la palabra. if not (valid_word(word, word_2)): valid = False if word_2 in repetidos: valid = False if not (word_2 in repetidos) and valid == True: print(''.center(40, '-')) print(' Digite 1, si {} es valida '.format(word_2).center(40)) print(' De lo contrario presione enter '.center(40, '-')) print(''.center(40, '-')) valida = input() valida = valid_selec(valida) if valida == '': valid = False elif valida == '1': save_temas(ruta, tem_list, word_2) elif word_2 == '': valid = False # Si la palabra siguió la dinamica. if valid: repetidos.append(word_2) word = word_2 jugadores[jugador] += contador(word_2) # Si la palabra no sigió la dinamica. else: print(''.center(40, '-')) print(' Jugador {} fue eliminado '.center(40).format(jugador)) print(''.center(40, '-')) elimina.append(jugador) print(''.center(40, '-')) print(' Los puntajes del juego fueron: '.center(40, '-')) print(''.center(40, '-')) for jug, punt in jugadores.items(): print(jug, punt) ganador(jugadores, elimina)
def copiar_exist(ruta: str) -> None: """ Función que permite al usuario agregar mas palabras a un tema ya existente. :param ruta: ruta del archivo de temas. """ print(''.center(40, '-')) print(' COPIAR DE TEMA'.center(40, '-')) print(' EXISTENTE '.center(40, '-')) print(''.center(40, '-')) print(' Seleccione el tema '.center(40, '-')) print(''.center(40, '-')) print(' Digite 1 si lo quiere elegir '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) temas = traer_temas(ruta) tema = None # Ciclo: Hasta que el usuario escoja un tema o salga. while not tema: for llave in temas: # Condición para que no muestre mas temas si # el usuario ya selecciono uno. if not tema: print(''.center(40, '-')) print(llave.center(40)) print(''.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1' and selec != '': tema = llave if not tema: print(''.center(40, '-')) print(' Por favor, seleccione un tema '.center(40, '-')) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si quiere salir presione enter '.center(40, '-')) print(' De lo contrario 1'.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '': tema = 'salir' if tema != 'salir' and tema is not None: print(''.center(40, '-')) print(' Su tema es {} '.center(40).format(tema)) print(''.center(40, '-')) palabras = temas.get(tema) print(''.center(40, '-')) print(' Digite el numero de palabras '.center(40, '-')) print(' a ingresar'.center(40, '-')) print(''.center(40, '-')) num = input() num = valid_num(num) num = int(num) # Ciclo que va hasta el numero entero # de palabras que el usuario digito. for i in range(num): sure = None # Ciclo que va hasta que el usuario # este seguro de su palabra. while sure != '1': print(''.center(40, '-')) print(' Digite su palabra '.center(40, '-')) print(''.center(40, '-')) palabra = input() palabra = valid_pala_2(palabra) while palabra in palabras: print(''.center(40, '-')) print(' Palabra repetida '.center(40, '-')) print(' digite otra'.center(40, '-')) print(''.center(40, '-')) palabra = input() palabra = valid_pala_2(palabra) print(''.center(40, '-')) print(' Su palabra es {} '.center(40).format(palabra)) print(''.center(40, '-')) print(' Si esta seguro de su palabra '.center(40, '-')) print(' digite 1 de lo contrario enter '.center(40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) if sure == '1': palabra = palabra.lower() palabras.append(palabra) temas[tema] = palabras temas = json.dumps(temas, indent=3) archivo = open(ruta, "w") archivo.write(temas) archivo.close() print(''.center(40, '-')) print(' Gracias '.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input() while enter != '': print(''.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input()
def create(ruta: str) -> None: """ Función que permite al usuario crear un tema. :param ruta: ruta del archivo de temas. """ dic_temas = traer_temas(ruta) print(''.center(40, '-')) print(' CREAR TEMA '.center(40, '-')) print(' DESDE CERO '.center(40, '-')) sure = None while sure != '1': name = None while name is None: print(''.center(40, '-')) print(' Digite el nombre de su tema '.center(40, '-')) print(''.center(40, '-')) name = input() name = valid_pala_2(name) name = name.lower() name = name.capitalize() if name in dic_temas: print(''.center(40, '-')) print(' Su tema {} '.center(40).format(name)) print(' Esta repetido '.center(40, '-')) print(' Por favor ingrese otro '.center(40, '-')) print(''.center(40, '-')) else: print(''.center(40, '-')) print(' Su tema es {} '.center(40).format(name)) print(''.center(40, '-')) print(' Si esta seguro del nombre de su tema '.center(40, '-')) print(' digite 1 de lo contrario enter '.center(40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) print(''.center(40, '-')) print(' Digite el numero de palabras '.center(40, '-')) print(' a ingresar '.center(40, '-')) print(''.center(40, '-')) num = input() num = valid_num(num) palabras = list() for i in range(num): sure = None while sure != '1': print(''.center(40, '-')) print(' Digite su palabra '.center(40, '-')) print(''.center(40, '-')) palabra = input() palabra = valid_pala_2(palabra) while palabra in palabras: print(''.center(40, '-')) print(' Palabra repetida '.center(40, '-')) print(' digite otra'.center(40, '-')) print(''.center(40, '-')) palabra = input() palabra = valid_pala_2(palabra) print(''.center(40, '-')) print(' Su palabra es {} '.center(40).format(palabra)) print(''.center(40, '-')) print(' Si esta seguro de su palabra '.center(40, '-')) print(' digite 1 de lo contrario enter '.center(40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) if sure == '1': palabra = palabra.lower() palabras.append(palabra) print(''.center(40, '-')) print(' Gracias '.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input() while enter != '': print(''.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input() dicc = traer_temas(ruta) dicc[name] = palabras dicc = json.dumps(dicc, indent=3) archivo = open(ruta, 'w') archivo.write(dicc) archivo.close()
def add_pala(ruta: str) -> None: """ Función que le permite al usuario agregar palabras a un tema. :param ruta: ruta del archivo de temas. """ print(''.center(40, '-')) print(' AGREGAR'.center(40, '-')) print(' PALABRAS '.center(40, '-')) print(''.center(40, '-')) print(' Seleccione el tema '.center(40, '-')) print(''.center(40, '-')) print(' Digite 1 si lo quiere elegir '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) sure = None temas = traer_temas(ruta) while sure != '1': tema = None while not tema: for llave in temas: if not tema: print(''.center(40, '-')) print(llave.center(40)) print(''.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1' and selec != '': tema = llave if not tema: print(''.center(40, '-')) print(' Por favor, seleccione un tema '.center(40, '-')) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si quiere salir presione enter '.center(40, '-')) print(' De lo contrario 1'.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '': tema = 'salir' sure = '1' if tema != 'salir' and tema is not None: print(''.center(40, '-')) print(' Su tema es {} '.center(40).format(tema)) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si esta seguro de su tema '.center(40, '-')) print(' digite 1 de lo contrario enter '.center(40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) if sure != '': palabras = temas.get(tema) print(''.center(40, '-')) print(' Digite el numero de palabras '.center(40, '-')) print(' a agregar'.center(40, '-')) print(''.center(40, '-')) num = input() num = valid_num(num) # Ciclo para que el usuario ingrese # el numero de palabras que digito. for i in range(num): sure = None # Ciclo que va hasta que el usuario # este seguro de su decisión. while sure != '1': print(''.center(40, '-')) print(' Digite su palabra '.center(40, '-')) print(''.center(40, '-')) palabra = input() palabra = valid_pala_2(palabra) while palabra in palabras: print(''.center(40, '-')) print(' Palabra repetida '.center(40, '-')) print(' digite otra'.center(40, '-')) print(''.center(40, '-')) palabra = input() palabra = valid_pala_2(palabra) print(''.center(40, '-')) print(' Su palabra es {} '.center(40).format( palabra)) print(''.center(40, '-')) print(' Si esta seguro de su palabra '.center( 40, '-')) print(' digite 1 de lo contrario enter '.center( 40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) if sure == '1': palabra = palabra.lower() palabras.append(palabra) temas[tema] = palabras temas = json.dumps(temas, indent=3) archivo = open(ruta, "w") archivo.write(temas) archivo.close() else: tema = None print(''.center(40, '-')) print(' Gracias '.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input() while enter != '': print(''.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input()
def remov_pala(ruta: str) -> None: """ Función que permite al usuario borrar una palabra de cualquier tema. :param ruta: ruta del archivo de temas. """ print(''.center(40, '-')) print(' BORRAR'.center(40, '-')) print(' PALABRAS '.center(40, '-')) print(''.center(40, '-')) print(' Seleccione el tema '.center(40, '-')) print(''.center(40, '-')) print(' Digite 1 si lo quiere elegir '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) sure = None temas = traer_temas(ruta) while sure != '1': tema = None while not tema: for llave in temas: if not tema: print(''.center(40, '-')) print(llave.center(40)) print(''.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1' and selec != '': tema = llave if not tema: print(''.center(40, '-')) print(' Por favor, seleccione un tema '.center(40, '-')) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si quiere salir presione enter '.center(40, '-')) print(' De lo contrario 1'.center(40, '-')) selec = input() selec = valid_selec(selec) # Si el usuario escogió salir. if selec == '': tema = 'salir' sure = '1' if tema != 'salir' and tema is not None: print(''.center(40, '-')) print(' Su tema es {} '.center(40).format(tema)) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si esta seguro de su tema '.center(40, '-')) print(' digite 1 de lo contrario enter '.center(40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) if sure != '': palabras = temas.get(tema) print(''.center(40, '-')) print(' Seleccione la palabra a borrar '.center(40, '-')) print(''.center(40, '-')) print(' Digite 1 si la quiere elegir '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) for palabra in palabras: print(''.center(40, '-')) print(palabra) print(''.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1': palabras.remove(palabra) temas[tema] = palabras temas = json.dumps(temas, indent=3) archivo = open(ruta, "w") archivo.write(temas) archivo.close() else: tema = None print(''.center(40, '-')) print(' Gracias '.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input() while enter != '': print(''.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input()
def edit_pala(ruta: str) -> None: """ Función que permite al usuario editar una palabra de cualquier tema. :param ruta: ruta del archivo de temas. """ print(''.center(40, '-')) print(' EDITAR'.center(40, '-')) print(' PALABRA EXISTENTE '.center(40, '-')) print(''.center(40, '-')) print(' Seleccione el tema '.center(40, '-')) print(''.center(40, '-')) print(' Digite 1 si lo quiere elegir '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) sure = None temas = traer_temas(ruta) while sure != '1': tema = None while not tema: for llave in temas: if not tema: print(''.center(40, '-')) print(llave.center(40)) print(''.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1' and selec != '': tema = llave if not tema: print(''.center(40, '-')) print(' Por favor, seleccione un tema '.center(40, '-')) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si quiere salir presione enter '.center(40, '-')) print(' De lo contrario 1'.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '': tema = 'salir' sure = '1' if tema != 'salir' and tema is not None: print(''.center(40, '-')) print(' Su tema es {} '.center(40).format(tema)) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si esta seguro de su tema '.center(40, '-')) print(' digite 1 de lo contrario enter '.center(40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) if sure != '': palabras = temas.get(tema) print(''.center(40, '-')) print(' Seleccione la palabra a editar '.center(40, '-')) print(''.center(40, '-')) print(' Digite 1 si la quiere elegir '.center(40, '-')) print(' enter de lo contrario '.center(40, '-')) print(''.center(40, '-')) sure = None while sure != '1': word = None # Ciclo que va hasta que el usuario # escoja una palabra. while not word: for palabra in palabras: if not word: print(''.center(40, '-')) print(palabra) print(''.center(40, '-')) selec = input() selec = valid_selec(selec) if selec == '1': word = palabra if not word: print(''.center(40, '-')) print(' Por favor, seleccione una palabra '. center(40, '-')) print(''.center(40, '-')) print(''.center(40, '-')) print(' Su palabra es {} '.center(40).format(word)) print(''.center(40, '-')) print(''.center(40, '-')) print(' Si esta seguro de su palabra '.center(40, '-')) print(' digite 1 de lo contrario enter '.center( 40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) sure = None while sure != '1': print('-'.center(40, '-')) print(' Digite la palabra con '.center(40, '-')) print(' los cambios a realizar '.center(40, '-')) print('-'.center(40, '-')) print(' Digite enter '.center(40, '-')) print(' si no hay cambios '.center(40, '-')) print(''.center(40, '-')) new_pala = input('{}: '.format(word)) if new_pala == '': sure = '1' else: new_pala = valid_pala_2(new_pala) while new_pala in palabras: print(''.center(40, '-')) print(' Palabra repetida '.center(40, '-')) print(' digite otra'.center(40, '-')) print(''.center(40, '-')) new_pala = input() new_pala = valid_pala_2(new_pala) print('-'.center(40, '-')) print(' La palabra editada es {} '.center( 40).format(new_pala)) print(' Si esta seguro de su palabra '.center( 40, '-')) print(' digite 1 de lo contrario enter '.center( 40, '-')) print(''.center(40, '-')) sure = input() sure = valid_selec(sure) if sure == '1': new_pala = new_pala.lower() palabras.append(new_pala) palabras.remove(word) temas[tema] = palabras temas = json.dumps(temas, indent=3) archivo = open(ruta, "w") archivo.write(temas) archivo.close() else: tema = None print(''.center(40, '-')) print(' Gracias '.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input() while enter != '': print(''.center(40, '-')) print(' presione enter para volver '.center(40, '-')) print(''.center(40, '-')) enter = input()