我刚刚从CS50学习完Python基础知识,现在正在尝试制作一个小游戏程序来练习。中途我遇到了一个潜在的问题。
总结一下游戏就像:
示例:
User will enter - 1,2,3,4,5 Types of possible patterns - a,a+1,a+2,a+3,a+4 1 point - a,a+2,a+4,a+6,a+8 2 points - a,a+1,a+3,a+5,a+7 3 points
因此在这种情况下用户获得 1 分。
我当前的问题是,我正在尝试制作很多不同的模式(例如 20 个),但目前我知道的唯一方法是对每个模式使用 if 语句,如下所示
if .....
if .....
if .....
但如果我要多次这样做,那就感觉不对了。我尝试寻找减少多个 if 的方法,但使用跳转表(字典)等方法似乎在这里不起作用。预先感谢
对于这种情况,您可以在大多数语言中使用“切换(匹配)”或“地图(对象形状数据)”。
示例:
def http_error(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case _:
return "Something's wrong with the internet"