Как сделать простой калькулятор процентов

#python

Вопрос:

Я пытаюсь сделать вызов для практики. Я пытаюсь использовать входные данные, чтобы решить, сколько вы заплатили бы по кредиту. Действительно основные вещи — но когда я печатаю, я получаю все, что было написано во входных данных, повторяясь снова и снова, и я не могу понять, в чем я ошибаюсь. Код, который я пытаюсь запустить, таков:

 # $200 a month at 1.7% interest a year. Automate total based on months using user input.

months_given = input("How many months? ")

monthly_base = 200
yearly_tax = (1.7 / 100 / 12)
monthly_tax = (200 * yearly_tax)
monthly_total = int(monthly_tax   200)
total = int(months_given * monthly_total)


print(f"You will need to pay: ${round(total, 2)}")
 

Я пробовал использовать циклы for/while, но я еще не разбираюсь в них и все еще пытаюсь понять, как именно они работают.

Комментарии:

1. Попробуйте использовать months_given = int(input("How many months? ")) , т. е. Преобразовать входные данные в int . В вашем коде months_given это str , months_given * 2 например, равно months_given повторяется дважды.

2. Это сработало идеально. Я добавил (monthly_tax * months_given) в конец своей общей строки, и это добавило процент. Вероятно, шагов было больше, чем нужно, но это сработало. Спасибо!

Ответ №1:

Вам нужно сначала разобрать свой input , а затем использовать его. когда вы используете input его, вернитесь str .

в этой total = int(months_given * monthly_total) строке. months_given является str и когда вы используете * оператор , а второй операнд является int , str значение повторяется.

правильный:

 months_given = input("How many months? ")
months_given = int(months_given) # <-- here
monthly_base = 200
yearly_tax = (1.7 / 100 / 12)
monthly_tax = (200 * yearly_tax)
monthly_total = int(monthly_tax   200)
total = int(months_given * monthly_total)


print(f"You will need to pay: ${round(total, 2)}")