如何避免在多个嵌套 if/else 中重复相同的 'else' 语句?
How to avoid repeating the same 'else' statement in multiple nested if/else?
在下面的代码中,'else' 对所有 'if' 语句都是一样的吗?有没有一种方法只有一个 'else' 语句,而不是在 'else' 语句的所有 'if' 语句块中重复相同的代码?
示例如下:
if condition A == "Yes":
print("A")
if condition B == "Yes":
print("B")
else:
print("D")
if condition C =="Yes":
print("C")
else:
print("D")
else:
print("D")
Flowchart
你看起来像是在嵌套测试序列中
你考A
如果 A ok,你测试 B
如果 B ok 你测试 C
如果任何测试失败你打印 D
所以...
你要么他们离开测试序列测试一切打印所有是的结果
或者如果任何测试失败则打印 D(看起来像一条大错误消息)
或
你保持丑陋的 if else 序列
如果你去测试一切
你可以创建一个函数
def TestThis(Value, id):
if value == "Yes":
print(id)
return 1
else:
return 0
并这样称呼它:
if TestThis(A, "A") == 0:
integrity = 1
elif TestThis(B, "B") == 0:
integrity = 1
elif TestThis(C, "C") == 0:
integrity = 1
if integrity == 1:
print("D")
而且我很确定您能找到一种方法来最终进行序列测试。
编辑以创建从一开始就是目标的顺序测试
在嵌套if else的情况下,可以使用guard
类型的语句。 guard
在嵌套的情况下很流行 if-else 并提供干净的代码。
Guard 语句首先尝试对 else 情况进行元素化。你知道我们写其他情况来执行偏离路径。那么如果我们删除
首先偏离路径。
例如,如果您有
if condition A == "Yes":
print("A")
if condition B == "Yes":
print("B")
else:
print("D")
if condition C =="Yes":
print("C")
else:
print("D")
else:
print("D")
现在我可以格式化以下内容了
// 1
if condiation A == "No" {
print("D")
return
}
// 2
if condition B == "Yes" {
print("B")
return
}
if condition C == "No" {
print("D")
return
}
print("C")
更多请关注link:- Youtube
在下面的代码中,'else' 对所有 'if' 语句都是一样的吗?有没有一种方法只有一个 'else' 语句,而不是在 'else' 语句的所有 'if' 语句块中重复相同的代码?
示例如下:
if condition A == "Yes":
print("A")
if condition B == "Yes":
print("B")
else:
print("D")
if condition C =="Yes":
print("C")
else:
print("D")
else:
print("D")
Flowchart
你看起来像是在嵌套测试序列中
你考A 如果 A ok,你测试 B 如果 B ok 你测试 C
如果任何测试失败你打印 D
所以... 你要么他们离开测试序列测试一切打印所有是的结果 或者如果任何测试失败则打印 D(看起来像一条大错误消息)
或 你保持丑陋的 if else 序列
如果你去测试一切 你可以创建一个函数
def TestThis(Value, id):
if value == "Yes":
print(id)
return 1
else:
return 0
并这样称呼它:
if TestThis(A, "A") == 0:
integrity = 1
elif TestThis(B, "B") == 0:
integrity = 1
elif TestThis(C, "C") == 0:
integrity = 1
if integrity == 1:
print("D")
而且我很确定您能找到一种方法来最终进行序列测试。
编辑以创建从一开始就是目标的顺序测试
在嵌套if else的情况下,可以使用guard
类型的语句。 guard
在嵌套的情况下很流行 if-else 并提供干净的代码。
Guard 语句首先尝试对 else 情况进行元素化。你知道我们写其他情况来执行偏离路径。那么如果我们删除 首先偏离路径。
例如,如果您有
if condition A == "Yes":
print("A")
if condition B == "Yes":
print("B")
else:
print("D")
if condition C =="Yes":
print("C")
else:
print("D")
else:
print("D")
现在我可以格式化以下内容了
// 1
if condiation A == "No" {
print("D")
return
}
// 2
if condition B == "Yes" {
print("B")
return
}
if condition C == "No" {
print("D")
return
}
print("C")
更多请关注link:- Youtube