← ДУП.03 · Введение в технологии ИИ
Один урок (~45 мин), ссылка открыта без пароля группы.
Оператор return и разбиение сложной задачи на серию простых функций.
Код — в OnlineGDB (Python 3).
Дополнительно: online-python-compiler.ru.
Опора: ветвления из ПЗ №21 и ПЗ №22.
return завершает функцию и отдаёт значение туда, откуда её вызвали. print только показывает текст на экране и ничего не возвращает для дальнейших расчётов.
def square(n):
return n * n
area = square(4) # area станет 16
print(area)
def shout(name):
print("Привет,", name) # на экране есть текст
x = shout("Анна")
print(x) # None — функция ничего не вернула
| print(...) | return ... | |
|---|---|---|
| Что делает | выводит на экран | отдаёт значение вызывающему коду |
| Можно сохранить в переменную | получится None | да: x = f() |
| Код функции после этой строки | продолжается | не выполняется |
return нет, Python всё равно завершает функцию и возвращает None.
Сложную программу режут на маленькие функции. Каждая делает одно дело и возвращает результат. Главный код только собирает их вместе.
def discount(price, percent):
return price * (100 - percent) / 100
def label(price, final):
return f"было {price}, стало {final}"
def main():
price = 1000
final = discount(price, 10)
print(label(price, final))
main()
1. Оператор return нужен, чтобы…
2. Если в функции нет return, вызов вернёт…
3. Декомпозиция кода — это…
Напишите две функции. Внутри них — return, печать только снаружи.
celsius_to_fahrenheit(c) возвращает c * 9 / 5 + 32.is_even(n) возвращает True или False.def celsius_to_fahrenheit(c):
return c * 9 / 5 + 32
f = celsius_to_fahrenheit(0)
print(f) # 32.0
Одна «большая» задача — цена со скидкой и короткая строка чека. Не пишите всё в одном блоке без функций.
final_price(price, percent) — возвращает цену после скидки.receipt_line(name, price, percent) — вызывает final_price и возвращает строку вида Чай: 90.0.main() вызовите receipt_line для двух товаров и напечатайте строки.print — только return.Ориентир: от 7 из 10.
1. Строка return в функции…
2. После x = f(), если f только печатает и не делает return, в x будет…
3. Код функции, записанный ниже return…
4. def add(a, b): return a + b и s = add(2, 3). Чему равно s?
5. Хорошая декомпозиция — это когда…
6. return "ok" возвращает значение типа…
7. Чтобы использовать результат функции в расчёте, пишут…
8. Функция def ping(): print("pong") при вызове print(ping()) напечатает…
9. Зачем дробить задачу на функции с return?
10. В return можно поставить…
Нажмите «Собрать отчёт».