从Python开始学编程
Chapter 2, Appendix A, Exam.
https://book.douban.com/subject/26919485/
..
from itertools import repeat
def gen():
  int_rate = [0.01, 0.02, 0.03, 0.035, 0.05]
  for r in int_rate:
    yield r
  for r in repeat(0.05):
    yield r 
def num_year_pay() :
  house_price = 500000
  year_pay = 30000
  year_n = 1
  rem = house_price
  print(year_pay)
  for r in gen():
    if rem <=0:
      break
    print(r)
    rem = rem * (1 + r) - year_pay
    year_n = year_n + 1
    print(rem)
  return year_n
if __name__ == "__main__":
  print("Number of years to pay loan: ", num_year_pay())
Number of years to pay loan:  31
 
