我正在尝试创建一个跟踪退休财务状况的基本计划。到目前为止,我得到的是一个条目的输入并存储它。下次我运行它时,前面的值会被删除。理想情况下,我想要的是一个程序,无限期地附加到一个列表,如果我打开它从现在起两个星期,我希望能够看到dict格式的当前数据,并添加到它。我设想运行这个脚本,输入帐户名和余额,然后关闭它,稍后再执行
几个问题:
谢谢
from datetime import datetime
Account = {
"name": [],
"month": [],
"day": [],
"year": [],
"balance": []
}
finance = [Account]
def finance_data(name, month, day, year, balance):
Account['name'].append(name)
Account['month'].append(month)
Account['day'].append(day)
Account['year'].append(year)
Account['balance'].append(balance)
print(finance)
finance_data('HSA',
datetime.now().month,
datetime.now().day,
datetime.now().year,
500)
当您运行脚本并将值放入代码中定义的变量中时,这些值只会持续程序运行的时间。每次运行脚本时,它都会从代码中定义的初始状态重新开始,因此不会保存上次运行脚本时的状态
您需要的是持续时间超过脚本运行时的持久数据。通常,我们通过创建一个数据库来实现这一点,使用脚本将新数据写入数据库,然后,当脚本接下来运行时,从数据库中读取旧值以记住过去发生的事情。然而,由于您的用例较小,它可能不需要完整的数据库系统。相反,我建议将数据写入文本文件,然后从文本文件中读取以获取旧数据。你可以这样做:
在这里,我假设我们组织文本文件,使每一行都是一个条目,条目以“|”分隔,例如: 鲍勃| 12 | 30 | 1994 | 500 罗布| 11 | 29 | 1993 | 499
因此,我们可以将文本解析到Account字典中。现在,让我们看看如何将数据输入到文本文件中:
注意这里我是如何用我定义的预期格式将它写入数据存储的。如果不将其写入文本文件,它将不会保存数据并在下次运行时可用
另外,我还使用输入来获取名称和平衡,这样它更具动态性。在收集输入之后,您可以放置if语句以确保它是一个有效的名称,然后使用某种while循环结构来不断请求名称,直到它们输入一个有效的名称为止
您可能希望提取将值添加到Account的代码,并将其放入helper函数中,因为我们使用同一代码两次
祝你好运
相关问题 更多 >
编程相关推荐