Documentos de Académico
Documentos de Profesional
Documentos de Cultura
def obtener_clave_estado(estado):
estados = {
"Aguascalientes": "AS",
"Campeche": "CC",
"Coahuila": "CL",
"Colima": "CM",
"Chiapas": "CS",
"Chihuahua": "CH",
"Durango": "DG",
"Guanajuato": "GT",
"Guerrero": "GR",
"Hidalgo": "HG",
"Jalisco": "JC",
"México": "MC",
"Michoacán": "MN",
"Morelos": "MS",
"Nayarit": "NT",
"Oaxaca": "OC",
"Puebla": "PL",
"Querétaro": "QT",
"Sonora": "SR",
"Tabasco": "TC",
"Tamaulipas": "TS",
"Tlaxcala": "TL",
"Veracruz": "VZ",
"Yucatán": "YN",
"Zacatecas": "ZS"
def validar_fecha(fecha):
try:
datetime.strptime(fecha, "%d/%m/%Y")
return True
except ValueError:
return False
def validar_caracteres(texto):
nombres = nombre.split()
if len(nombres) > 1:
primer_nombre = nombres[0]
segundo_nombre = nombres[1]
else:
primer_nombre = nombres[0]
segundo_nombre = "X"
clave_estado = obtener_clave_estado(estado)
if not validar_fecha(fecha_nacimiento):
# Validar caracteres
# Generar CURP
curp = (
apellido_paterno[:1].upper() +
apellido_paterno[1:3].upper() +
apellido_materno[:1].upper() +
primer_nombre[:1].upper() +
fecha_nacimiento[8:10] +
fecha_nacimiento[3:5] +
fecha_nacimiento[0:2] +
obtener_clave_estado(estado)
)
return curp
estado = input