Python - ayuda para validar que no entre ningun numero

 
Vista:
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por joel (10 intervenciones) el 05/02/2015 04:47:13
Saludos gente, tengo un problema estoy haciendo un prograama que genere el rfc en python pero cuando solicito el nombre tengo que validar que solo ingresen letras pero no lo logro ojala me puedan ayudar ya que solamente puedo validar numeros pero no encuentro ningun tuto para solo validar letras
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ayuda para validar que no entre ningun numero

Publicado por xve (1646 intervenciones) el 05/02/2015 12:44:08
Hola Joel, aquí te he publicado un ejemplo que te indica si se ha pulsado una letra mayúscula, minúscula o un numero.
http://www.lawebdelprogramador.com/codigo/Python/3030-Determinar-si-un-caracter-es-una-tecla-mayuscula-minuscula-o-un-numero.html

Es fácilmente adaptable para determinar que no sea un numero... Si ves que no te sale, coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por joel eduardo (10 intervenciones) el 06/02/2015 01:03:50
mira bro te dejo mi codigo fuente, lo que necesito es que si ingreso ordoñez o joel eduardo me lo tome por bueno ya que con la ñ o el espacio la funcion isalpha() toma valor de false y se repite el ciclo ojala me puedas ayudar bro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por 12-trunks-12 (37 intervenciones) el 06/02/2015 19:45:45
Creas una lista que sean las letras que quieras aceptar y haces como te dije yo en el comentario, un bucle que recorra todo y si hay algún elemento (sea número o símbolo) que no sea una letra imprima que ese nombre no es válido (cierra el bucle en el momento en el que encuentra el número o el símbolo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por 12-trunks-12 (37 intervenciones) el 05/02/2015 18:24:54
Bueno a mi lo que se me ocurre para no tener que importar nada como hizo nuestro compañero xve es lo siguiente:
1
2
3
4
5
6
7
letras = ['a', 'b', ',c' ...]   # Una lista con todas las letras que quieras
 
nombre = input("Dime el nombre: ").lower()   # .lower() es para convertir todo a minúscula (la lista de letras está en minúsculas)
 
for elemento in nombre:
    if elemento not in letras:
        print("Ingrese solo letras")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por joel eduardo (10 intervenciones) el 07/02/2015 05:09:39
sigue sin aceptar la ñ amigo checa mi codigo fuente haber si me puedes ayudar solamente me falta validar eso T_T
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por 12-trunks-12 (37 intervenciones) el 07/02/2015 15:36:45
Prueba a poner esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def nombre():
    letras = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'ñ', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
 
    while True:
        x = input(":> ")
        verificacion = True
 
        for letra in x:
            if letra not in letras:
                print "Ingresa solo letras"
                verificación = False
                break  # Rompe directamente el bucle en cuanto encuentra un elemento que no es una letra
 
        if verificacion == True:
            return x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por joel eduardo (10 intervenciones) el 07/02/2015 22:23:21
Ya lo hice asi man y no acepta la bendita Ñ jajajajaaj no se me ocurre nada
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ayuda para validar que no entre ningun numero

Publicado por xve (1646 intervenciones) el 08/02/2015 10:15:02
Que codificación tienes puesto en el código?

Prueba a poner en la primera linea del archivo:
1
# -*- coding: utf-8 -*-

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por joel eduardo (10 intervenciones) el 09/02/2015 00:18:12
ya hize eso tambien amigo aqui esta mi codigo ya tengo mi programa terminado es solo eso que no me acepta la Ñ en apellidos es lo unico que me falta T_T
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ayuda para validar que no entre ningun numero

Publicado por xve (1646 intervenciones) el 09/02/2015 07:50:43
Hola Joel, gracias por adjuntar el código, me ha ido perfecto para poder probarlo!!!

La única manera que he encontrado de que me funcione, es hacer un decode("utf8")... estas son las dos lineas que he tenido que modificar para que me detecte la eñe:
1
letras = [' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ'.decode("utf8"),'o','p','q','r','s','t','u','v','w','x','y','z']
1
x = raw_input(":> ").decode("utf8")

Coméntanos, si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

ayuda para validar que no entre ningun numero

Publicado por joel eduardo (10 intervenciones) el 10/02/2015 01:31:26
eres grande hermano si me funciono eso por fin tengo mi codigo al 100 gracias, donde encontraste esa info? porque yo busque como loco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ayuda para validar que no entre ningun numero

Publicado por xve (1646 intervenciones) el 10/02/2015 08:12:08
Si haces un print de las letras (print letras) vi que la ñ no salia correctamente, de igual manera, si en el input introducía una ñ y hacia un print de x (print x) no mostraba la ñ. De ahí que revise un código que hice en su momento que tuve el mismo problema, y vi que lo solucione con decode("utf8")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar