Autor
|
Tema: (Python) Admitir espacios (Leído 4,122 veces)
|
BigKaz
Desconectado
Mensajes: 94
|
Hola, tengo un programa que registra nombre y apellido y tengo un filtro para que no se admitan caracteres que no sean letras, pero el espacio al no ser una letra no la admite y no puedo poner el apellido, alguien sabe como puedo admitir los espacios? He visto la sentencia (S.isspace()) pero no le veo utilidad ya que solo devuelve True si todo el str tiene espacios. nmyap1 = (input("MESA 1: Ingresa nombre y apellido de 1era persona: ")) while (len(nmyap1)>20) or (not (nmyap1.isalpha())): nmyap1 = (input("Demasiados car. (max 20) o car. invalido, ingrese otra vez: "))
|
|
« Última modificación: 3 Diciembre 2016, 04:56 am por BigKaz »
|
En línea
|
|
|
|
engel lex
|
para strings procura siempre usar raw_input
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
BigKaz
Desconectado
Mensajes: 94
|
En python 3.5 es input()
|
|
|
En línea
|
|
|
|
engel lex
|
En python 3.5 es input()
y por eso se aclara la versión! while (condicion1 or condicion2) and (variable.isspace())
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
no entiendo el porque del uso exagerado de paréntesis () agregando lo que te recomendó engel lex: nmyap1 = input("MESA 1: Ingresa nombre y apellido de 1era persona: ") while len(nmyap1)>20 or not nmyap1.isalpha() and nmyap1.isspace() : nmyap1 = input("Demasiados car. (max 20) o car. invalido, ingrese otra vez: ")
|
|
|
En línea
|
|
|
|
engel lex
|
no entiendo el porque del uso exagerado de paréntesis ()
los parentesis no están mal -.- no es lo mismo v1 or v2 and v3 que (v1 or v2) and v3 en la primera se comporta como v1 or (v2 and v3) igual la lógica está mala... .isspace() evalua solo si son espacios... while len(nmyap1)>20 or not nmyap1.isalpha() of not ' ' in nmyap1:
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
¿lo probaste? ahh y más allá de la lógica que esto ande no quiere decir que no tenga parentesis de más: nmyap1 = (input("MESA 1: Ingresa nombre y apellido de 1era persona: "))
ahh me olvidé, estoy siguiendo el ejemplo que dieron, no lo haría así sino con el modulo re
|
|
« Última modificación: 3 Diciembre 2016, 12:16 pm por tincopasan »
|
En línea
|
|
|
|
|
|