我在代码中实现了第二个switch case语句,但出于某种原因,一个可以工作,另一个不能
问题中的破损部分是:
def graph_add_depend(caseSelected, graph, data):
switcher = {
1: graph.addFullNC(data[1], data[0]),
2: graph.addFullNC(data[0], data[1]),
0: graph.addFullNC2(data[0], data[1])
}.get(caseSelected, print("Something went wrong: GAD 44"))
我称之为:
graph_add_depend(is_added, graph, temp)
当我执行代码时,它不会转到正确的情况,但会执行其中的每一个:aka 1,然后2,然后0
有没有办法解决这个问题。看在上帝的份上,我找不到问题所在。 对我来说最令人沮丧的是,在我看来,有效的switch语句和这个被破坏的语句实际上是一样的
如果您不想调用函数,除非它与大小写匹配,那么在构建字典时不要调用它。用
lambda
包装每个案例是延迟评估的一种非常简单的方法:请注意,如果
caseSelected
不是有效选项,这将自动引发KeyError
;引发异常通常比打印消息而不返回任何内容更好可以使用以下函数定义模拟开关语句:
使用它将使代码更加清晰:
您还可以将其与if/elif/else模式一起使用,而无需中断:
相关问题 更多 >
编程相关推荐