Проблемы при объявлении переменной

print(d, z, h, "hour", m, "min" , s, "sec")
if d-(d//10*10) == 1:
z = "день"
if d-(d//10*10) == [2,3,4]:
z = "дня"
if d-(d//10*10) >= 5:
z = "дней"

Когда я запускаю программу с этим кодом (здесь представлен лишь его отрывок) пишет name "z" is not defined. Помогите исправить эту ошибку


Ответы (1 шт):

Автор решения: Oopss
def skl(n: int, v: list) -> str:
    if n >= 100:
        n %= 100

    if 5 <= n <= 20:
        return v[2]

    n %= 10
    if n >= 5 or n == 0:
        return v[2]
    elif 2 <= n <= 4:
        return v[1]
    return v[0]


for d in range(30):
    print(d, skl(d, ['день', 'дня', 'дней']))

0 дней
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 дней
→ Ссылка