Trouble с питоном 3x с входом и выходом из файловЧтения из файла в Python, с расщеплением
Таким образом, Im делает задание для моего компьютера класса науки и у меня небольшая проблема. Мой профессор хочет, чтобы мы добавили некоторые строки кода, которые требуют, чтобы программа открывала файл .txt и считывала данные из файла .txt через программу. В этом случае моя программа представляет собой ежемесячную платежную программу. Обычно вы просите пользователя указать, сколько он/она заимствует, процентную ставку и срок в годах. Но данные для всех трех из них уже предварительно записаны в файле .txt, в котором он хочет, чтобы мы считывали данные. Теперь у меня проблемы с моим кодом.
Это мой код:
import decimal
print("\t".join(s.rjust(15) for s in ("Payment", "Amount Paid", "Balance")))
print("-"*54)
filename = "LoanData.txt"
values = []
with open(filename) as f:
for line in f:
values.append([int(n) for n in line.strip().split(' ')])
for arr in values:
try:
balance,rate,term = arr[0],arr[1],arr[2]
except IndexError:
print ("Index error occured, a line doesn't have the crucial amount of entries.")
balance *= (1 + rate * term)
payment = balance/(12 * term)
total = 0
for month in range(12 * term):
if balance < payment:
payment = balance
print(("{: >15.2f}\t"*3)[:-1].format(payment, total, balance))
total += payment
balance -= payment
и это им ошибка при получении:
Traceback (most recent call last):
File "C:/Users/Python/Desktop/loan.py", line 11, in <module>
values.append([int(n) for n in line.strip().split(' ')])
File "C:/Users/Python/Desktop/loan.py", line 11, in <listcomp>
values.append([int(n) for n in line.strip().split(' ')])
ValueError: invalid literal for int() with base 10: '5.5'
Это то, что файл выглядит следующим образом:
5000 5.5 10
25000 10.0 10
100000 8.5 20
Он работает в определенной степени, это то, что он печатает, хотя: Оплата \t Сумма Paid \t Баланс ------------------------- ----------------------------- 71250,00 \t 0,00 \t 17100000,00 71250,00 \t 71250,00 \t 17028750,00 71250,00 \t 142500,00 \t 16957500,00 Он держит делая это для 100 строк –
Есть ли что-то не так с этим выходом, или это правильный вывод? –
Ну, это неправильно, но я думаю, что это может быть математика. В основном я пытаюсь рассчитать сумму кредита в месяц, и есть только 3 строки в тексте, а вот почему я не понимаю, почему он дает мне 400. –