Quantcast
Channel: Reconocer palabras en python - Stack Overflow en español
Viewing all articles
Browse latest Browse all 2

Respuesta de Power en Reconocer palabras en python

$
0
0

Primero, hagamos un análisis:

El problema dice que el niño escribirá una palabra que represente un numero, y esta palabra tendrá como maximo una letra equivocada, por lo cual podemos deducir, que siempre habrá dos letras que sean correctas en la palabra.

Aplicando esto, podemos dividir la entrada de texto en una lista que contenga sus letras, por ejemplo:

entrada = 'too'division = ['t','o','o']

y comparar las letras de esta división con las letras de un numero original, por ejemplo "two":

O sea comparar ['t','o','o'] con ['t','w','o'].

Como siempre habrán dos letras que sean iguales, si el numero de coincidencias es igual a dos, entonces, en este caso, la palabra escrita por el niño corresponde a 2, en caso contrario, por descarte, es 1. De tener mas digitos es 3

Aplicandolo a codigo seria:

texto = str(input("Tu numero es: "))texto_dividido = []for i in texto:  # Aca se divide la frase en letras    texto_dividido.append(i)letras_one = ["o","n","e"] # Base que usaremos para compararcontador_comparativo = 0  # Para contar la cantidad de coincidenciascontador_indice = 0  # Para avanzar en la listaif len(texto) == 5:    print ("3")else:    for i in letras_one: # Se comparan las letras de el numero original                         # con las de la frase del usuario        if i == texto_dividido[contador_indice]:            contador_comparativo += 1        contador_indice += 1    if contador_comparativo == 2:        print ("1")    else: # Si no hay 2 coincidencias, por descarte es 2        print ("2")

Mismo código sin tanto comentario:

texto = str(input("Tu numero es: "))texto_dividido = []for i in texto:    texto_dividido.append(i)letras_one = ["o","n","e"]contador_comparativo = 0  contador_indice = 0if len(texto) == 5:    print ("3")else:    for i in letras_one:        if i == texto_dividido[contador_indice]:            contador_comparativo += 1        contador_indice += 1    if contador_comparativo == 2:        print ("1")    else:        print ("2")

Salida con "nwo" (two):

>>> Tu numero es: nwo2

Salida con "ine" (one):

>>> Tu numero es: ine1

Saludos


Viewing all articles
Browse latest Browse all 2

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>