Всем здравствуйте, помогите пожалуйста понять.

egor bad

Новичок
Пользователь
Апр 12, 2020
4
0
1
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))

Почему когда мы пишем count = initial у нас count не становиться равным 5?
Второй день сижу, не могу понять, объясните, пожалуйста. Если у кого-то расплывается, то прикрепил фотку программы.
Спасибо заранее.
 

Вложения

  • Capture.JPG
    Capture.JPG
    29 КБ · Просмотры: 5

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Можете, пожалуйста, подсказать почему мы приравниваем count = initial, что нам это дает? Буду очень благодарен.
Это дает возможность вызывать код без позиционных аргументов.
Python:
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(vegetables=50, fruits=100))
 
  • Мне нравится
Реакции: Student

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Вставляйте код с помощью кнопки вставить -> код -> python.
count не равно 5, потому что в вашем коде initial принимает значение 10, которое передается при вызове функции total(10, 1, 2, 3, vegetables=50, fruits=100). А initial = 5 это просто значение по умолчанию, оно заменяется на переданное значение, в вашем пример на 10.
 
  • Мне нравится
Реакции: egor bad

egor bad

Новичок
Пользователь
Апр 12, 2020
4
0
1
Вставляйте код с помощью кнопки вставить -> код -> python.
count не равно 5, потому что в вашем коде initial принимает значение 10, которое передается при вызове функции total(10, 1, 2, 3, vegetables=50, fruits=100). А initial = 5 это просто значение по умолчанию, оно заменяется на переданное значение, в вашем пример на 10.
Спасибо большое!
 

egor bad

Новичок
Пользователь
Апр 12, 2020
4
0
1
Вставляйте код с помощью кнопки вставить -> код -> python.
count не равно 5, потому что в вашем коде initial принимает значение 10, которое передается при вызове функции total(10, 1, 2, 3, vegetables=50, fruits=100). А initial = 5 это просто значение по умолчанию, оно заменяется на переданное значение, в вашем пример на 10.
Можете, пожалуйста, подсказать почему мы приравниваем count = initial, что нам это дает? Буду очень благодарен.
 

egor bad

Новичок
Пользователь
Апр 12, 2020
4
0
1
Это дает возможность вызывать код без позиционных аргументов.
Python:
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(vegetables=50, fruits=100))
Спасибо, безмерно благодарен.
 

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