Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Python
/

Синтаксический сахар

Python: Синтаксический сахар

В программировании часто встречаются повторяющиеся конструкции. В Python, как и во многих других языках, есть возможность сокращать их запись. Такие упрощения называются синтаксическим сахаром. Они делают процесс написания кода короче и удобнее, сохраняя тот же результат.

Сокращенные формы присваивания

Часто требуется изменить значение переменной, прибавив или вычтя что-то, умножив или разделив на число. Базовый вариант выглядит так:

index = index + 1
count = count * 2
total = total - 5
price = price / 3

Python позволяет записывать это короче, с помощью комбинированных операторов:

index += 1     # то же самое, что index = index + 1
count *= 2     # то же самое, что count = count * 2
total -= 5     # то же самое, что total = total - 5
price /= 3     # то же самое, что price = price / 3

В циклах такие сокращения встречаются особенно часто. В них мы обычно меняем счетчик и накапливаем результат:

sum = 0
index = 1

while index <= 5:
    sum += index      # то же самое, что sum = sum + index
    index += 1        # то же самое, что index = index + 1

print(sum)  # => 15

Без сокращений тело цикла было бы длиннее:

while index <= 5:
    sum = sum + index
    index = index + 1

Другие операции

Такая запись работает с числами и с другими типами данных.

Для строк используется оператор конкатенации:

text = "Hello"
text += " World"   # то же самое, что text = text + " World"

Поддерживаемые сокращения

Существует сокращенная форма почти для всех операторов: +=, -=, *=, /=, //=, %=, **=. Все они работают по одному принципу: берут текущее значение переменной, применяют операцию и сохраняют результат в ту же переменную.

Задание

Операторы синтаксического сахара особенно удобны, когда нужно постепенно собрать итоговое значение.

Реализуйте функцию build_progress_bar(), которая принимает количество выполненных шагов и общее количество шагов, а затем возвращает строку-индикатор прогресса.

Выполненные шаги обозначаются символом #, а оставшиеся — символом -. Старайтесь не использовать встроенные методы работы со строкой в своем решении.

build_progress_bar(0, 5)  # '-----'
build_progress_bar(3, 5)  # '###--'
build_progress_bar(5, 5)  # '#####'

Вам пригодится оператор +=, чтобы постепенно собирать новую строку внутри цикла while. А также он будет полезен, чтобы управлять условием цикла.

Коммерческий опыт и Трудоустройство

Полезное

  • Синтаксический сахар

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс Python
/

Синтаксический сахар

Python: Синтаксический сахар

В программировании часто встречаются повторяющиеся конструкции. В Python, как и во многих других языках, есть возможность сокращать их запись. Такие упрощения называются синтаксическим сахаром. Они делают процесс написания кода короче и удобнее, сохраняя тот же результат.

Сокращенные формы присваивания

Часто требуется изменить значение переменной, прибавив или вычтя что-то, умножив или разделив на число. Базовый вариант выглядит так:

index = index + 1
count = count * 2
total = total - 5
price = price / 3

Python позволяет записывать это короче, с помощью комбинированных операторов:

index += 1     # то же самое, что index = index + 1
count *= 2     # то же самое, что count = count * 2
total -= 5     # то же самое, что total = total - 5
price /= 3     # то же самое, что price = price / 3

В циклах такие сокращения встречаются особенно часто. В них мы обычно меняем счетчик и накапливаем результат:

sum = 0
index = 1

while index <= 5:
    sum += index      # то же самое, что sum = sum + index
    index += 1        # то же самое, что index = index + 1

print(sum)  # => 15

Без сокращений тело цикла было бы длиннее:

while index <= 5:
    sum = sum + index
    index = index + 1

Другие операции

Такая запись работает с числами и с другими типами данных.

Для строк используется оператор конкатенации:

text = "Hello"
text += " World"   # то же самое, что text = text + " World"

Поддерживаемые сокращения

Существует сокращенная форма почти для всех операторов: +=, -=, *=, /=, //=, %=, **=. Все они работают по одному принципу: берут текущее значение переменной, применяют операцию и сохраняют результат в ту же переменную.

Задание

Операторы синтаксического сахара особенно удобны, когда нужно постепенно собрать итоговое значение.

Реализуйте функцию build_progress_bar(), которая принимает количество выполненных шагов и общее количество шагов, а затем возвращает строку-индикатор прогресса.

Выполненные шаги обозначаются символом #, а оставшиеся — символом -. Старайтесь не использовать встроенные методы работы со строкой в своем решении.

build_progress_bar(0, 5)  # '-----'
build_progress_bar(3, 5)  # '###--'
build_progress_bar(5, 5)  # '#####'

Вам пригодится оператор +=, чтобы постепенно собирать новую строку внутри цикла while. А также он будет полезен, чтобы управлять условием цикла.

Коммерческий опыт и Трудоустройство

Полезное

  • Синтаксический сахар

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

import solution


def test1():
    assert solution.build_progress_bar(0, 5) == "-----"
    assert solution.build_progress_bar(3, 5) == "###--"
    assert solution.build_progress_bar(5, 5) == "#####"
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →