Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/07/2009, 16:45
AxL456
Invitado
 
Mensajes: n/a
Puntos:
ejercicio simple

buenas..
aqui tengo un algoritmo sencillo que me gustaria ver de que otra manera ustedes lo escribirian porque pienso que le he dado muchas lineas a este problemita

Cita:
Se tienen los datos estadisticos de una materia y se desea saber lo siguiente:
  • Porcentaje de alumnos aprobados
  • Procentaje de alumnos reprobados
  • Porcentaje de alumnos con nota igual a 10
  • Porcentaje de alumnos con notas entre11 y 17
  • Porcentaje de alumnos con notas entre 18 y 20
Como extra le coloque al codigo, que en caso de que el usuario colocara valores de entrada que no fueran numeros el programa respondiera indicandole que debe ingresar un valor numerico:

Código Python:
Ver original
  1. def input(tipo):
  2.     while True:
  3.         a = raw_input("cuantos alumnos con nota %s?:"% tipo)
  4.         if a.isdigit():
  5.             break
  6.         else:
  7.             print a, "no es un valor numerico"
  8.     return a
  9.  
  10. tipos = ["menor a 10", "igual a 10", "entre 11 y 17", "entre 18 y 20"]
  11. dic = {}
  12.  
  13. for x in tipos:
  14.     dic[x] = int(input(x))
  15.    
  16. total = (dic["menor a 10"]
  17.         + dic["igual a 10"]
  18.         + dic["entre 11 y 17"]
  19.         + dic["entre 18 y 20"])
  20.  
  21. Paprobados = ((dic["igual a 10"]
  22.              + dic["entre 11 y 17"]
  23.              + dic["entre 18 y 20"]) * 100 / total)
  24.  
  25. Pmenor10 = (dic["menor a 10"] * 100 / total) # % con nota menor 10
  26. Pigual10 = (dic["igual a 10"] * 100 / total) # % con nota igual a 10
  27. P11y17 = (dic["entre 11 y 17"] * 100 / total) # % con nota entre 11 y 17
  28. P18y20 = (dic["entre 18 y 20"] * 100 / total) # % con nota entre 18 y 20
  29.  
  30. print "El porcentaje de alumnos aprobados es igual a %s " % Paprobados
  31. print "El porcentaje de alumnos reprobados es igual a %s " % Pmenor10
  32. print "El porcentaje de alumnos con notas igual a 10 es igual a %s " % Pigual10
  33. print "El porcentaje de alumnos con notas entre 11 y 17 es igual a %s " % P11y17
  34. print "El porcentaje de alumnos con notas entre 18 y 20 es igual a %s " % P18y20