elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Duda en python: comparar resultado de split.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda en python: comparar resultado de split.  (Leído 573 veces)
k41z3r

Desconectado Desconectado

Mensajes: 11



Ver Perfil
Duda en python: comparar resultado de split.
« en: 24 Marzo 2021, 14:55 pm »

Buenas. Lo primero pedir disculpas por una consulta como esta, probablemente es muy fácil de solucionar pero estoy aprendiendo y por más que he usado los buscadores no encuentro la forma correcta de hacerlo.

Tengo una lista, por ejemplo, "LUGARES", y una variable "respuesta" con entrada para el usuario:

Código:
LUGARES = ["casa", "coche", "calle", "campo", "playa", "montaña"]
respuesta = input ("¿Dónde te sientes más cómod@?: ")

Suponiendo que el usuario pueda responder con cualquier combinación de palabras, ¿cómo puedo separar cada palabra y comparar por si UNA (o al menos una) coincide con mi lista "LUGARES"?
(Por si por ejemplo el usuario introduce: "Me siento mejor en la playa", de la comparación por valida).

Leyendo he encontrado el comando split que intuyo que es parte de la respuesta, pero me pierdo a la hora de especificar que es suficiente con que coincida UNO de esos splits y no todos.

¿Alguien puede aclararme la duda? Gracias!!


En línea

Alto, guapo, delgado, inteligente, carismático, deportista y millonario. Así es Keanu Reeves. Yo soy K41z3r.
pery_soy

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda en python: comparar resultado de split.
« Respuesta #1 en: 24 Marzo 2021, 19:52 pm »

Hola!

seria algo asi:
Código:
for i in respuesta.split():
    if i in LUGARES:
        print(f'{i} en LUGARES')

saludos !


En línea

K-YreX


Desconectado Desconectado

Mensajes: 897



Ver Perfil
Re: Duda en python: comparar resultado de split.
« Respuesta #2 en: 24 Marzo 2021, 21:12 pm »

Python puede llegar a ser tan compacto...
Código
  1. palabras = ["casa", "coche", "calle"]
  2. respuesta = input("Escribe una frase con alguna de estas palabras " + str(palabras) + ": ")
  3. valido = any(palabra in respuesta for palabra in palabras)
  4. print("Correcto!!" if valido else "Incorrecto...")
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
k41z3r

Desconectado Desconectado

Mensajes: 11



Ver Perfil
Re: Duda en python: comparar resultado de split.
« Respuesta #3 en: 24 Marzo 2021, 21:53 pm »

Acabo de probar ambas opciones y las dos son interesantes.


Código:
for i in respuesta.split():
    if i in LUGARES:
        print(f'{i} en LUGARES')
Esta me devuelve como valor de "i" un string exacto a la palabra repetida.


Código
  1. palabras = ["casa", "coche", "calle"]
  2. respuesta = input("Escribe una frase con alguna de estas palabras " + str(palabras) + ": ")
  3. valido = any(palabra in respuesta for palabra in palabras)
  4. print("Correcto!!" if valido else "Incorrecto...")
Y esta me devuelve un booleano con valor "True" para la variable "valido".

Dos formas diferentes de conseguir mi propósito ;-) Gracias a ambos!!
En línea

Alto, guapo, delgado, inteligente, carismático, deportista y millonario. Así es Keanu Reeves. Yo soy K41z3r.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Comparar listas de palabras
Scripting
Meta 3 13,640 Último mensaje 16 Noviembre 2010, 14:03 pm
por Novlucker
Ayuda con split [Python]
Scripting
Ricardo95 1 5,117 Último mensaje 7 Diciembre 2010, 12:19 pm
por xassiz~
[Python] Evolución y resultado de un programa
Scripting
thestrass 3 2,013 Último mensaje 11 Enero 2012, 18:00 pm
por D4RIO
[Duda] Como podría comparar 2 cadenas en Python
Scripting
Proxmond 2 14,820 Último mensaje 14 Julio 2014, 03:58 am
por Proxmond
Imprimir resultado Python
Scripting
krystiag 0 1,088 Último mensaje 29 Noviembre 2016, 19:19 pm
por krystiag
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines