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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (Python) Admitir espacios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Python) Admitir espacios  (Leído 3,647 veces)
BigKaz

Desconectado Desconectado

Mensajes: 94


Ver Perfil
(Python) Admitir espacios
« en: 3 Diciembre 2016, 04:39 am »

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.
Código
  1. nmyap1 = (input("MESA 1: Ingresa nombre y apellido de 1era persona: "))
  2. while (len(nmyap1)>20) or (not (nmyap1.isalpha())):
  3.    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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: (Python) Admitir espacios
« Respuesta #1 en: 3 Diciembre 2016, 05:09 am »

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 Desconectado

Mensajes: 94


Ver Perfil
Re: (Python) Admitir espacios
« Respuesta #2 en: 3 Diciembre 2016, 05:12 am »

En python 3.5 es input()
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: (Python) Admitir espacios
« Respuesta #3 en: 3 Diciembre 2016, 05:26 am »

En python 3.5 es input()

y por eso se aclara la versión!   :silbar:

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 Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: (Python) Admitir espacios
« Respuesta #4 en: 3 Diciembre 2016, 07:58 am »

no entiendo el porque del uso exagerado de paréntesis ()
agregando lo que te recomendó engel lex:
Código
  1. nmyap1 = input("MESA 1: Ingresa nombre y apellido de 1era persona: ")
  2. while len(nmyap1)>20 or not nmyap1.isalpha() and nmyap1.isspace() :
  3.    nmyap1 = input("Demasiados car. (max 20) o car. invalido, ingrese otra vez: ")
  4.  
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: (Python) Admitir espacios
« Respuesta #5 en: 3 Diciembre 2016, 08:16 am »

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...

Código
  1. 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 Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: (Python) Admitir espacios
« Respuesta #6 en: 3 Diciembre 2016, 11:02 am »

¿lo probaste?
ahh y más allá de la lógica que esto ande no quiere decir que no tenga parentesis de más:
Código
  1. nmyap1 = (input("MESA 1: Ingresa nombre y apellido de 1era persona: "))
  2.  


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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] carácteres y espacios « 1 2 »
Scripting
Meta 19 25,793 Último mensaje 27 Octubre 2010, 18:15 pm
por Meta
URL con variables con espacios en blanco en Python
Scripting
MA40 0 1,714 Último mensaje 19 Julio 2012, 12:35 pm
por MA40
[Python] ¿Por qué Python 2.7.3 admite la sintaxis de Python 3? « 1 2 »
Scripting
Yidu 10 10,454 Último mensaje 10 Febrero 2013, 21:46 pm
por Eleкtro
Python, espacios para impresion en pantalla
Scripting
metalost 1 2,762 Último mensaje 21 Mayo 2017, 01:08 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines