Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: sora_ori en 11 Noviembre 2012, 10:50 am



Título: [Duda Python] Secuencia de notas enteras de 0 a 10
Publicado por: sora_ori en 11 Noviembre 2012, 10:50 am
Estoy haciendo un ejercicio en Python sobre un algoritmo que lea una secuencia de notas usando If-Else, While y For que es lo que hemos estudiado, les dejo lo que he hecho hasta ahora para ver si es correcto o voy mal.

- Algoritmo que lee una secuencia de notas enteras (0 .. 10) hasta que lee el -1 y nos dice si alguna de las notas era un 10.


Código
  1. cont = 0;
  2.  
  3. while (nota = '-1'):
  4. for cont in range (0,11):
  5. if nota = -1 : print 'Alguna nota es un 10', nota
  6. elif : 'Alguna nota es un 10', nota
  7. cont=cont+1
  8. else:
  9. cont=cont+1
  10.  


Título: Re: [Duda Python] Secuencia de notas enteras de 0 a 10
Publicado por: overxfl0w13 en 11 Noviembre 2012, 11:27 am
Código
  1. algunaDiez = False
  2. notas = 0
  3. while notas != -1:
  4. notas = input("Nota> ")
  5. if notas == 10: algunaDiez = True
  6. if algunaDiez == True:
  7. print "Alguna de ellas era un diez"
  8. else:
  9. print "No ha habido ningun 10"
  10.  

Suponiendo que las notas introducidas son válidas, puedes implementarlo fácilmente con un par de condicionales :)


Título: Re: [Duda Python] Secuencia de notas enteras de 0 a 10
Publicado por: sora_ori en 11 Noviembre 2012, 12:54 pm
Muchas gracias compañero ;)


La cosa se complica y no tengo ni idea jaja, en el segundo ejercicio me pide hacer la media de las notas que se van introduciendo, pero yo solo sé hacer la media dando variables y dividiendo entre las notas que hay.


2. Mejora del ejercicio anterior para que al finalizar, nos muestra (al introducir -1): la media aritmética de todas las notas introducidas, cuántos han sacado sobresaliente, cuántos notable, cuántos bien, cuántos suficiente, cuántos insuficiente y cuántos muy deficiente.



Un saludo y gracias por ayudarme


Título: Re: [Duda Python] Secuencia de notas enteras de 0 a 10
Publicado por: overxfl0w13 en 11 Noviembre 2012, 14:21 pm
Código
  1. algunaDiez = False
  2. notas = 0
  3. acumuladorNotas = 0
  4. cuentaNotas = 0
  5. while notas != -1:
  6. notas = input("Nota> ")
  7. if notas != -1:
  8. acumuladorNotas += notas
  9. cuentaNotas += 1
  10. if notas == 10: algunaDiez = True
  11. print "La media aritmetica de " + str(cuentaNotas) + " notas introducidas es : "  + str((acumuladorNotas/cuentaNotas))
  12. if algunaDiez == True:
  13. print "Alguna de ellas era un diez"
  14. else:
  15. print "No ha habido ningun 10"
  16.  

Hasta ahí la media aritmética lo de cuantos han sacado x notas te toca currartelo a ti ya  ;D.
Una forma de todas las posibles podría ser crear un diccionario tal que así:
{"Sobresaliente":x,"Notable":y...}
Y con una serie de condicionales que comprueben el rango de la nota aumenten los contadores.

Si no, 6 variables contadores y con el mismo condicional que antes las aumentas.


Título: Re: [Duda Python] Secuencia de notas enteras de 0 a 10
Publicado por: sora_ori en 11 Noviembre 2012, 15:07 pm
Gracias :D


Tema solucionado