🎨
Informática para ingeniería 2023-2024
  • Informática para ingeniería
  • Básico python
  • Estructuras de control
    • while
    • for
    • try...except
    • If, else, elif, while, for
    • Ejemplo. Ciclos anidados. Tablas de multiplicar
    • Método abreviado
    • ¿Qué hace zip() ?
  • Secuencias
  • Comparativas: Cadena, lista, tupla y conjunto
    • Ejemplos listas y funciones: Control de temperatura
    • Verificación del NIF
    • Ejemplo listas: control de temperaturas
  • Secuencias: Matriz
    • Definición: Matriz
    • Localizar valores únicos en una matriz
    • Ejemplo matrices: Suma y Multiplicación
    • verificar si una matriz es cuadrada
  • Funciones
    • Definición: funciones
    • Ejemplo de funciones
  • Módulos
    • Módulo. Definición
    • Ejemplos de Módulos: math y random
  • Método abreviado de comprensión de listas...
    • Comprensión de listas
  • Funciones- Matriz-Ejemplos
    • Ejemplo, cálculo de Nómina mensual
    • Ejemplo, cálculo de Nómina mensual (desde el programa principal)
    • Menú, matriz y funciones
    • Localizar valores únicos en una matriz. Usar Funciones
    • Ejemplo funciones, matriz, archivos: Recuento de votos
    • Matrices 2ª Prueba Evaluación Continua. Curso 2018-2019 Parcial. Prof MRD
    • Prueba Evaluación Continua. Curso 2018-2019. Examen 1. Prof. MRD
    • Gestión de una matriz de números enteros
  • Ejecutable
    • Crear un programa ejecutable
  • Archivo (ficheros)
    • Definición: archivos (ficheros)
  • Ejemplos de Matriz y archivos (ficheros)
    • ¿Cómo se multiplican dos matrices?
    • Crear una matriz a partir de un archivo
    • Pedir datos, guardarlos en una matriz y en un archivo
    • Cálcular la media de unos datos almacenados en un archivo
    • Leer archivo, modificar datos y guardarlos
  • Interfaz Gráfica
    • Definición: Interfaz Gráfica de Usuario (IGU)
      • Label
      • Button
      • Radiobutton y Checkbutton
      • LabelFrame
      • Listbox
      • Entry
      • Características comunes de Label, Entry, button, radiobutton checkbutton
      • ttk.Combobox
      • Tamaño de una ventana
    • Ejemplo de Entorno gráfico: RadioButton
    • Visualizar la especialidad y nombre de un alumno
    • Visualizar los datos introducidos
    • Sumar 10 a un número introducido
    • Cálculo del área de un triángulo
    • Cálculo del área de un Círculo. Y dibujo de un círculo
    • ¿Dos números son divisibles?
    • Introducir valores y graficar
    • Ejemplo de botón, lista
  • Ejemplos de interfaz gráfica y archivos
  • Entorno gráficos y archivos
    • Almacenar los datos de un alumno
Con tecnología de GitBook
En esta página
  • Enunciado
  • Análisis:
  • Diagrama
  • Código
  • Ejecutarlo
  1. Comparativas: Cadena, lista, tupla y conjunto

Verificación del NIF

AnteriorEjemplos listas y funciones: Control de temperaturaSiguienteEjemplo listas: control de temperaturas

Enunciado

Crear una función que compruebe si el NIF introducido por un usuario es correcto.

Un NIF es correcto si tienen 8 dígitos y letra. La última letra del DNI se calcula a partir de sus números, se divide el número por 23 y el resto es un número entre 0 y 22. La letra que corresponde a cada número la tienes en esta tabla:

Análisis:

  • Preguntar al usuario el NIF.

  • Crear una función def que indique si el NIF es correcto o no.

  • Si no ha tecleado el NIF correcto, volver a pedírselo a pedir while.

Diagrama

Código

#Verificar un NIF
#Inicializar las variables
def verificar_dni(nif):
    tabla = "TRWAGMYFPDXBNJZSQVHLCKE"
    numeros = "1234567890"
    bandera=False
    if (len(nif) == 9):
          letraControl = nif[8].upper()
          dni = nif[:8]
          if dni.isdigit():
              if tabla[int(dni)%23] == letraControl:
                  mensaje="El NIF introducido es correcto"
                  bandera=True
              else:
                  mensaje="No ha introducido un NIF valido, tecléalo de nuevo"

    else:
        mensaje="El NIF, debe tener 9 carcateres teclealo de nuevo"
    return bandera, mensaje


#Pedir el NIF
bandera=False
while bandera==False:
    nif = input("Introduzca el NIF: ").upper()
    bandera,mensaje=verificar_dni(nif)
    print(mensaje)
print("Fin de programa")

Ejecutarlo

Google Colaboratory
Logo