1+
2+ import csv
3+ def get_int (prompt ,low ):
4+
5+ returnLoan = int (input (prompt ))
6+ return returnLoan
7+ def get_float (prompt ,low ):
8+
9+ getFloat = float (input (prompt ))
10+ return getFloat
11+ def calculate_simple_interest (principle ,interest_rate ,year = 1 ):
12+ simpleInterest = principle * (interest_rate / 100 )* year
13+ return simpleInterest
14+ def write_to_csv (file_name ,data ,col_separator ):
15+ header = ['Loan' , 'Rate' , 'Time' , 'Interest' ]
16+ with open (file_name ,"w" ,newline = '\n ' ) as f :
17+ writer = csv .writer (f )
18+ writer .writerow (header )
19+ writer .writerow (data )
20+
21+ def read_and_display (file_name ,col_separator = "," ):
22+ r = []
23+ with open (file_name ,'r' ) as f :
24+ csvreader = csv .reader (f )
25+ flag = 0
26+ for row in csvreader :
27+ if (flag == 0 ):
28+ flag = 1
29+ print (row ,"\n " )
30+ else :
31+ for rows in row :
32+ s = ''
33+ l = []
34+ print (rows )
35+ l = list (rows .split ("," ))
36+ s = "The interest on a loan of $" + str (l [0 ][1 :])+ " at " + str (l [1 ])+ "% interest rate for " + str (l [2 ])+ " yearsis $" + str (l [3 ][0 :- 1 ])+ "."
37+ r .append (s )
38+
39+ for i in r :
40+ print (i )
41+ f .close ()
42+
43+
44+ result = []
45+ while (True ):
46+ while (True ):
47+ principle = get_int ("Please enter the amount of loan:" ,0 )
48+ if (principle <= 0 ):
49+ print ("Entry must be an integer greater than 0 please try again" )
50+ else :
51+ break
52+ while (True ):
53+ interestRate = get_float ("Please enter the interest rate:" ,0 )
54+ if (interestRate < 0 ):
55+ print ("Entry must be a floating number greater than 0 Please try again" )
56+ else :
57+ break
58+ while (True ):
59+ year = get_int ("Please enter the number of years:" ,0 )
60+ if (year < 0 ):
61+ print ("Entry must be an integer greater than 0 Please try again" )
62+ else :
63+ break
64+ result .append ([principle ,interestRate ,year ,calculate_simple_interest (principle ,interestRate ,year )])
65+
66+ choice = input ("Do you want to do another calculation? (y for yes)" )
67+ if (choice == 'n' ):
68+
69+ write_to_csv ("simple.CSV" ,result ,"," )
70+ break
71+ read_and_display ("simple.CSV" ,"," )
0 commit comments