我正在尝试为预算编制一个程序,我需要对它进行编程,以便无论何时运行代码,我都可以将我那周挣的钱加到总数中。我希望能够存储最新输入的金额pay_this_week
,并在每次运行代码时将其添加到total
。我是否应该将pay_this_week
放入一个列表并将其附加到total中
代码如下:
def money_earnt():
total = int()
while True:
try:
pay_this_week = int(input("How much money did you earn this week? "))
break
except ValueError:
print("Oops! That was no valid number. Try again...")
pay_this_week_message = "You've earnt £{0} this week!".format(pay_this_week)
total = pay_this_week + total
total_message = "You have earned £{0} in total!".format(total)
print(pay_this_week_message)
print(total_message)
money_earnt()
当程序运行时,它们使用的任何变量都存储在ram中,每当您关闭程序时,ram就会丢失。如果您希望在运行程序的两次之间存储数据,则需要将它们保存到文件中
幸运的是,python有一些非常有用的函数来实现这一点
您的代码看起来非常整洁,可以正常工作,我们只需要添加文件读写
首先,您需要打开我们用来存储总数的文件,使用带有
"r"
的读取模式但是,当您第一次运行该程序时,该文件将不存在(因为我们还没有创建),并且总数将为0。我们可以使用
try
块来捕捉这个信息,并使用"w+"
模式创建一个新文件,如果不存在具有该名称的文件,该模式将创建一个新文件然后你可以运行你的代码,在我们想要存储新的总数之后,这次在写模式下打开文件
"w"
,这将从文件中删除旧的总数现在,下次运行程序时,它将加载此总数,并将正确相加
都在这里
你就快到了,不要放弃。2个主要错误:
break
永远持续下去,就没有必要while
这是我的尝试:
我的产出是:
相关问题 更多 >
编程相关推荐