-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path3.2.3_LEC_age_lib.py
More file actions
42 lines (32 loc) · 1.46 KB
/
3.2.3_LEC_age_lib.py
File metadata and controls
42 lines (32 loc) · 1.46 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
39
40
41
42
# coding: utf-8
def line_is_correct(line):
"""
Проверяет корректность строки line по следующим правилам:
- в строчке должно быть 3 столбца, разделенных запятыми
- второе значение - целое число
"""
values_list = line.split(',')
if len(values_list) != 3:
return False
column_1, column_2, column_3 = values_list
if not str.isnumeric(column_2):
return False
if not column_3.strip():
return False
return True
def military_case(age):
"""
Возвращает возрастную категорию для возраста age по следующим правилам:
- для age от 17 до 49 лет включительно категория 'военнослужащий'
- младше 17 лет - категория 'не наш случай'
- старше 50 лет - категория 'пенсионеры'
- если age не целое число, то возвращает ValueError
"""
if not isinstance(age, int):
raise ValueError('Параметр age не целое число. Получил значение {} типа {}'.format(age, type(age)))
if age <= 17:
return 'не наш случай'
elif age <= 49:
return 'военнослужащий'
else:
return 'пенсионеры'