Python - subprograma que pide al usuario un DNI hasta que sea un DNI válido

   
Vista:

subprograma que pide al usuario un DNI hasta que sea un DNI válido

Publicado por raquel (1 intervención) el 05/11/2015 13:48:10
ESCRIBIR subprograma que pide al usuario un DNI hasta que sea un DNI válido, una contraseña válida y un Menú de una aplicación de gestión. Los recogeré a la entrada de clase.

DNI: El Documento nacional de identidad (DNI) español está compuesto por un número de, a lo sumo 8 dígitos, y una letra. El Ministerio de Interior explica cómo se calcula la letra del DNI en:

http://www.interior.gob.es/web/servicios-al-ciudadano/dni/calculo-del-digito-de-control-del-nif-nie

Teniendo esto en cuenta, haz un subprograma recibe un DNI y dice si es válido. Contempla y resuelve la situación en que el DNI tenga menos de 8 caracteres.

Haz un subprograma que solicita a un usuario el DNI, hasta que introduzca un DNI válido. Aprovecha el subprograma anterior.

Contraseñas: Microsoft sugiere las propiedades que ha de tener una contraseña segura en:

http://windows.microsoft.com/es-es/windows-vista/tips-for-creating-a-strong-password

Atendamos como mínimo a las que se refieren a número y tipos de caracteres. En una segunda versión, atenderemos el resto de recomendaciones. Documéntate a cerca de cómo debe ser una contraseña y haz un subprograma que responda si una cadena de caracteres dada es contraseña válida. Quizá te convenga apoyarte en la función tipoCaracter que has programado en el ejercicio 5.21 del libro.

Menú:

Haz cuatro subprogramas, uno para alta, baja, modificación, consulta, que de momento solo imprimen "Gestión de ....", Usándo estos subprogramas, construye un programa principal que ofrece un menú al usuario hasta que éste elija la quinta opción "salir". Puede convenirte usar el subprograma "entero pedido" que habéis resuelto en el foro, en el hilo con este nombre
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

subprograma que pide al usuario un DNI hasta que sea un DNI válido

Publicado por Rosalia (1 intervención) el 06/11/2015 22:29:57
461d4a1a-9528-4d93-90cb-9f4838ef7ec2
Hola Raquel soy tu profesora y te doy las gracias por tu interes en esta asignatura.Esta claro que a partir de ahora tendre que tomar medidas contigo pero aun asi contestare a la pregunta:
1
2
3
4
5
6
7
8
9
10
11
12
def dni():
nif = raw_input("Introduzca el NIF o Dni: \n")
tabla = "TRWAGMYFPDXBNJZSQVHCKE"
numeros = "1234567890"
if len(nif) == 9:
     letra = nif[8].upper()
     dni = nif[:8]
     if ( len(dni) == len( [n for n in dni if n in numeros] ) ):
         if tabla[int(dni)/23] == letra:
             print "El NIF introducido es correcto"
else:
    print"Uno valido porfa"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def contrasenia():
mayuscula=0
minuscula=0
numeros=0
contrasenia =raw_input("Introduce contrasenia:")
longitud=len(contrasenia)
for carac in contrasenia:
        if (longitud <8):
                print "Minimo 8 caracteres"
                print "no puede tener espacios"
        if (longitud >8):
                for carac in contrasenia :
                        if carac.isspace()==True:
                                print "no puede tener espacios"
                        if carac.isupper()==True:
                                mayuscula=mayuscula+1
                        if carac.islower()==True:
                                minuscula=minuscula+1
                        if carac.isdigit()==True:
                                numeros=numeros+1
if mayuscula==0 or minuscula==0 or numeros==0:
        print"Contrasenia no segura,prueba Mayus+minus+num"
else:
        print"Contrasenia correcta"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def menu():
    op=5
    while (op!=0):
        print'1) Dar de ALTA'
        print'2) Dar de BAJA'
        print'3) Modificacion'
        print'4) Consulta'
        print'0) SALIR'
        op=int(input('Elige un numero\n'))
        if(op==1):
            alta()
        if(op==2):
            baja()
        if(op==3):
            modificaion()
        if(op==4):
             consulta()
menu()
print'   ADIOS,ESTAS SUSPENSA!!'
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