在下面的代碼中,所有“if”陳述句的“else”都相同嗎?有沒有辦法只使用一個“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")
流程圖
uj5u.com熱心網友回復:
你看起來像一個嵌套的測驗序列
如果 A ok,你測驗 A,如果 B ok,你測驗 B,你測驗 C
如果任何測驗失敗,則列印 D
所以...您要么離開測驗序列,要么測驗所有內容,全部列印是結果,或者如果任何測驗失敗,則列印 D(看起來像一個很大的錯誤訊息)
或者你保持丑陋的 if else 序列
uj5u.com熱心網友回復:
在嵌套 if else 的情況下,可以使用guard型別陳述句。guard在嵌套 if-else 的情況下很受歡迎,并提供干凈的代碼。
Guard 陳述句首先嘗試元素 else 情況。您知道我們撰寫 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")
更多請點擊鏈接: - Youtube
uj5u.com熱心網友回復:
如果你去測驗一切,你可以創建一個函式
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")
而且我很確定您可以找到最終進行序列測驗的方法。
編輯以創建從一開始就是目標的順序測驗
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/476195.html
