L2 Открытый урок · Новичок

L2.4. Python I: типы, условия, циклы, функции

Минимум Python для AI-инженера: строки и числа, условия, циклы, функции, списки и словари. 20 коротких задач для практики.

Объём
6 уроков · 16 часов
Компетенции
PROG-01·F

Минимум, с которого начинаем

name = "Аня"                 # строка (str)
age = 25                     # целое число (int)
price = 1490.0               # дробное (float)
is_paid = True               # логическое (bool)

if age >= 18:                # условие
    print(f"{name}, доступ открыт")    # f-строка подставляет значения
else:
    print("доступ закрыт")

for i in range(3):           # цикл: 0, 1, 2
    print(i)

def total(price: float, qty: int) -> float:   # функция с подсказками типов
    return price * qty

items = ["картридж", "кран"]            # список (list) — упорядоченный
prices = {"картридж": 1490, "кран": 990}  # словарь (dict) — по ключу
print(prices["картридж"] * 2)

Список или словарь? Список — когда важен порядок и вы идёте по элементам. Словарь — когда нужно быстро найти значение по ключу («цена по названию»).

Практикум: 20 коротких задач

Каждая — функция. Проверьте сами на 2–3 примерах, затем сдайте файлом.

  1. greet(name) → «Привет, Аня!»
  2. is_even(n) — чётное ли число.
  3. max3(a, b, c) — максимум из трёх без встроенной max.
  4. sum_to(n) — сумма чисел от 1 до n циклом (sum_to(100) == 5050).
  5. factorial(n); factorial(0) == 1.
  6. fizzbuzz(n) — «Fizz», если делится на 3, «Buzz» — на 5, «FizzBuzz» — на 15, иначе число строкой.
  7. reverse(s) — строка задом наперёд.
  8. is_palindrome(s) без учёта регистра и пробелов («А роза упала на лапу Азора» → True).
  9. count_vowels(s) — число русских гласных («Привет, мир» → 3).
  10. mean(xs) — среднее; для пустого списка 0.
  11. positives(xs) — только положительные.
  12. squares(xs) — квадраты элементов.
  13. word_freq(text) — словарь «слово → сколько раз».
  14. top_word(text) — самое частое слово; при равенстве — первое по алфавиту.
  15. unique(xs) — без повторов, порядок сохранить.
  16. merge_prices(a, b) — объединить два словаря цен; при совпадении ключа побеждает b.
  17. cart_total(prices, cart) — сумма корзины ({"картридж": 2, "кран": 1} при ценах 1490 и 990 → 3970).
  18. grade(score) — «отлично» от 85, «хорошо» от 70, «удовлетворительно» от 50, иначе «не сдано».
  19. chunks(xs, n) — разбить список на части по n ([1,2,3,4,5], 2 → [[1,2],[3,4],[5]]).
  20. request_cost(in_tok, out_tok, price_in, price_out) — цена запроса к модели при ценах за 1M токенов (3000 и 1500 токенов при $4 / $20 → $0,042).

Диагностика уровня

С какого уровня начать?

Оставьте контакты — свяжемся, зададим несколько вопросов об опыте и целях и подскажем уровень входа: с нуля, с середины программы или через Fast Track для разработчиков.

Или напишите: hello@superint.ru