是的我意识到我在编辑原始问题时犯了一个错误,所以这里又是一个;请注意,我立即问了另一个问题,因为我之前在我练习的另一个项目中有这个区域,我放弃了同样的问题,我无法弄清楚如何修复它。
def overwrite():
print "Which save file would you like to overwrite?"
print "Save file 1 contains:" x['name']
print "Save file 2 contains:" y['name']
print "Save file 3 contains:" z['name']
ovw=raw_input()
if ovw.lower() == 1:
write_data({'name':name, 'fname':'ply.json'}, 'ply.json')
elif ovw.lower() == 2:
write_data({'name':name, 'fname':'ply1.json}, 'ply1.json')
elif ovw.lower() == 3:
write_data({'name':name, 'fname':'ply2.json}, 'ply2.json')
else:
print "I don't understand that. Let's try again."
overwrite()
“x”导致第三行出现语法错误,我不知道原因。
答案 0 :(得分:2)
首先,函数overwrite()
的主体应该缩进;但我认为这是一个复制粘贴错误。要解决您的具体问题,您需要在print
的参数之间使用逗号。它应该是:
print "Save file 1 contains:", x['name'] # notice the comma before the x
其他印刷语句也是如此。
另外,你有一些缺失的撇号/引号。你有'fname:'ply1.json'
的地方应该是'fname':'ply1.json'
(这发生在两个地方)。
修改强>
如果您不断收到“意外缩进”错误,那么您可能正在混合文件中的制表符和空格。 (当我切换编辑器时,我总是得到这个......)
答案 1 :(得分:0)
包含x['name']
,y['name']
和z['name']
的打印语句未正确连接到字符串的第一部分。您应该向我们显示您收到的实际错误。如果x ['name']是一个字符串,则该行可以正确写为:
print "Save file 1 contains:" + x['name'] # plus sign
或
print "Save file 1 contains:", x['name'] # comma
y和z的打印语句相同
def overwrite():
print "Which save file would you like to overwrite?"
print "Save file 1 contains:" x['name'] # x['name'] part is not concatenated properly to the first part of the string
print "Save file 2 contains:" y['name']
print "Save file 3 contains:" z['name']
ovw=raw_input()
if ovw.lower() == 1:
write_data({'name':name, 'fname':'ply.json'}, 'ply.json')
elif ovw.lower() == 2:
write_data({'name':name, 'fname':'ply1.json'}, 'ply1.json')
elif ovw.lower() == 3:
write_data({'name':name, 'fname':'ply2.json'}, 'ply2.json')
else:
print "I don't understand that. Let's try again."
overwrite()