#f. Output format
12 spaces between the first letter of “Name” and “Grade”
print("Name %12s" % "Grade")
print("123456789012345678901234567890")
>>>
Name Grade
123456789012345678901234567890
>>>
The firs %10s is for “Name” right justified.
The second %10s is for “Grade” also right justified.
print("%10s%10s" % ("Name","Grade"))
print("123456789012345678901234567890")
>>>
Name Grade
123456789012345678901234567890
>>>
The number 18129.06 has to fit in 10 spaces including the decimal
period, the two decimal digits after the period and right justified.
print("%10.2f" % (400.2 * 45.3))
print("123456789012345678901234567890")
>>>
18129.06
123456789012345678901234567890
>>>
The two floating point numbers has to fit in 10 spaces and right justified.
print("%10.2f%10.2f" % (400.2 * 45.3, 55*123.2))
print("123456789012345678901234567890")
>>>
18129.06 6776.00
123456789012345678901234567890
>>>
Let’s make use of the for loop, the range and the output formatting:
#g. Calculating compound interest
principal = 1000.00 # starting principal
rate = 0.5 # interest rate
print ("Year %21s" % "Amount on deposit:")
## 1234123456789012345678901
## Year Amount on deposit:
for year in range (1,11):
amount = principal * ( 1.0 + rate ) ** year # amount = principal * ( 1 + rate )^year
print ("%4d%21.2f" % (year,amount)) # cool format to display a table
## %4d is for a number of 4 digits for variable year
## %21.2f is for a number of 21 positions: 18 digits, a decimal period and 2 decimal places
####################################################################################
# %21.2f indicates that variable amount is printed as a float-point value with a
# decimal point.
# The column has a total field width of 21 character positions and two digits of
# precision to the right of the decimal point; the total field width includes the
# decimal point and the two digits to its right, hence 18 of the 21 positions appear
# to the left of the decimal point.
####################################################################################
print("1234123456789012345678.90")
##
##Year Amount on deposit:
## 1 1500.00
## 2 2250.00
## 3 3375.00
## 4 5062.50
## 5 7593.75
## 6 11390.62
## 7 17085.94
## 8 25628.91
## 9 38443.36
## 10 57665.04
##1234123456789012345678.90
