我已经为我的游戏建立了一个基于文本文件的存储系统,用关键字存储所需变量的值——例如,告诉游戏要玩哪一章的密码。然而,它似乎出现了故障,我不明白为什么。你知道吗
在开始游戏之前,我们有:
if not os.file.isfile('TSGsave{0}.txt'.format(name)):
TSGsave=open('TSGsave{0}.txt'.format(name),'wt')
TSGsave.write('\nw5CT$n<jfW=-#J%4Ya5@@')
TSGsave.close()
(使用的关键字是一堆jibberish,因此用户无法在知道将要发生什么的情况下更改它)。这会将w5CT$n<jfW=-#J%4Ya5@@
添加到文本文件中。我们有:
for i in range (len(lines)):
if 'w5CT$n<jfW' in lines[i]:
findpass=lines[i]
for i in range (len(findpass)):
if findpass[i]=='=':
cutfrom=i+1
password=findpass[cutfrom:len(findpass)]
检索变量(变量可以更改,因此不能作为定值写入)。我知道它是有效的,因为我在代码中添加了print (password)
,它返回了-#J%4Ya5@@
。然后开始相应的章节,代码是:
if password=='-#J%4Ya5@@':
但它并没有启动缩进块。在shell中,程序结束并返回到>>>
行。你知道吗
如果有一种方法可以修复这个代码,那就太好了——但是另一个代码也可以做同样的事情。你知道吗
您的行包含换行符,这些都包含在内。从线路上取下这些:
打印一个带有换行符的值只需在} function 生成字符串的Python表示,以查看以下字符:
print
后面添加一条额外的黑线。始终使用^{您的解析代码过于复杂;您可以使用^{} 或^{} 从行中拆分密码。您应该直接循环
lines
列表,而不是使用range()
生成索引:相关问题 更多 >
编程相关推荐