← Все вопросы
СреднеПрограммирование

Что выведет Python при вызове fancy(3, '.') с аргументами по умолчанию?

Коротко
Будет выведена строка .*.*.*..

Условие

Что покажет приведённый код?

def fancy(length, char1='-', char2='*'):
    return (char1 + char2) * length + char1

print(fancy(3, '.'))

Разбор

При вызове fancy(3, '.') параметр length получает 3, char1 — точку, а char2 сохраняет значение по умолчанию — звёздочку.

Пара символов .* повторяется трижды: .*.*.*. Затем к ней добавляется ещё одна точка из char1. Итог — .*.*.*..

PythonАргументы по умолчаниюСтроки

Платформы

  • Stepik