Question

Please answer in Python with indentation, ty. The credit plan at TidBit Computer Store specifies a...

Please answer in Python with indentation, ty.

The credit plan at TidBit Computer Store specifies a 10% down payment and an annual interest rate of 12%. Monthly payments are 5% of the listed purchase price, minus the down payment.

Write a program that takes the purchase price as input. The program should display a table, with appropriate headers, of a payment schedule for the lifetime of the loan. Each row of the table should contain the following items:

  1. The month number (beginning with 1)
  2. The current total balance owed
  3. The interest owed for that month
  4. The amount of principal owed for that month
  5. The payment for that month
  6. The balance remaining after payment

The amount of interest for a month is equal to balance × rate / 12.

The amount of principal for a month is equal to the monthly payment minus the interest owed.

An example of the program input and output is shown below:

Enter the puchase price: 200

Month  Starting Balance  Interest to Pay  Principal to Pay  Payment  Ending Balance
 1         180.00           1.80             7.20             9.00           172.80
 2         172.80           1.73             7.27             9.00           165.53
 3         165.53           1.66             7.34             9.00           158.18
 4         158.18           1.58             7.42             9.00           150.77
 5         150.77           1.51             7.49             9.00           143.27
 6         143.27           1.43             7.57             9.00           135.71
 7         135.71           1.36             7.64             9.00           128.06
 8         128.06           1.28             7.72             9.00           120.34
 9         120.34           1.20             7.80             9.00           112.55
10         112.55           1.13             7.87             9.00           104.67
11         104.67           1.05             7.95             9.00            96.72
12          96.72           0.97             8.03             9.00            88.69
13          88.69           0.89             8.11             9.00            80.57
14          80.57           0.81             8.19             9.00            72.38
15          72.38           0.72             8.28             9.00            64.10
16          64.10           0.64             8.36             9.00            55.74
17          55.74           0.56             8.44             9.00            47.30
18          47.30           0.47             8.53             9.00            38.77
19          38.77           0.39             8.61             9.00            30.16
20          30.16           0.30             8.70             9.00            21.46
21          21.46           0.21             8.79             9.00            12.68
22          12.68           0.13             8.87             9.00             3.80
23           3.80           0.00
0 0
Add a comment Improve this question Transcribed image text
Answer #1

Code:

from prettytable import PrettyTable #importing PrettyTable to print data in table

price=int(input("Enter the purchase price: ")) #asking user to enter purchase price

table = PrettyTable() #creating table objects

table.field_names = ["Month", "Starting Balance", "Interest to Pay", "Prinicipal to Pay","Payment","Ending Balance"] #adding header of tables

price=price - (price*(10/100)) #subtracting down payment from purchased price

monthly_payment = (price*(5/100)) #calculating monthly payment

month=1 #initiate month to 1

while (price>0): #Iterate loop untill price > 0

interest_to_pay = (price * (12/100))/12 #find interest to pay

principal_to_pay = monthly_payment-interest_to_pay #compute principal to pay

payment_ending_balance = price - principal_to_pay #compute payment ending balance

if price<monthly_payment: #if price less than monthly payment then print last monht and its price.
  
table.add_row([round(month,2),round(price,2),round(0.00,2),"","",""])


else: #else add the rows of every month

table.add_row([round(month,2),round(price,2),round(interest_to_pay,2),round(principal_to_pay,2),round(monthly_payment,2),round(payment_ending_balance,2)])

price=payment_ending_balance #change the price

month+=1 #increment the months

print(table)

Code and Output Screenshots:

from prettytable import PrettyTable #importing PrettyTable to print data in table price=int (input (Enter the purchase price

Enter the purchase price: 200 +------- | Month | Starting Balance | Interest to Pay | Prinicipal to Pay | Payment | Ending BaNote: Here for better looking of table we have printed the table using PrettyTable so please install the package by usin pip install PrettyTable if it doesn't exist .In python Indentations are very important . So for perfect indentation please observe the attached code snippet.

Note: If you have any queries please post a comment thanks a lot..always available to help you...

Add a comment
Know the answer?
Add Answer to:
Please answer in Python with indentation, ty. The credit plan at TidBit Computer Store specifies a...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • PYTHON CODE PLEASE!!! The credit plan at TidBit Computer Store specifies a 10% down payment and...

    PYTHON CODE PLEASE!!! The credit plan at TidBit Computer Store specifies a 10% down payment and an annual interest rate of 12%. Monthly payments are 5% of the listed purchase price, minus the down payment. Write a program that takes the purchase price as input. The program should display a table, with appropriate headers, of a payment schedule for the lifetime of the loan. Each row of the table should contain the following items: The month number (beginning with 1)...

  • Please I wish you use Python 3.7 for this problems. Q1. Write a program that receives...

    Please I wish you use Python 3.7 for this problems. Q1. Write a program that receives a series of numbers from the user and allows the user to press the enter key to indicate that he or she is finished providing inputs. After the user presses the enter key, the program should print the sum of the numbers and their average. Q2. The credit plan at TidBit Computer Store specifies a 10% down payment and an annual interest rate of...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT