tgindex
Python en español (Principiantes)

Python en español (Principiantes)

Статистика

https://www.facebook.com/groups/912523932450311/

Последний пост
30 авг. 2024 г.
Последнее чтение
14 авг.
Постов за неделю
0
Всего постов
21
Тип
открытый
Язык
испанский
Категория
Технологии
В каталоге с
13 авг.
Подписчики
1 078
0 за 2 дн.
Сутки
0
0,00%
Неделя
 
Месяц
 
Просмотров на пост
2 469
21 постов
Вовлечённость
229,0%
к подписчикам
Постов в день
0,0
всего 21
Упоминаний
0
каналов
Охват размещения
оценка
1/24сутки в ленте
1/48двое суток
1/72трое суток

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • без подписи

  • без подписи

  • без подписи

  • La novela interactiva...mi solución: Tener las páginas en archivos como 1.txt, 2.txt, 3.txt, etcétera Tener un archivo con las opciones.json Iniciar con la página 1, abriendo el archivo 1.txt y mostrarlo. Después, buscar en las opciones la página como key, y mostrar el value, diccionario que contiene una descripción de la elección y la página que deberá abrir. Repetir ...

  • без подписи

  • без подписи

  • https://pastebin.com/u/uclagyl

  • if y+i >= int_lineas or x+i >=int_lineas: break if lst_tabla[y+i][x+i] == "*" or str_letra == lst_tabla[y+i][x+i]: continue break else: lst_disponibles[y][x][7] = 1 # Obtener las coordenadas (y, x, z) de los elementos que son iguales a 1 coordenadas = [(y, x, z) for y, lista in enumerate(lst_disponibles) for x, sublista in enumerate(lista) for z, valor in enumerate(sublista) if valor == 1] while True: try: y,x,z =random.choice(coordenadas) # Obtiene al azar una coordenada y, x de la tabla y z una dirección disponible break except: pass for i,str_letra in enumerate(str_palabra): # Ahora si, según la orientación elegida, se coloca en la tabla if z == 0: lst_tabla[y][x+i] = str_letra # DERECHA elif z == 1: lst_tabla[y][x-i] = str_letra # IZQUIERDA elif z == 2: lst_tabla[y-i][x] = str_letra # ARRIBA elif z == 3: lst_tabla[y+i][x] = str_letra # ABAJO elif z == 4: lst_tabla[y-i][x-i] = str_letra # ARRIBA IZQUIERDA elif z == 5: lst_tabla[y-i][x+i] = str_letra # ARRIBA DERECHA elif z == 6: lst_tabla[y+i][x-i] = str_letra # ABAJO IZQUIERDA elif z == 7: lst_tabla[y+i][x+i] = str_letra # ABAJO DERECHA def fun_coloca_palabras(): """ Función que recorre la lista de palabras y llama a fun_posiciones para acomodarla en la tabla Crea la sopa de letras """ for str_palabra in lst_palabras: fun_posiciones(str_palabra.upper()) # RELLENAR LETRAS POR ASTERISCOS for y in range(int_lineas): for x in range(int_lineas): if lst_tabla[y][x] == "*": lst_tabla[y][x] = random.choice(string.ascii_letters).upper() def fun_imprime_tabla(): """ Imprime la sopa de letras """ for i, lst_ in enumerate(lst_tabla): print(*lst_,f"\t{lst_palabras[i] if i <len(lst_palabras) else ''}") if name == "main": int_lineas = 13 # Tamaño de la tabla # Inicializa Tablero de la sopa de letras con puros * lst_tabla = [ ["*" for i in range(int_lineas)] for i in range(int_lineas) ] # fun_imprime_tabla() lst_palabras = ["LUIS", "ANTONIO", "URBALEJO", "CONTRERAS", "PYTHON", "ESPAÑOL", "PRINCIPIANTES", "FACEBOOK", "GRUPO", "WHATSAPP","TELEGRAM", "DISCO", "computadora"] fun_coloca_palabras() fun_imprime_tabla()

  • # SOPA DE LETRAS import random import string def fun_posiciones(str_palabra): """Función que busca todas las posiciones posibles en que se pueda acomodar una palabra en la tabla de la sopa de letras (lst_tabla) Args: str_palabra (str): Es la palabra a encontrar las posiciones """ # Crear lista de listas de posiciones disponibles para la palabra... # Cada elemento (coordenadas lst[y][x]) se inicializan con la lista [0,0,0,0,0,0,0,0] # Corresponden a NO DISPONIBLEs hacia: [der, izq, arr, aba, arr izq, arr der, aba izq, aba der] lst_disponibles = [ [[0,0,0,0,0,0,0,0] for i in range(int_lineas)] for i in range(int_lineas) ] for y in range(int_lineas): # Barrido de la coordenada y... las líneas de la tabla for x in range(int_lineas): # Barrido de la coordenada x... las columnas de la tabla # Revisar si a partir de lst_tabla[y][x] es disponible str_palabra hacia la DERECHA for i,str_letra in enumerate(str_palabra): # Recorrer palabra, letra por letra if x+i >= int_lineas: break # Si ha llegado al fin de columnas, NO es disponible, termina esa coordenada # Lo que sigue es si en esa casilla hay un * o si la letra es igual a la que ya existe en la tabla, podemos continuar con la sgte letra if lst_tabla[y][x+i] == "*" or str_letra == lst_tabla[y][x+i]: continue break # Si no es * ni es la misma letra entonces NO es disponible y terminamos else: lst_disponibles[y][x][0] = 1 # Si termina el for (recorrió toda la palabra) entonces SI es disponible # Revisar si a partir de lst_tabla[y][x] es disponible hacia la IZQUIERDA for i,str_letra in enumerate(str_palabra): if x-i < 0: break if lst_tabla[y][x-i] == "*" or str_letra == lst_tabla[y][x-i]: continue break else: lst_disponibles[y][x][1] = 1 # Revisar si a partir de lst_tabla[y][x] es disponible str_palabra hacia ARRIBA for i,str_letra in enumerate(str_palabra): if y-i < 0: break if lst_tabla[y-i][x] == "*" or str_letra == lst_tabla[y-i][x]: continue break else: lst_disponibles[y][x][2] = 1 # Revisar si a partir de lst_tabla[y][x] es disponible str_palabra hacia ABAJO for i,str_letra in enumerate(str_palabra): if y+i >= int_lineas: break if lst_tabla[y+i][x] == "*" or str_letra == lst_tabla[y+i][x]: continue break else: lst_disponibles[y][x][3] = 1 # Revisar si a partir de lst_tabla[y][x] es disponible str_palabra hacia ARRIBA IZQUIERDA for i,str_letra in enumerate(str_palabra): if y-i < 0 or x-i <0: break if lst_tabla[y-i][x-i] == "*" or str_letra == lst_tabla[y-i][x-i]: continue break else: lst_disponibles[y][x][4] = 1 # Revisar si a partir de lst_tabla[y][x] es disponible str_palabra hacia ARRIBA DERECHA for i,str_letra in enumerate(str_palabra): if y-i < 0 or x+i >= int_lineas: break if lst_tabla[y-i][x+i] == "*" or str_letra == lst_tabla[y-i][x+i]: continue break else: lst_disponibles[y][x][5] = 1 # Revisar si a partir de lst_tabla[y][x] es disponible str_palabra hacia ABAJO IZQUIERDA for i,str_letra in enumerate(str_palabra): if y+i >= int_lineas or x-i <0: break if lst_tabla[y+i][x-i] == "*" or str_letra == lst_tabla[y+i][x-i]: continue break else: lst_disponibles[y][x][6] = 1 # Revisar si a partir de lst_tabla[y][x] es disponible str_palabra hacia ABAJO DERECHA for i,str_letra in enumerate(str_palabra):

  • SOPA DE LETRAS.... La manera de cómo lo resolvería, creo que sería algo así: - Crear una matriz (lista de listas) lst_tabla, del tamaño definido, pero cada elemento debe ser un espacio, o un asterístico... o cualquier valor que no sea una letra.. ... serán todos * - Las palabras a buscar en una lista lst_palabras - Una función que se pase una palabra de lst_palabras y que recorra toda la lst_tabla elemento por elemento, linea por linea. Buscando todas las posibles posiciones de esa palabra iniciando desde esa posición fila, columna, las llamaré x,y o posx, posy... Tengo que guardar resultados de cada x,y en otra matriz lst_disponibles[ y ][ x ] = [ 1,0, 0, 1, 0, 0, 0, 1 ] que significan True/False de [ der, izq, arr, aba, arr izq, arr der, aba izq, aba, der ] (o cómo quieras interpretar hacia dónde puede "caber" la palabra. Para saber si es disponible, por ejemplo, a la derecha, La palabra será recorrida letra por letra tratando de "ponerla" en la casilla que le corresponda siempre y cuando: 1. Exista la casilla (no sobrepase el límite de la tabla) 2. La casilla tenga un * (o lo que le hayan definido) 3. Si ya hay una letra, debe ser igual a la que le corresponde Será disponible ( 1 ) si termina el barrido de la palabra, de lo contrario ( 0 ) Obtenida la lst_disponibles de ESA PALABRA, tomar una coordenada aleatoria y de esa lista [ 1,0, 0, 1, 0, 0, 0, 1 ] obtener aleatoriamente la dirección disponible ( las que sean 1) y mandarla a otra función que la ponga en lst_tabla - Al final recorrer toda lst_tabla de nuevo y donde vea un * debe poner aleatoriamente una letra del abecedario

  • Pues bien, ya se puede utilizar la función Para el nombre, tener opción de solo letras Para edad, tener un rango para confirmación, aceptar un solo caracter

  • Parte de lo modificado... Si el tipo de retorno es numérico y no se ha capturado nada, pone un valor de 0 Posiblemente cambie ese nombre de variable "str_mensaje" y/o "str_capturado"...

  • modificado fun_input para pasar parámetros de telas a aceptar y teclas a omitir... Si el tipo de retorno es numérico y no tiene definidas teclas aceptar, entonces str_aceptar serán solo números

  • Por cierto, esto es todo lo que hace la función fun_SO_es_windows() Regresar True si se ejecuta en windows

  • Iniciando (de nuevo) la función fun_input... por lo pronto solo hace lo que el input... Le iré añadiendo parámetros como el tipo que debe regresar, valor por defecto, teclas a omitir o aceptar, tiempo de espera, tipo password (*), etcétera Espero les interese, saludos

  • Esto es lo que puede hacer mi función de captura..es más compleja...

  • без подписи

  • без подписи

  • без подписи

  • без подписи