猿问

如何避免 If 语句的墙壁?

我多次听说这样的编码是不理想的:


if weapon == "sword":

 print("Knight") 

elif weapon == "katana":

 print("Samurai") 

elif weapon == "axe":

 print("Viking")

如何以最佳方式编写此类代码?


鸿蒙传说
浏览 110回答 2
2回答

慕姐4208626

您可以将这些关联存储在字典中weapons_roles = {    "sword": "Knight",    "katana": "Samurai",    "axe": "Viking"}打印一些东西,只要钥匙不在字典中print(weapons_roles.get(weapon, "No role"))仅当武器已知时才打印角色if weapon in weapons_roles:    print(weapons_roles[weapon])

心有法竹

试试下面这个:def example_function(weapon):    weapon_dict = {'sword': 'Knight', 'katana': 'Samurai', 'axe': 'Viking'}    return weapon_dict[weapon]
随时随地看视频慕课网APP

相关分类

Python
我要回答