16-12-2017, 01:55 AM
###Realice un programa para un club. El mismo debera permitir la carga de los socios (finalizando cuando se ingresa "Ultimo").La informacion de cada socio es numero,nombre,fecha de nacimiento,dni,categoria(simple,pleno) y fecha de ingreso.Estos datos deberan almacenarse en una lista.Luego debera imprimir por pantalla todas los socios con mas de treinta años de antiguedad y que hayan nacido antes del 28 de julio de 1960 para conocer a todos los socios vitalicios.Acontinuacion,se deberan listar los socios cuyo nombre comienza con "J"###
"Haber si pueden ayudarme este ejercicio no me da y no le encuentro la vuelta a la fecha de nacimiento no me lo toma en la otra función."
import time
def obtener_categoria():
categoria=raw_input("ingrese su categoria simple o pleno: ")
while categoria not in ("simple" , "pleno"):
categoria=raw_input("ingrese solo simple o pleno: ")
return categoria
def carga_datos():
socios=[]
nom=raw_input("Ingrese el nombre del socio o ultimo para terminar: ")
while nom!="ultimo":
numero=input("Ingrese el numero del socios: ")
fecha_n=raw_input("Ingrese fecha de nacimiento dd/mm/aaaa): ")
Dni=input("Ingrese su Dni: ")
categoria=obtener_categoria()
fecha_in=raw_input("Ingrese su fecha de ingresos: ")
socios.append([nom,numero,fecha_n,Dni,categoria,fecha_in])
nom=raw_input("Ingrese el nombre del socio o ultimo para terminar: ")
return socios
def calcularEdad(fecha):
fecha = fecha.split("/");
fechaActual = (time.strftime("%d/%m/%Y")).split("/");
edad = int(fechaActual[2]) - int(fecha[2])
if fecha[1]==fechaActual[1]:
if fecha[0]>fechaActual[1]:
edad=edad-1
if fecha[1]>fechaActual[1]:
edad=edad-1
return edad
def imprimir_antiguedad(socios):
print "nombre\t\tnumero\t\Fecha de nacimiento\tDNI\tCategoria\tIngreso"
print "-------------------------------------------------------------"
for s in socios:
fechaIn = s[5].split("/")
print calcularEdad(s[2])
if calcularEdad(s[2])>30 and (int(fechaIn[0])<28 and int(fechaIn[1])<7 and int(fechaIn[2])<1960):
print s[0] + "\t" + str(s[1]) + "\t"+ str(s[2])+ "\t" + str(s[3])+ "\t" + s[4]+ "\t" + str(s[5])
if s[0][0]=="j":
print s[0]
s=carga_datos()
imprimir_antiguedad(s)
"Haber si pueden ayudarme este ejercicio no me da y no le encuentro la vuelta a la fecha de nacimiento no me lo toma en la otra función."
import time
def obtener_categoria():
categoria=raw_input("ingrese su categoria simple o pleno: ")
while categoria not in ("simple" , "pleno"):
categoria=raw_input("ingrese solo simple o pleno: ")
return categoria
def carga_datos():
socios=[]
nom=raw_input("Ingrese el nombre del socio o ultimo para terminar: ")
while nom!="ultimo":
numero=input("Ingrese el numero del socios: ")
fecha_n=raw_input("Ingrese fecha de nacimiento dd/mm/aaaa): ")
Dni=input("Ingrese su Dni: ")
categoria=obtener_categoria()
fecha_in=raw_input("Ingrese su fecha de ingresos: ")
socios.append([nom,numero,fecha_n,Dni,categoria,fecha_in])
nom=raw_input("Ingrese el nombre del socio o ultimo para terminar: ")
return socios
def calcularEdad(fecha):
fecha = fecha.split("/");
fechaActual = (time.strftime("%d/%m/%Y")).split("/");
edad = int(fechaActual[2]) - int(fecha[2])
if fecha[1]==fechaActual[1]:
if fecha[0]>fechaActual[1]:
edad=edad-1
if fecha[1]>fechaActual[1]:
edad=edad-1
return edad
def imprimir_antiguedad(socios):
print "nombre\t\tnumero\t\Fecha de nacimiento\tDNI\tCategoria\tIngreso"
print "-------------------------------------------------------------"
for s in socios:
fechaIn = s[5].split("/")
print calcularEdad(s[2])
if calcularEdad(s[2])>30 and (int(fechaIn[0])<28 and int(fechaIn[1])<7 and int(fechaIn[2])<1960):
print s[0] + "\t" + str(s[1]) + "\t"+ str(s[2])+ "\t" + str(s[3])+ "\t" + s[4]+ "\t" + str(s[5])
if s[0][0]=="j":
print s[0]
s=carga_datos()
imprimir_antiguedad(s)