Top.Mail.Ru
Ответы

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

Робот записывал оценки учеников, но иногда глючил и писал странные (даже не всегда целые) числа. Учитель решил, что оставит только те записи, которые могут быть оценками: целые числа от 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]
вывод без кавычек!

Дополнен

вот 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]

По дате
По рейтингу
Аватар пользователя
Знаток

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)

Аватар пользователя
Мудрец

за 300 руб сделаю