Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[Consulta] Error al leer lista de listas
#1
Hola. Tengo una lista de listas, estas listas contienen colores, paises y animales. A medida que el usuario va ingresando las palabras si la palabra esta devuelve 10 caso contrario -10. El problema lo tengo en que cuando el usuario ingresa la palabra lo busca en TODAS las listas y yo solo quiero que busque en cada lista por separado


palabraUsuario =input("ingrese una palabra")

listaDeTodo=[coloreslista,paiseslista,animaleslista]

def esCorrecta(palabraUsuario,listaDeTodo):

if palabraUsuario in listaDeTodo[0]:
return 10
if palabraUsuario in listaDeTodo[1]:
return 10
if palabraUsuario in listaDeTodo[2]:
return 10
else:
return -10
Responder
#2
Hola, bienvenido.

No entiendo bien qué es lo que querés que haga tu función. Ahí está buscando en cada una de las listas (coloreslista, paiseslista y animaleslista), ¿no es ese el objetivo? ¿Qué significa "cada lista por separado"?

Saludos

PD: Considerá pegar el código entre las etiquetas [ code] y [/ code] (sin espacios) para que no se pierda la tabulación.
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
(10-06-2020, 10:17 PM)Francisco escribió: Hola, bienvenido.

No entiendo bien qué es lo que querés que haga tu función. Ahí está buscando en cada una de las listas (coloreslista, paiseslista y animaleslista), ¿no es ese el objetivo? ¿Qué significa "cada lista por separado"?

Saludos

PD: Considerá pegar el código entre las etiquetas [ code] y [/ code] (sin espacios) para que no se pierda la tabulación.
Hola francisco como te va disculpa si no me exprese de la forma correcta es la primera vez que hago un post y pido ayuda pero la verdad es que estoy muy frustrado estoy estancado hace 3 semanas y no logro encontrar la forma de recorrer correctamente el codigo, desde ya te agradezco el interes

El trabajo consiste en implementar un juego para entrenarse en el TutiFruti. La idea es que el jugador o jugadora mejore sus tiempos y aprenda nuevas palabras para que cuando enfrente a sus amigos y amigas logre sorprenderles. En pantalla aparece una letra y un item, por ejemplo ”V” y ”Colores” entonces el jugador debe escribir un color que empiece con dicha letra, en este caso podrıa ser ”violeta”. 

Reglas del Juego
Apareceran en pantalla una letra y un item, el jugador va eligiendo los nombres, paıses, animales, etc y al finalizar el juego se muestran sus elecciones y una eleccion correcta que hizo la computadora.

Lo que ya esta implementado
El juego actualmente consta de un archivo con el programa principal. Este se encarga de capturar la entrada del teclado, llevar la cuenta de los puntos y del tiempo, ası como tambien de dibujar en la pantalla. El programa principal cuenta tambien con: Tres listas, una con colores, otra con paıses y otra con animales. Otra lista con los nombres de estos items y una lista de listas llamada listaDeTodo que contiene como primer elemento la lista de colores, luego la de paıses y por ultimo la lista de animales. Podrıa ser de esta manera por ejemplo: [[“azul”, “celeste”,“marron”],[“argentina”,“uruguay”,“venezuela”,“brasil”], [“mono”,“jirafa”,“marmota”,“mula”] Para la mayorıa de estas tareas, el programa hace uso de una biblioteca de codigo llamada PyGame. Una biblioteca de codigo es un conjunto de subprogramas utilizados para desarrollar software. En particular PyGame es una biblioteca especialmente disen˜ada para el desarrollo de juegos interactivos en Python.
La posici´on (0,0) de la pantalla es el v´ertice superior izquierdo, las x crecen hacia la derecha y las y crecen hacia abajo.
Lo que falta implementar
Aun faltan implementar las funciones del archivo funciones.py. Estas funciones son utilizadas desde el programa principal.
La funcion unaAlAzar(lista): recibe una lista, el abecedario por ejemplo, y devuelve una letra al azar.
La funcion esCorrecta(palabraUsuario, letra, item, items, listaDeTodo) recibe una palabra, una letra, un item, la lista de items y la listaDeTodo, y devuelve un puntaje positivo si la palabra es correcta y uno negativo en caso contrario. Se considera correcta solo si la palabra aparece en el item correcto y empieza con la letra correcta.
La funcion juegaCompu(letraAzar, listaDeTodo) dada una letra y la lista de listas devuelve una lista con una palabra al azar de cada item que empiece con esa letra, en caso de no tener palabra para algu´n item devolver´a una cadena vac´ıa en esa posici´on de la lista. por ejemplo: si la letra es ”m” la lista de items=[[“azul”, “celeste”,“marron”],[“argentina”,“uruguay”,“venezuela”,“brasil”], [“mono”,“jirafa”,“marmota”,“mula”] entonces podrıa devolver [“marron”, “”,“mono”]

cuando observes la funcion:

def unaAlAzar(lista):
le = random.choice(lista)
return "a"

tendria que retornar la variable le, pero la modifque por a para poder ir testeando las palabras si no tenia que estar esperando que me retorne alguna letra consecutiva
Responder
#4
Hola. Entiendo tu frustración, pero va a ser más fácil resolver tu problema si podés aislarlo para comunicarlo. O sea, que puedas crear un código para pegar acá que nosotros podamos probar (no pegar todo el código de tu programa), y nos digás qué no está haciendo el código que vos esperarías que haga, o bien dónde tenés el problema en particular.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)