Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 17, 2022 22:49:18

Tim39
Зарегистрирован: 2022-01-17
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Для чайников

Книга укус питона тема №10.7

 def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count
print(total(10, 1, 2, 3, vegetables=50, fruits=100))
кто-то может подробнее объяснить откуда берется число 166

Отредактировано Tim39 (Янв. 17, 2022 23:05:37)

Офлайн

#2 Янв. 17, 2022 23:00:28

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1309
Репутация: +  113  -
Профиль   Отправить e-mail  

Для чайников

[code python]сюда писать код,чтобы отображался с отступами[/code]

Офлайн

#3 Янв. 17, 2022 23:06:04

Tim39
Зарегистрирован: 2022-01-17
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Для чайников

xam1816
отредактировал

Офлайн

#4 Янв. 17, 2022 23:16:04

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1309
Репутация: +  113  -
Профиль   Отправить e-mail  

Для чайников

Tim39
кто-то может подробнее объяснить откуда берется число 166
функция total на входе может принять не обязательные аргументы initial, неименованные, именованные
на выходе вернуть количество count которое складывается из значений аргументов,соответственно:
10 + 1 + 2 + 3 +50 + 100 = 166

Офлайн

#5 Янв. 17, 2022 23:25:01

Tim39
Зарегистрирован: 2022-01-17
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Для чайников

xam1816
10 + 1 + 2 + 3 +50 + 100 = 166
10 + 1 + 2 + 3 +50 + 100 = 166 это я то понял, что в конце это сумма этих чисел я не могу понять, для чего тогда нужен блок выше
 def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count
т.е что здесь происходит

Офлайн

#6 Янв. 18, 2022 11:03:56

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1309
Репутация: +  113  -
Профиль   Отправить e-mail  

Для чайников

Tim39
для чего тогда нужен блок выше
попробую объяснить на таком примере:
У нас есть чистый лист, на котором мы пишем инструкции друг за другом о том, что нужно выполнить
Среди инструкций замечаем, что некоторая последовательность строк постоянно повторяется, к примеру:

 # вычисляем общее кол-во count
initial = 10
numbers = 1, 2, 3
keywords = dict(vegetables=50, fruits=100)
count = initial
for number in numbers:
    count += number
for key in keywords:
    count += keywords[key]
print(count)#>>> 166
# чтобы посчитать для других значений придется опять переписывать этот же код с другими значениями
initial = 4
numbers = []
keywords = dict(vegetables=2, fruits=2)
count = initial
for number in numbers:
    count += number
for key in keywords:
    count += keywords[key]
print(count)#>>> 8

чтобы не писать постоянно одно и тоже, напишем этот код один раз в функции
 def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count

и далее будем использовать его вот так
 result_1 = total(10, 1, 2, 3, vegetables=50, fruits=100)
print(result_1) #>>> 166
result_2 = total(4,vegetables=2, fruits=2)
print(result_2) #>>>8

это намного проще
Tim39
т.е что здесь происходит
если объяснять каждую строку,тогда мне не понятно,вы что, сразу с 10 темы изучаете учебник?

Офлайн

#7 Янв. 18, 2022 22:00:23

Tim39
Зарегистрирован: 2022-01-17
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Для чайников

xam1816
Спасибо большое! Наверно у каждого бывает непонимание, нет конечно не 10ой) Ещё раз спасибо, помог

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version