-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathL8T3.py
More file actions
38 lines (35 loc) · 2.51 KB
/
L8T3.py
File metadata and controls
38 lines (35 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Урок 8. Практическое задание 3.
# ФИО: Артур Назарян
# Курс: Основы языка Python
# Факультет: Geek University Python-разработки
#
# Создайте собственный класс-исключение, который должен проверять содержимое списка на наличие
# только чисел. Проверить работу исключения на реальном примере. Необходимо запрашивать у
# пользователя данные и заполнять список только числами. Класс-исключение должен контролировать
# типы данных элементов списка.
# Примечание: длина списка не фиксирована. Элементы запрашиваются бесконечно, пока пользователь
# сам не остановит работу скрипта, введя, например, команду “stop”. При этом скрипт завершается,
# сформированный список с числами выводится на экран.
# Подсказка: для данного задания примем, что пользователь может вводить только числа и строки. При
# вводе пользователем очередного элемента необходимо реализовать проверку типа элемента и вносить
# его в список, только если введено число. Класс-исключение должен не позволить пользователю ввести
# текст (не число) и отобразить соответствующее сообщение. При этом работа скрипта не должна
# завершаться.
class MyExcept(Exception):
@classmethod
def checking(cls, txt):
try:
txt = int(txt)
except ValueError:
print('Вводите только числа!')
return [False, txt]
else:
return [True, txt]
my_list = []
while True:
inp_data = input('Введите число (quit для выхода): ')
if inp_data.lower() == 'quit':
break
if MyExcept.checking(inp_data)[0]:
my_list.append(MyExcept.checking(inp_data)[1])
print(f'Вы ввели следующий список чисел\n{my_list}')