🏃 Разминка
Вопрос 1. Какой результат?
name = "Alice"
age = 30
text = "My name is %d and I am %s years old." % (name, age)
print(text)
- a.
"My name is Alice and I am 30 years old." - b.
"My name is %s and I am %d years old." - c. Ошибка
- d.
"My name is Alice and I am %d years old."
Ответ: c — %d ожидает число, а передана строка.
Вопрос 2. Какой результат?
pi = 3.14159
text = "The value of pi is approximately %.2f." % pi
print(text)
- a.
"The value of pi is approximately 3.14." - b.
"The value of pi is approximately 3.14159." - c. Ошибка
- d.
"The value of pi is approximately %.2f."
Ответ: a — %.2f округляет до двух знаков.
Вопрос 3. Какой результат?
text = f"The sum of {10} and {20} is {10 + 20}."
print(text)
- a.
"The sum of 10 and 20 is 30." - b.
"The sum of 10 and 20 is {10 + 20}." - c. Ошибка
- d.
"The sum of {10} and {20} is {10 + 20}."
Ответ: a — f-string вычисляет выражение в фигурных скобках.
Вопрос 4. Какой результат?
text = "The {0} is {color}.".format("sky", color="blue")
print(text)
- a.
"The sky is color." - b.
"The {0} is {color}." - c.
"The sky is blue." - d.
"The 0 is color."
Ответ: c — позиционный аргумент 0 и именованный color.
Вопрос 5. Какой результат?
number = 1234.5678
print(f"Formatted number: {number:.2f}")
- a.
"Formatted number: 1234.5678" - b.
"Formatted number: 1234.57" - c.
"Formatted number: 1234.56" - d.
"Formatted number: 1234.56f"
Ответ: b — округление до двух знаков.
Вопрос 6. Какой результат?
large_number = 9876543210
print(f"The number is: {large_number:,}")
- a.
"The number is: 9876,543,210" - b.
"The number is: 9,876543210" - c.
"The number is: 9,876,543,210" - d.
"The number is: 9876543210,"
Ответ: c — запятые разделяют каждые три разряда.
Вопрос 7. Какой результат?
text = f"{'Python':_^10}"
print(text)
- a.
"Python____" - b.
"__Python__" - c.
"Python " - d. Ошибка
Ответ: b — ширина 10, центрирование, заполнение _.
🏋️ Практические задачи
Задача 1. Счётчик слов
Условие: напишите программу, которая обрабатывает строку и выводит её, добавив к каждому слову его порядковый номер, выравнивая текст по левому краю с длиной в 15 символов. Слова выводите с большой буквы.
Пример вывода:
Введите строку: Hello world Python is great
1. Hello
2. World
3. Python
4. Is
5. Great
Подсказка: используйте split(), capitalize() и f"{i}. {word:<15}".
Задача 2. Формат даты
Условие: напишите программу, которая принимает дату в виде числа, месяца и года, а затем выводит её в формате dd/mm/yyyy, где день и месяц всегда состоят из двух цифр.
Пример вывода:
Введите день: 3
Введите месяц: 7
Введите год: 2024
Дата: 03/07/2024
Подсказка: используйте спецификатор :02.
Задача 3. Сумма положительных чисел
Условие: обработайте список float чисел, вычислите сумму положительных чисел и выведите результат в формате денежной суммы: символ $, разделители тысяч и два знака после запятой.
numbers = [1245.4435, -302.1403, 87459.99, -520.8265, 1450.001]
Пример вывода:
Сумма положительных чисел: $90,155.43
Задача 4. Счета клиентов
Условие: программа принимает список строк в формате "name age balance" и выводит информацию о каждом человеке с отформатированными данными: имя — 10 символов, возраст — 3 символа, баланс — 10 символов с двумя знаками после запятой.
data_list = [
"John 23 12345.678",
"Alice 30 200.50",
"Bob 35 15000.3",
"Charlie 40 500.75"
]
Пример вывода:
Имя: John | Возраст: 23 | Баланс: 12345.68
Имя: Alice | Возраст: 30 | Баланс: 200.50
Имя: Bob | Возраст: 35 | Баланс: 15000.30
Имя: Charlie | Возраст: 40 | Баланс: 500.75