如何在变量已经定义后更改其数值? [复制]

Posted

技术标签:

【中文标题】如何在变量已经定义后更改其数值? [复制]【英文标题】:How to change the numerical value of a variable after it has already been defined? [duplicate] 【发布时间】:2018-09-16 17:11:50 【问题描述】:

如何在变量已经定义后更改它的值,然后在下次运行程序时将变量更改为新值。

p = 0
result = int(input("Test "))
if result == 3:
   points = p+3
   p = points

基本上,我需要它,以便下次运行此代码时,“p”已设置为 3,然后再更改为 6,依此类推。

【问题讨论】:

您可以将变量的值输出到文件中。在程序开始时读取文件并在程序结束时写入文件。 你熟悉读写文件吗? 还是数据库?您需要某种持久性(可能在磁盘上)存储。 您也可以使用pickle 模块并创建一个保存变量值的.pickle 文件。我认为这比使用 .txt 文件更简洁。 我相信您对计算机程序的工作原理存在根本性的误解。当您加载 Python 解释器并执行 Python 程序时,程序的对象会在 main memory 中创建,即 RAM。你要找的是data persistence,一般是通过将你的数据以某种格式写入辅助内存,即写入磁盘来实现的。 【参考方案1】:
import os

with open('tmp.txt', 'r') as file:
     p = file.read()
os.remove("tmp.txt")
result = int(input("Test "))
if result == 3:
   points = int(p)+3
   p = points
   with open('tmp.txt', 'w') as file:
       file.write(str(p))

试试这个。在运行脚本之前,在与您的代码相同的文件夹中创建一个文件“tmp.txt”。

【讨论】:

以上是关于如何在变量已经定义后更改其数值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

即使将输入变量分配给另一个变量,python如何更改函数中输入变量的值? [复制]

当它是像更改数组值这样的参数时,如何更改整数值? [复制]

如何计算字符串并将其存储在变量中? [复制]

如何通过将向量元素传递给函数来更改它们

如何在定义变量后不对其进行评估?

如何全局访问 AJAX 定义的变量? [复制]