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