Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пайтон срочно хелп !

pro pro proo Ученик (72), открыт 1 неделю назад
Робот записывал оценки учеников, но иногда глючил и писал странные (даже не всегда целые) числа. Учитель решил, что оставит только те записи, которые могут быть оценками: целые числа от 2 до 5. Если это число действительное, то он перепишет его в правильном виде (например, 3.0 — это правильная оценка, но учитель запишет 3).
Дана последовательность чисел, а в конце строка "стоп". Выведи массив из оценок, которые оставил учитель.
Можно считать, что если дробная часть (после точки) равна нулю, то этот ноль только один. То есть число 4 не может быть записано как 4.00.

Ввод Вывод
2
3.5
5.0
7
29
357
42
4
333
3.0
стоп [2, 3, 5, 4, 3]
вывод без кавычек!
Дополнен 1 неделю назад
вот n=[]
a = input()
while a!='стоп':
a = float(a)
if 2 <= int(a) <= 5 and a // 0.5 > 0:
n.append(int(a))
a = input()
print(n)
что не так
ввод
-2
0
05
3
стоп
вывод [3]
2 ответа
Nikita Trigon Знаток (259) 1 неделю назад
grades = []
while True:
entry = input()
if entry == "стоп":
break
try:
grade = float(entry)
if grade.is _integer() and 2 <= grade <= 5:
grades.append(int(grade))
except ValueError:
pass

print(grades)
pro pro prooУченик (72) 1 неделю назад
а отступы
pro pro prooУченик (72) 1 неделю назад
синтаксическая ошибка
Nikita Trigon Знаток (259) pro pro proo,
Nikita TrigonЗнаток (259) 1 неделю назад
 grades = [] 
while True:
entry = input()
if entry == "стоп":
break
try:
grade = float(entry)
if grade.is_integer() and 2 <= grade <= 5:
grades.append(int(grade))
except ValueError:
pass

print(grades)
pro pro prooУченик (72) 1 неделю назад
неверно то что я дополнил
Похожие вопросы