Ошибка - NameError: name 'k' is not defined

Андрей)))))))))))))

Новичок
Пользователь
Июл 11, 2020
11
0
1
Здравствуйте. Сделал рекурсивную функцию, которая может вычислять сумму цифр целого числа. Когда убрал переменную K из вызова и объявления функции появилась данная ошибка. Почему так происходит, ведь значения глобальных переменных могут использоваться в функциях?

Python:
def DigitSum():

    if k == int(str(k)[0]):
        return k
    else:
        return k % 10 + DigitSum(k // 10)

K = int(input('Введите число: '))
print('Сумма цифр -', DigitSum())
 
Последнее редактирование модератором:

root

Пользователь
Пользователь
Апр 29, 2020
60
14
8
Москва
Во-первых, переменные и имена в Python чуствительны к регистру.
Во-вторых, лучше передавать число аргументов в функцию, тобишь: def DigitSum(k):, а ниже в принте DigitSum(K), тогда сработает.
 
Последнее редактирование:
  • Мне нравится
Реакции: Андрей)))))))))))))

Андрей)))))))))))))

Новичок
Пользователь
Июл 11, 2020
11
0
1
Спасибо
 

Форум IT Специалистов