El codigo es este
a=float(input('Introduzca una nota del 0 al 10: ')
if 0<=a>5
print('Suspendido')
elif 5<=a>8
print('Aprobado')
elif 8<=a>9.5
print('Notable')
elif 9.5<=a>=10
print('Sobresaliente')
else :
print('La nota introducida no es válida')
Me da error en el print de la linea 4 ayuda
pues tienes muchos errores:
a=float(input('Introduzca una nota del 0 al 10: ') #falta cerrar u parentesis
if 0<=a>5 #sobra la comparación con 0, está mal la lógica a debe ser < 5, además faltan los dos puntos finales
print('Suspendido')
elif 5<=a>8 #faltan los dos puntos en todas las sentencias elif
print('Aprobado')
elif 8<=a>9.5 #mal la lógica
print('Notable')
elif 9.5<=a>=10 #mal la lógica
print('Sobresaliente')
else :
print('La nota introducida no es válida')
corregido para que funcione, fijate las correcciones:
a=float(input('Introduzca una nota del 0 al 10: '))
if a <= 5:
print('Suspendido')
elif 5 < a <= 8:
print('Aprobado')
elif 8 < a <= 9.5:
print('Notable')
elif 9.5 < a <=10:
print('Sobresaliente')
else :
print('La nota introducida no es válida')
Saludos
Saludos,
- Esa forma de "reducir" los AND en Python es un embrollo :xD
- Por lo que veo en tu ejercicio, estás utilizando el estándar de calificación escolar de Belice: https://es.wikipedia.org/wiki/Calificaci%C3%B3n_escolar#Belice, el cual califica de 0 a 10.
- La solución para tu ejercicio, utilizando la notación normal:
a = float(input('Introduzca una nota del 0 al 10: '))
if a > 0 and a < 5 :
print('Suspendido')
elif a >= 5 and a < 8 :
print('Aprobado')
elif a >= 8 and a < 9.5 :
print('Notable')
elif a >= 9.5 and a <= 10 :
print('Sobresaliente')
else :
print('La nota introducida no es válida')
- Para utilizar esa notación recortada hay que saber leer bien los signos de mayor y menor con respecto a la base, en tu caso la base es a.
-- Por ejemplo: 0 < a < 5 se debe de leer: a tiene que ser mayor que 0 y su vez a tiene que ser menor que 5, es decir, no lees los signos como tal, es incorrecto pensar que < significa menor que, y > significa mayor que, sino, se tiene que leer en base a a.
--- Siendo sencillos, el signo > o < tiene un lado agudo y otro abierto, el lado agudo apuntará al menor y el lado abierto apuntará al mayor.
- Corregido y funcional
a = float(input('Introduzca una nota del 0 al 10: '))
if 0 < a < 5 :
print('Suspendido')
elif 5 <= a < 8 :
print('Aprobado')
elif 8 <= a < 9.5 :
print('Notable')
elif 9.5 <= a <= 10 :
print('Sobresaliente')
else :
print('La nota introducida no es válida')
Muchas Gracias a los dos, me habeis ayudado mucho de verdad ;-) :rolleyes:
de EdePC:
Citar- Esa forma de "reducir" los AND en Python es un embrollo
pues estás bastante errado, eso es python