🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Представьте, что вы пришли в банк "Золотой Рубль", чтобы открыть вклад. Менеджер предлагает вам программу с ежемесячной капитализацией процентов. Это значит, что каждый месяц начисленные проценты прибавляются к основной сумме вклада, и в следующем месяце проценты будут начисляться уже на новую, увеличенную сумму.
Напишите программу, которая рассчитает, какая итоговая сумма окажется на вашем счете через определенное количество месяцев, а также посчитает вашу чистую прибыль от вклада. Так как там будет много знаков после запятой, давайте выведем только целую часть числа.
Программа получает на вход три значения, каждое на новой строке:
Программа должна вывести две строки:
Итоговая сумма на счете: и через пробел итоговую сумму (int).Чистая прибыль: и через пробел сумму чистой прибыли (int).100000
12
3
Итоговая сумма на счете: 103030.1
Чистая прибыль: 3030
В 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("мир!")
# Вывод будет в одну строку: Привет, мир!
# Считываем начальные данные, преобразуя их в нужные типы
initial_sum = float(input())
annual_rate = float(input())
months = int(input())
# Вычисляем месячную процентную ставку в долях от единицы
monthly_rate = annual_rate / 12 / 100
# Рассчитываем итоговую сумму по формуле сложных процентов
final_sum = initial_sum * (1 + monthly_rate) ** months
# Рассчитываем чистую прибыль
profit = final_sum - initial_sum
# Выводим результат
print("Итоговая сумма на счете:", int(final_sum))
print("Чистая прибыль:", int(profit))
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...