🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib Питон для всех
Вы заказываете пиццу с друзьями и хотите разделить счет. Пользователь вводит стоимость пиццы, общее количество человек (включая себя) и процент чаевых, которые вы хотите оставить. Напишите программу, которая рассчитает, сколько должен заплатить каждый.
Одна строка, содержащая три целых числа, разделенных пробелами: стоимость пиццы, количество человек и процент чаевых.
Строка вида "Каждый платит: X руб.", где X – это итоговая сумма для одного человека. Сумма должна быть целым числом (дробная часть отбрасывается).
800 4 10
Каждый платит: 220 руб.
В Python есть удобная возможность считать несколько переменных за один вызов input(). Это особенно полезно в задачах, где данные подаются в одной строке, разделенные каким-либо символом (чаще всего пробелом).
Как это работает:
input() считывает всю строку целиком, например "20 30"..split() "разрезает" эту строку по указанному разделителю (по умолчанию — по пробелу) и создает список из строк: ['20', '30'].map(int, ...) применяет функцию int (преобразование в целое число) к каждому элементу этого списка. В результате получается специальный map-объект.a и b.Пример: Ввод:
20 30
Считываем:
a, b = map(int, input().split()) # можно использовать float, если нужны дробные числа
print(a, b) # выведет 20 30
print(type(a)) # выведет <class 'int'>
Полезные советы:
20,30), укажите это в методе split(): input().split(',').= соответствует количеству значений в строке. Если они не совпадут, программа выдаст ошибку ValueError.В Python существует три различных оператора для деления, и каждый из них служит своей цели.
/ — Обычное (вещественное) деление Этот оператор всегда возвращает в результате дробное число (float), даже если числа делятся нацело.
a = 27
b = 10
print(a / 5) # выведет 5.4
print(b / 2) # выведет 5.0 (обратите внимание, не 5, а 5.0)
// — Целочисленное деление (деление нацело) Этот оператор выполняет деление и отбрасывает дробную часть, возвращая целое число (int). Он как бы отвечает на вопрос "сколько раз одно число целиком помещается в другом?".
a = 27
print(a // 5) # выведет 5 (потому что 5 помещается в 27 пять полных раз)
% — Остаток от деления (деление по модулю) Этот оператор возвращает то, что "осталось" после целочисленного деления.
a = 27
print(a % 5) # выведет 2
# Логика: ближайшее к 27 число, которое делится на 5 без остатка, это 25.
# Разница: 27 - 25 = 2.
Практическое применение %: Самое частое использование оператора % — это проверка на четность. Любое четное число делится на 2 без остатка, а нечетное — с остатком 1.
a = 27
b = 14
print(f"Число {a} нечетное? Остаток от деления на 2: {a % 2}") # выведет 1
print(f"Число {b} четное? Остаток от деления на 2: {b % 2}") # выведет 0
Для возведения числа в степень в Python используется оператор **.
a = 2
b = 3
print(a**3) # выведет 8 (2 в степени 3)
print(b**2) # выведет 9 (3 в степени 2)
Полезные советы:
0.5.
print(9**0.5) # выведет 3.0
pow(a, b), которая делает то же самое, что и a**b.
print(pow(2, 3)) # выведет 8
Функция print() выводит данные на экран. Просто складывать строки и переменные через + неудобно, так как числа нужно постоянно превращать в строки с помощью str(). Современный Python предлагает более изящные способы.
f-строки (f-strings) — рекомендуемый способ: Это самый современный, быстрый и читаемый способ. Перед строкой ставится буква f, а переменные или выражения указываются внутри фигурных скобок {}.
name = "Alice"
age = 30
print(f"Имя: {name}, Возраст: {age}")
# Вывод: Имя: Alice, Возраст: 30
Преимущество: можно прямо внутри скобок выполнять операции.
print(f"Через год ей будет {age + 1}")
# Вывод: Через год ей будет 31
Метод .format() — более старый, но все еще актуальный способ: В строке ставятся пустые фигурные скобки {}, а после строки вызывается метод .format(), в который передаются переменные.
name = "Alice"
age = 30
print("Имя: {}, Возраст: {}".format(name, age))
# Вывод: Имя: Alice, Возраст: 30
Полезные советы для print():
sep: По умолчанию print разделяет свои аргументы пробелом. Это можно изменить.
print(1, 2, 3, sep="-") # выведет 1-2-3
end: По умолчанию print после вывода добавляет перенос на новую строку \n. Это тоже можно изменить, чтобы следующие выводы print продолжались на той же строке.
print("Привет, ", end="")
print("мир!")
# Вывод будет в одну строку: Привет, мир!
# Считываем стоимость, количество человек и процент чаевых из одной строки
price, people_count, tip_percentage = map(int, input().split())
# Рассчитываем общую сумму с учетом чаевых
# 1. Находим сумму чаевых: цена * (процент / 100)
total_tip = price * (tip_percentage / 100)
# 2. Находим итоговую стоимость: цена + чаевые
total_cost = price + total_tip
# 3. Делим итоговую стоимость на количество человек
# Используем функцию int() для получения целого числа, отбрасывая дробную часть (копейки)
amount_per_person = int(total_cost / people_count)
# Выводим результат в нужном формате
print(f"Каждый платит: {amount_per_person} руб.")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...