The*_*der 5 dictionary case switch-statement python-3.10
我正在制作一个 pygame 游戏,每当我运行我的代码时,我都会收到错误expected ':'。我知道 using[和]in match/case 块可用于其他用途,但如何解决这个问题?
case pygame.KEYDOWN:
match event.key:
case game.controls["pan_up"]:
world_pos[1] -= 1
case game.controls["pan_left"]:
world_pos[0] -= 1
case game.controls["pan_down"]:
world_pos[1] += 1
case game.controls["pan_right"]:
world_pos[0] += 1
Run Code Online (Sandbox Code Playgroud)
.get基于您的代码的示例:
case pygame.KEYDOWN:
match event.key:
case game.controls.get("pan_up"):
world_pos[1] -= 1
case game.controls.get("pan_left"):
world_pos[0] -= 1
case game.controls.get("pan_down"):
world_pos[1] += 1
case game.controls.get("pan_right"):
world_pos[0] += 1
Run Code Online (Sandbox Code Playgroud)
它只是一个__getattr__返回的子类字典self.get。
这里有一个包
,如果你不是创建该字典的人,你可以像这样转换它DottedDict({'bar': 2, 'foo': 1})
| 归档时间: |
|
| 查看次数: |
4864 次 |
| 最近记录: |