你好,我已经做了一个程序,存储球员的名字和实力,下面是代码:
data = {
"PLAYER":name2,
"STRENGTH":str(round(strength, 2)),
}
with open("data2.txt", "w", encoding="utf-8") as file:
file.write(repr(data))
file.close()
这存储了数据那么如果我想在某个动作之后附加/改变值,比如'BATTLE',我该怎么做呢
是否有可能得到'STRENGTH'的变量,然后改变数字?
现在从外部文件'DATA1.txt'读取数据,我使用以下代码:
with open("data1.txt", "r", encoding="utf-8") as file:
data_string = file.readline()
data = eval(data_string)
# (data["STRENGTH"])
S1 = (float(data["STRENGTH"]))
file.close()
现在我可以对变量-> 'S1'做一些事情
这是外部文本文件'data1.txt'
{'PLAYER': 'Oreo', 'STRENGTH': '11.75'}
…但是我想在"战斗"后改变强度值,谢谢
也许你不理解Python字典的语义?
在我看来,当你可以做非常简单的事情时,你做了很多不必要的事情,比如S1 = (float(data['STRENGTH']))
,试图操纵和改变值。
>>> data = {'PLAYER': 'Oreo', 'STRENGTH': '11.75'}
>>> data['STRENGTH'] = float(data['STRENGTH'])
>>> data
{'PLAYER': 'Oreo', 'STRENGTH': 11.75}
>>> data['STRENGTH'] += 1
>>> data
{'PLAYER': 'Oreo', 'STRENGTH': 12.75}
也许你应该给原生数据类型——潜入Python 3一个读,看看它是否澄清了事情。