Ayuda con codigo basico python

Iniciado por 15-19, 28 Septiembre 2018, 18:01 PM

0 Miembros y 1 Visitante están viendo este tema.

15-19

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
Código (python) [Seleccionar]
Wyrd bid ful araed

tincopasan

pues tienes muchos errores:
Código (python) [Seleccionar]

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:

Código (python) [Seleccionar]

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

EdePC

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:

Código (python) [Seleccionar]
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

Código (python) [Seleccionar]
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')

15-19

Muchas Gracias a los dos, me habeis ayudado mucho de verdad ;-) :rolleyes:
Wyrd bid ful araed

tincopasan

de EdePC:
Citar- Esa forma de "reducir" los AND en Python es un embrollo

pues estás bastante errado, eso es python