Нашли ошибку?
Скачать чистый
урок 1 из 5≈ 15 минупражнения: 0 из 5

Python-минимум

Самопроверка перед курсом — списки и срезы, словари, циклы, функции, генераторы списков. Если всё решается легко, вы готовы.

Python запустится при первом выполнении

Курс рассчитан на тех, кто уже пишет простые программы на Python. Этот урок — не объяснение, а самопроверка: пять коротких упражнений на то, что понадобится дальше. Если они решаются за пару минут — смело идите к следующему уроку. Если какое-то не получается, в конце урока есть ссылки, что повторить.

Заодно познакомьтесь с устройством уроков. Серые блоки — ячейки кода: нажмите «Выполнить», и код выполнится прямо в браузере. Под ячейкой виден сохранённый вывод — так он выглядел, когда урок писали; после запуска появится ваш. Код можно изменить кнопкой «Изменить» и вернуть обратно. Все ячейки урока работают в одной программе: переменная из одной ячейки видна в следующих — как в Jupyter-ноутбуке.

Списки и срезы

Список хранит значения по порядку. Индекс первого элемента — 0, отрицательный индекс считает с конца, а срез [начало:конец] берёт кусок списка — конец в срез не входит:

[ ]Индексы и срезы списка
scores = [72, 85, 90, 64, 88, 95]
print(scores[0], scores[-1])   # первый и последний
print(scores[1:3])             # элементы с индексами 1 и 2
print(len(scores))
Выводсохранённый · нажмите «Выполнить», чтобы получить свой
72 95
[85, 90]
6
[ ]Упражнение 1Три последние оценки решено

В списке scores — баллы за тесты по порядку. Сохраните в last3 список из трёх последних баллов.

last3 = ...

Словари

Словарь хранит пары «ключ → значение». Значение достают по ключу в квадратных скобках, так же добавляют новую пару:

[ ]Словарь: остатки на складе
stock = {"кофе": 12, "чай": 30, "сахар": 7}
print(stock["кофе"])
stock["молоко"] = 4
print(stock)
Выводсохранённый · нажмите «Выполнить», чтобы получить свой
12
{'кофе': 12, 'чай': 30, 'сахар': 7, 'молоко': 4}
[ ]Упражнение 2Приход товара решено

В словаре stock — остатки на складе. Сохраните в tea остаток чая, а потом добавьте в stock новый товар: "какао", 5 штук.

tea = ...
# добавьте в stock какао — 5 штук

Циклы и условия

for перебирает элементы по одному, if выполняет код только при условии:

[ ]Сумма по условию
sales = [3, 0, 5, 2, 0, 4]
days_with_sales = 0
for s in sales:
    if s > 0:
        days_with_sales = days_with_sales + 1
print(days_with_sales)
Выводсохранённый · нажмите «Выполнить», чтобы получить свой
4
[ ]Упражнение 3Только прибыльные дни решено

В списке profit — прибыль кофейни по дням (отрицательная — убыток). Посчитайте циклом сумму только положительных значений и сохраните её в positive_total.

profit = [1200, -300, 450, 0, -150, 800]
positive_total = ...

Функции

Функция получает аргументы и возвращает результат через return:

[ ]Своя функция
def with_discount(price, percent):
    return price * (100 - percent) / 100


print(with_discount(200, 10))
print(with_discount(80, 25))
Выводсохранённый · нажмите «Выполнить», чтобы получить свой
180.0
60.0
[ ]Упражнение 4Среднее значение решено

Напишите функцию average(numbers), которая возвращает среднее арифметическое списка чисел: сумму, делённую на количество.

def average(numbers):
    ...  # верните среднее

Генераторы списков

Генератор списка (list comprehension) строит новый список из старого одной строкой: выражение, for и при желании if:

[ ]Новый список из старого
prices = [120, 80, 45, 300]
print([p * 2 for p in prices])
print([p for p in prices if p < 100])
Выводсохранённый · нажмите «Выполнить», чтобы получить свой
[240, 160, 90, 600]
[80, 45]
[ ]Упражнение 5Квадраты чисел решено

Сохраните в squares список квадратов чисел от 1 до 10: [1, 4, 9, …, 100]. Сделайте это одной строкой — генератором списка.

squares = ...

Что повторить, если не получилось

Не получилось Что повторить
срезы Списки в учебнике Python
словари Словари
циклы и условия for и if
функции Как определить функцию
генераторы списков List comprehensions

Всё решилось? Отлично — в следующем уроке появится NumPy.

Нашли ошибку?