有没有一种方法可以将代码存储在要运行的list或字典中,而不是执行长if..elif?比如:my_dict = {'up': 'y=y+1', 'down': 'y=y-1', 'left': 'x=x-1', 'right': x=x+1'}
然后将选择与dict匹配并运行结果?在
或者,传统的if..elif链的下一个最佳选择是条件表达式:
^{pr2}$
除了纯粹的好奇之外,我问这个问题的部分原因是我正在用Pygame编写一个游戏来帮助学习Python编码。我有12个键,我正在检查是否被按下,我使用了一个非常长且笨拙的if..elif结构,这让我觉得必须有一个更漂亮的方法来完成它。基本上我看到的是这样的:for event in pygame.event.get():
if event.type == pygame.QUIT:
crashed = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_t:
red += 10
elif event.key == pygame.K_g:
red -= 10
elif event.key == pygame.K_5:
red += 1
elif event.key == pygame.K_b:
red -= 1
elif event.key == pygame.K_y:
green += 10
elif event.key == pygame.K_h:
green -= 10
elif event.key == pygame.K_6:
green += 1
elif event.key == pygame.K_n:
green -= 1
elif event.key == pygame.K_u:
blue += 10
elif event.key == pygame.K_j:
blue -= 10
elif event.key == pygame.K_7:
blue += 1
elif event.key == pygame.K_m:
blue -= 1
这就是我的Python代码应该是的样子吗?或者有没有一种更像Python的方式来编写代码呢?在