如何创建养老金计算器?

嗨伙计们,
我使用的是Windows7和Python2.7。
我需要从以下格式的文件中读取信息:
姓名/年龄/金额
例如:Johan/20/1000
例如,如果你有1000美元,20年的增长率为5%,那么它将是1000*1.05^20。
唯一不能从文件中读取的是从RAW_INPUT中读取的兴趣。
这是我到目前为止拥有的代码,我现在有点卡住了,不知道如何让它工作。我不太擅长处理类和对象……

选择 | 换行 | 行号
  1. import math
  2.  
  3. class Pension:
  4.  
  5.     def __init__(self, name, age, amount):
  6.         self.name = name
  7.         self.age = age
  8.         self.amount = amount
  9.  
  10.  
  11. def percentage():
  12.     p = float(raw_input('How many percent is the growth? '))
  13.     percentage = (p/100)+1
  14.     return percentage
  15.  
  16.  
  17. def read():
  18.     f = open('file.txt','r')
  19.     rad = f.readline()
  20.     info = list()
  21.     while rad != '':
  22.         rad = rad.rstrip('\n')
  23.         parts = rad.split('/')
  24.         name = str(parts[0])
  25.         age = int(parts[1])
  26.         amount = float(parts[2])
  27.         temp = Pension(name,age,amount)
  28.         info.append(temp)
  29.         rad = f.readline()
  30.     f.close()
  31.     return info
  32.  
  33.  
  34. def printing(info):
  35.     for i in range(len(info)):
  36.         print info[i]
  37.  
  38.  
  39.  
  40. percentage()
  41. info = read()
  42. printing(info)
  43.  
  44.  

如果你们谁能帮我一点忙,我会很高兴的:)
提前谢谢你了。

# 回答1


这是什么意思?一个明显的缺陷是,"info"是类的列表,因此您需要打印类的字段。下面是一个例子。看见
这里的"定义类"
获取基本的班级信息。请注意,您正在执行的操作与"使用类"中的操作相同,不同之处在于您是在循环中执行此操作。

选择 | 换行 | 行号
  1. def printing(info):
  2.     for class_instance in info:
  3.         print class_instance.name, class_instance.age, \
  4.               class_instance.amount
  5. ##
  6. ##   you could also add a print method to the class 
  7. ##
  8. class Pension:
  9.  
  10.     def __init__(self, name, age, amount):
  11.         self.name = name
  12.         self.age = age
  13.         self.amount = amount
  14.  
  15.     def print_data(self):
  16.         print self.name, self.age, self.amount
  17.  
  18. def printing(info):
  19.     for class_instance in info:
  20.         class_instance.print_data() 
# 回答2


太好了!
非常非常感谢你们。:D
现在我剩下的唯一一件事就是将公式与百分比相加,然后打印完成的列表,其中应该包括他们的名字以及他们到65岁时会有多少钱。
# 回答3


有没有办法使用sum()函数来计算这个值?
或者在Python中已经有一个积分函数,或者在数学模块中可能有一个积分函数?
[Amount*Math.pow(Percent,YearsLeft-1)+Amount*Math.pow(Percent,Images-Left-2)+Amount*Math.pow(Percent,YearsLeft-3)+...+Amount*Math.pow(Percent,YearsLeft-Years-Left)]之和
# 回答4


我的意思是:
(数量*math.pow(百分比,年左-n))其中n从0到年左

标签: python

添加新评论