我正在设计一个python游戏.假设我有5个级别和一个变量m.如果我在1级,如果我在2级,m将是101,m将是102,依此类推
现在,我还有一个所有级别的最佳得分变量,比如b_101,b_102,b_103,b_104,b_105.最初都设为0.
现在玩的时候我有一个变量current_score.我想在满足某些条件时更新最佳分数.
if(condition met):
global m
update_score(m)
def update_score(m):
if(m==101):
b_101=current_score
elif(m==102):
b_102=current_score
elif(m==103):
b_103=current_score
elif(m==104):
b_104=current_score
elif(m==105):
b_105=current_score
Run Code Online (Sandbox Code Playgroud)
实际上,我可能有100个级别,我希望我的update_score函数很小,如果没有其他行,则不要写100.
我希望它是这样的:
def update_score(m):
b_{m}=current_score
Run Code Online (Sandbox Code Playgroud)
我知道上面的代码不正确,但我想要基于m更新b_xxx.它是否可能在python中.
在perl中,它可以完成
${'b_'.$m} = $current_score;
Run Code Online (Sandbox Code Playgroud)
只需使用字典.
def update_score(m, score, scores = {}):
scores[m] = score
Run Code Online (Sandbox Code Playgroud)