почему python не возвращает ничего после расчета? [Дубликат]

1

Я хочу иметь инструмент, который выводит мне таблицу умножения. поэтому я корчу это:

def multiplicationTable(number):
    for x in range(1, 11):
        result = number * x
        print(f'{number} X {x} = {result}')

result = multiplicationTable(5)
print(result)

Это вернуло мне таблицу умножения, как и ожидалось, но за ней следует дополнительное значение типа " None ".

5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45
5 X 10 = 50
None

почему это происходит.

  • 1
    Вы не говорите это, чтобы return что-то.
Теги:

1 ответ

1
Лучший ответ

multiplicationTable(number) не имеет возвращаемого значения.

По умолчанию, когда значение return не задано, функция python возвращает None чтобы показать, что она была успешно выполнена. У вас такое же поведение на других языках.

Чтобы проиллюстрировать это, я заставил вашу функцию вернуть что-то в конце:

def multiplicationTable(number):
    for x in range(1, 11):
        result = number * x
        print(f'{number} X {x} = {result}')
    return 'I have finished'

result = multiplicationTable(5)
print(result)

Выход:

5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45
5 X 10 = 50
I have finished

Ещё вопросы

Сообщество Overcoder
Наверх
Меню