Найти - Пользователи
Полная версия: Для чайников
Начало » Центр помощи » Для чайников
1
Tim39
Книга укус питона тема №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
xam1816
[code python]сюда писать код,чтобы отображался с отступами[/code]
Tim39
xam1816
отредактировал
xam1816
Tim39
кто-то может подробнее объяснить откуда берется число 166
функция total на входе может принять не обязательные аргументы initial, неименованные, именованные
на выходе вернуть количество count которое складывается из значений аргументов,соответственно:
10 + 1 + 2 + 3 +50 + 100 = 166

Tim39
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
т.е что здесь происходит
xam1816
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 темы изучаете учебник?
Tim39
xam1816
Спасибо большое! Наверно у каждого бывает непонимание, нет конечно не 10ой) Ещё раз спасибо, помог
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB