
duda ejercicio bucles python
Publicado por víctor (7 intervenciones) el 14/11/2022 18:52:14
Tengo dudas en este ejercicio:
Implementar un programa que lea 5 números enteros y positivos y calcule la media de los números y
lo presenta con máximo 1 decimal. Cuando el usuario mete un numero negativo o otra entrada inválida,
hay que volver a preguntárselo. La lectura de los números la tienes que hacer dentro de un bucle.
Ejecuta los siguientes test cases para testear tu programa:
ejemplo de ejecución
>>> %Run
Introduzca un número: 3
Introduzca un número: 4
Introduzca un número: 0
Introduzca un número: 2
Introduzca un número: 10
La media de los 5 numeros es 19/5 = 3.8
>>> %Run
Introduzca un número: -2
Solo numeros positivos!
Introduzca un número: 2
Introduzca un número: 4
Introduzca un número: r
Entrada inválida
Introduzca un número: 7
Introduzca un número: 10
Introduzca un número: 0
La media de los 5 numeros es 23/5 = 4.6
Yo he escrito esto:
i = 0
acum = 0
for i in range (5):
numero=int(input("Introduzca un número: "))
try:
if numero >= 0:
i=i+1
acum = acum + numero
else:
print ('solo numeros positivos')
except:
print ('entrada inválida')
media = acum/i
print("La media de los 5 números es",acum,"/",i,"= {0:.1f}" .format(media))
pero me da error en dos cosas: cuando introduzco un valor string python me da error y no puedo continuar, y cuando introduzco valores negativos me los contabiliza, y se supone que me tendría que seguir pidiendo valores hasta que le de al programa 5 números enteros.
agradecería que alguien me ayudase por favor.
Implementar un programa que lea 5 números enteros y positivos y calcule la media de los números y
lo presenta con máximo 1 decimal. Cuando el usuario mete un numero negativo o otra entrada inválida,
hay que volver a preguntárselo. La lectura de los números la tienes que hacer dentro de un bucle.
Ejecuta los siguientes test cases para testear tu programa:
ejemplo de ejecución
>>> %Run
Introduzca un número: 3
Introduzca un número: 4
Introduzca un número: 0
Introduzca un número: 2
Introduzca un número: 10
La media de los 5 numeros es 19/5 = 3.8
>>> %Run
Introduzca un número: -2
Solo numeros positivos!
Introduzca un número: 2
Introduzca un número: 4
Introduzca un número: r
Entrada inválida
Introduzca un número: 7
Introduzca un número: 10
Introduzca un número: 0
La media de los 5 numeros es 23/5 = 4.6
Yo he escrito esto:
i = 0
acum = 0
for i in range (5):
numero=int(input("Introduzca un número: "))
try:
if numero >= 0:
i=i+1
acum = acum + numero
else:
print ('solo numeros positivos')
except:
print ('entrada inválida')
media = acum/i
print("La media de los 5 números es",acum,"/",i,"= {0:.1f}" .format(media))
pero me da error en dos cosas: cuando introduzco un valor string python me da error y no puedo continuar, y cuando introduzco valores negativos me los contabiliza, y se supone que me tendría que seguir pidiendo valores hasta que le de al programa 5 números enteros.
agradecería que alguien me ayudase por favor.
Valora esta pregunta


-1