При выводе кода появляется ошибка ValueError: invalid literal for int() with base 10:
Прошу помочь. На экран должно выводится либо Zabud pro stypendiiu,либо Zvychaina, либо Pidvyshchena, но ничего из перечисленного не происходит.
Задача: код должен определять, какого уровня должна быть стипендия, смотря на оценки ("Zvychaina" - обычная стипендия,"Pidvyshchena" - Повышенная)
a=[]
a=int(input())
if int(n) >=1 and int(n)<=7:
for i in a:
if int(i) < 51:
print("Zabud pro stypendiiu")
break
elif int(i) <90 and int(i) >50 :
print("Zvychaina")
break
elif int(i) >=90:
print("Pidvyshchena")
break```
Ответы (2 шт):
for i in a:
так это не работает, надо писать
for i in range(a):
вообще странный код с кучей лишних действий, можно было бы его и в такой превратить тогда:
a = int(input())
if int(n) >= 1 and int(n) <= 7:
if a < 51:
print("Zabud pro stypendiiu")
elif a < 90 and a > 50:
print("Zvychaina")
elif a >=90:
print("Pidvyshchena")
Если же вы вводите несколько значений (на что указывает a=[] и последующий цикл, то вы неправильно получаете список), можно было бы сделать так:
a = list(map(int, input().split()))
if int(n) >= 1 and int(n) <= 7:
for i in a:
if i < 51:
print("Zabud pro stypendiiu")
elif i < 90 and i > 50:
print("Zvychaina")
elif i >= 90:
print("Pidvyshchena")
Кстати такие конструкции:
i < 90 and i > 50:
питон позволяет писать более компактно:
50 < i < 90
P.S.
и непонятно в вашем коде, что такое n:
int(n) >= 1 and int(n) <= 7:
Так надо писать не так:
for i in a:
а так:
for i in range(a):