【发布时间】:2020-08-19 00:10:23
【问题描述】:
我在我的代码中实现了第二个 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)
当我执行代码时,它不会转到正确的情况,但会执行其中的每一个:也就是 1 然后 2 然后 0
有没有办法解决这个问题。靠着上帝的爱,我找不到问题所在。 对我来说最令人沮丧的是,在我看来,有效的 switch 语句和这个坏掉的语句实际上是一样的......
【问题讨论】:
-
请提供minimal reproducible example,以及当前和预期的输出。
-
请记住:Python 中的 all 表达式是热切求值的 (短路时的 RHS 除外)。这包括字典中使用的值。
-
当键/值的值部分不重要(唯一的函数调用)时,为什么还要编写这样的代码?
-
这不是一个 switch/case 语句。 python中没有开关/案例。您正在构建字典。
-
@jarmod 我不知道你的意思,但它从一个类中调用一个方法,