Помогите с задачкой на пайтоне!
Робот записывал оценки учеников, но иногда глючил и писал странные (даже не всегда целые) числа. Учитель решил, что оставит только те записи, которые могут быть оценками: целые числа от 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]
По дате
По рейтингу
123
import re
t = filter(lambda s: re.match('^[2-5](\.0)?$', s), iter(input, 'стоп'))
print(*map(lambda s: s.replace('.0', ''), t), sep='\n')
12
import re
print(*[s.replace('.0', '') for s in iter(input, 'стоп') if re.match('^[2-5](\.0)?$', s)], sep='\n')
а вывод ?