[Python] usuario y contraseña

Iniciado por ANGELAKUMAN, 23 Febrero 2015, 22:53 PM

0 Miembros y 1 Visitante están viendo este tema.

ANGELAKUMAN

Hola buenas noches

necesito hacer un programa con python que pida:


-el nombre de usuario con una serie de condiciones:
      -debe de ser alfanumerico
      -debe de tener al menos una letra y un numero

-la contraseña:
     -minimo de 6 caracteres
     -debe contener minuscula,mayuscula,numeros y al menos un caracter no alfanumerico
      -no puede tener espacios en blanco

de momento tengo esto:
Código (python) [Seleccionar]
print"introduce el nombre de usuario"
print"el nombre debe de tener de 5 a 10 caracteres"
nombre=raw_input()
if(len(nombre)<5):
   print"el usuario debe de tener mas de cinco caracteres"
if(len(nombre)>10):
   print"el usuario debe de tener menos de diez caracteres"


acabo de empezar con programacion
por favor q alguien me ayude
muchaaas graciaaaas  




[MOD]: Lo aviso por última vez, los códigos deben ir en su respectiva etiqueta de código.
Tienes un ejemplo de cómo hacerlo, en mi firma (Eleкtro).
Cualquier nuevo comentario que infrinja esta norma podrá ser eliminado sin previo aviso.

Eleкtro

#1
Para el primer problema, el del nombre de usuario, puedes utilizar las siguientes funciones:

  • str.isalpha(), que determina si todos los caracteres de un string son alfabéticos.
  • str.isdigit(), que determina si todos los caracteres de un string son numéricos.
  • str.isalnum(), que determina si todos los caracteres de un string son alfanuméricos.

Ejemplo:
Código (python) [Seleccionar]
print "Introduce el nombre de usuario:"
username=raw_input()

if not str.isalnum(username):
  print "El nombre de usuario debe contener solamente caracteres alfanumericos."

elif not (any(char.isalpha() for char in username)) or \
    not (any(char.isdigit() for char in username)):
  print "El nombre de usuario debe contener al menos una letra y un digito."

else:
  print "El nombre de usuario es correcto."


El otro problema, el de la la contraseña, ya lo tienes medio resuelto, aunque creo que has confundido el ejemplo del nombre d eusuario con el de la contraseña... y además los valores de las condiciones no los pusiste como indica el ejercicio (estás comprobando si tiene menos de 5 caracteres, no menos de 6), y el resto del problema lo puedes intentar solucionar por ti mismo hechándole un vistazo a los métodos que he comentado arriba, y a otros métodos como str.islower() y str.isupper(), te aseguro que es algo muy facil, intenta hacerlo.

Lee la documentación oficial:
5.6.1. String Methods

Saludos.








ANGELAKUMAN

Muchas gracias
Por la paciencia y por la amabilidad
Lo intentaré
Saludos Elektro :D

tessto

Podrías probar con expresiones regulares, suerte!
Estudiante habitual de cursos online