У меня есть несколько условий с логическим значением в словаре
d = {
"statement01" = True,
"statement02" = True,
"statement03" = False,
"statement04" = False,
"statement05" = False
}
И я использую if elif
Метод 1
if d["statement05"]:
if d["statement01"]:
func01()
func05()
elif d["statement04"]:
if d["statement01"]:
func01()
func04()
elif d["statement03"]:
if d["statement01"]:
func01()
func03()
elif d["statement02"]:
if d["statement01"]:
func01()
func02()
elif not d["statement01"]:
if d["statement05"]:
func05()
elif d["statement04"]:
func04()
elif d["statement03"]:
func03()
elif d["statement02"]:
func02()
else:
func01x()
Метод 2
if d["statement01"]:
func01()
if d["statement02"]:
func02()
elif d["statement03"]:
func03()
elif d["statement04"]:
func04()
elif d["statement05"]:
func05()
elif not d["statement01"]:
if d["statement02"]:
func02()
elif d["statement03"]:
func03()
elif d["statement04"]:
func04()
elif d["statement05"]:
func05()
else:
func01x()
С условием d
я ожидаю, что результат будет делать func01()
и func02()
, но если словарь условий, такой как
d2 = {
"statement01" = True,
"statement02" = False,
"statement03" = False,
"statement04" = False,
"statement05" = False
}
, я ожидаю только сделать func01()
и если словарь, как
d3 = {
"statement01" = False,
"statement02" = True,
"statement03" = False,
"statement04" = False,
"statement05" = False
}
только сделать func02()
Кто-нибудь может дать другой / лучший способ обработки условия и ожидаемого результата или, возможно, не в методе if else
?