如何检测字典是否具有特定标准?
How can I detect if a dictionary has certain criteria?
我正在尝试在我的游戏中实现保存功能以保存各种信息。保存部分工作得很好,但加载部分不起作用。这是我当前的词典:
player_data = {'x':x, 'y':y, 'world':mapSection, 'introcomplete':homeintro}
我是loading/saving这个:
def save_game():
with open("savegame", "wb") as f:
pickle.dump(player_data, f)
def load_game():
with open("savegame", "rb") as f:
global player_data
player_data = pickle.load(f)
为了查看 mapSection 设置为什么,我使用了这个:
load_game()
print(player_data)
if "1_1" in player_data:
print('maploaded')
game_map_1_1()
else:
print('reset')
game_intro()
但由于某些原因,它总是跳过 if 语句到 else 语句。我不知道我做错了什么。
我猜你真正想做的是检查 player_data['world'] == '1_1'
而不是 '1_1' in player_data
。第二个检查你是否有一个名为 1_1
.
的密钥
这不是 pickle 特有的。
我正在尝试在我的游戏中实现保存功能以保存各种信息。保存部分工作得很好,但加载部分不起作用。这是我当前的词典:
player_data = {'x':x, 'y':y, 'world':mapSection, 'introcomplete':homeintro}
我是loading/saving这个:
def save_game():
with open("savegame", "wb") as f:
pickle.dump(player_data, f)
def load_game():
with open("savegame", "rb") as f:
global player_data
player_data = pickle.load(f)
为了查看 mapSection 设置为什么,我使用了这个:
load_game()
print(player_data)
if "1_1" in player_data:
print('maploaded')
game_map_1_1()
else:
print('reset')
game_intro()
但由于某些原因,它总是跳过 if 语句到 else 语句。我不知道我做错了什么。
我猜你真正想做的是检查 player_data['world'] == '1_1'
而不是 '1_1' in player_data
。第二个检查你是否有一个名为 1_1
.
这不是 pickle 特有的。