Python - [AYUDA] Como crear un programa que pida estos Datos:

 
Vista:
Imágen de perfil de Carlos

[AYUDA] Como crear un programa que pida estos Datos:

Publicado por Carlos (3 intervenciones) el 12/03/2017 06:38:55
Saludos, Necesito POR FAVOR que me ayuden con la creación de un programa ya que es mi boleto para entrar en la carrera Ingenieria en Informatica.

ESTE ES EL ANUNCIADO:

Se solicita un programa que ingrese en dos listas (una paralela a otro), el nombre y la edad
respectivamente (nombres en una lista y edades en otra lista). La cantidad de nombres a ingresar
le será solicitada al usuario al inicio del programa.
Luego de cargar los nombres y edades el programa deberá realizar los procesos que permitan
mostrar por pantalla lo siguiente:

1) El Listado de los nombres con su respectiva edad
2) El nombre más largo
3) El nombre más corto
4) El nombre del que tenga la edad mayo
5) El nombre del que tenga la edad menor
6) La cantidad de Mayores de edad

ESPERO QUE PUEDAN AYUDARME: De Corazon se los Agradeceré muchísimo.
Se que son comunes usuarios como yo en este tipo de foros.Pero espero que me comprendan ya que no encuentro la manera de hacerlo por mi cuenta me leido varios libros y tutoriales y nada. Si Saben de un tutorial que expliquen algo relacionado a este tipo de programas también se los agradesco.
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
Imágen de perfil de kip
Val: 1.148
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

[AYUDA] Como crear un programa que pida estos Datos:

Publicado por kip (257 intervenciones) el 13/03/2017 03:43:17
Hola, hice un codigo sencillo a ver si te sirve:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
nombres = []
edades = []
 
print ("Ingrese el nombre y la edad de la persona")
 
while True:
    nombres.append(input("Nombre: "))
    edades.append(int(input("Edad: ")))
    if input("¿Desea continuar? S/N") == "N": break
 
nombre_largo = max(nombres, key = len)
nombre_corto = min(nombres, key = len)
nombre_edad_mayor = nombres[edades.index(max(edades))]
nombre_edad_menor = nombres[edades.index(min(edades))]
 
print ("RESULTADOS")
print ("Nombre mas largo: %s" % nombre_largo)
print ("Nombre mas corto: %s" % nombre_corto)
print ("Nombre edad mayor: %s" % nombre_edad_mayor)
print ("Nombre edad menor: %s" % nombre_edad_menor)
 
print ("Nombres de mayores de edad: ")
for i, edad in enumerate(edades):
    if edad >= 18:
        print (nombres[i])

Lo hice en Python 3, si usas Python 2 cambia la funcion input por raw_input donde la entrada de datos sea una cadena.

Funcion max() https://docs.python.org/3/library/functions.html#max
Funcion min() https://docs.python.org/3/library/functions.html#min
Funcion index() https://docs.python.org/3/library/array.html?highlight=index#array.array.index
Funcion enumerate() https://docs.python.org/3/library/functions.html#enumerate

Si tienes alguna duda nos cuentas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Carlos

[AYUDA] Como crear un programa que pida estos Datos:

Publicado por Carlos (3 intervenciones) el 13/03/2017 04:15:42
Muchas Gracias en verdad te agradesco había hecho uno pero con más vueltas y desordenado. Pero el tuyo me parece m´s sencillo y más fácil de comprender. Así que Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

[AYUDA] Como crear un programa que pida estos Datos:

Publicado por Eduardo (1 intervención) el 09/09/2018 18:24:24
El código cumple su función, pero sería una buena idea que en la linea 9 también se cambiara a:
if input("¿Desea continuar? S/N") == "N" or "n": break #añadiendo la n en minúsculas como imput para cancelar el ciclo while.

adjunto la url con mi cambio (repl.it):

https://repl.it/@edugra/MediocrePoliteDiskdrive

También soy nuevo en esto de la programación, pero espero que mi contribución sea de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar