GETTERS

mail@pastecode.io avatar
unknown
python
2 years ago
1.4 kB
0
Indexable
Never
if __name__ == 'main':
    
    
    pass

import numpy as np

def generar_nombre_aleatorio(lista_nombres: np.array, lista_apellidos: np.array, numero_nombres: int):
  # Seleccionamos un nombre y un apellido aleatorios de las listas
  nombres: list[str] = [np.random.choice(lista_nombres) for i in range(numero_nombres)]
  apellidos: list[str] = [np.random.choice(lista_apellidos) for i in range(numero_nombres)]

  nombres: np.array = np.array(nombres)
  apellidos: np.array = np.arry(apellidos)
  
  # Devolvemos el nombre y el apellido concatenados
  return nombres, apellidos


def generar_dni_aleatorio(numero_dnis: int):
  # Generamos un número aleatorio entre 100000000 y 999999999
  numeros: np.array[int] = np.array([np.random.randint(100000000, 999999999) for i in range(numero_dnis)])
  
  # Calculamos la letra del DNI a partir del número generado
  letras = "TRWAGMYFPDXBNJZSQVHLCKE"
  restos: np.array(int) = np.array(numeros % 23)
  restos: np.array[str] = np.array([str(valor for valor in restos)])
  letra: np.array[str] = np.array([letras[value] for value in restos])
  
  dnis: np.array[str] = sumar_listas(numeros, letra)
  # Devolvemos el DNI como una cadena de 8 dígitos y una letra
  return  dnis

def sumar_listas(lista1, lista2):
  # Sumamos cada par de elementos usando la función map()
  suma = list(map(lambda x, y: x + y, lista1, lista2))
  
  # Devolvemos la suma
  return suma