gpt4 book ai didi

python - 有没有更好的方法在 python 中编写嵌套 if 语句?

转载 作者:行者123 更新时间:2023-12-02 17:33:04 24 4
gpt4 key购买 nike

有没有比这更Pythonic的方法来执行嵌套的if else语句:

def convert_what(numeral_sys_1, numeral_sys_2):

if numeral_sys_1 == numeral_sys_2:
return 0
elif numeral_sys_1 == "Hexadecimal":
if numeral_sys_2 == "Decimal":
return 1
elif numeral_sys_2 == "Binary":
return 2
elif numeral_sys_1 == "Decimal":
if numeral_sys_2 == "Hexadecimal":
return 4
elif numeral_sys_2 == "Binary":
return 6
elif numeral_sys_1 == "Binary":
if numeral_sys_2 == "Hexadecimal":
return 5
elif numeral_sys_2 == "Decimal":
return 3
else:
return 0

此脚本是简单转换器的一部分。

最佳答案

将所有有效组合插入到元组字典中,如果组合不存在,则返回0:

def convert_what(numeral_sys_1, numeral_sys_2):
numeral_dict = {
("Hexadecimal", "Decimal" ) : 1,
("Hexadecimal", "Binary" ) : 2,
("Decimal", "Hexadecimal") : 4,
("Decimal", "Binary" ) : 6,
("Binary", "Hexadecimal") : 5,
("Binary", "Decimal" ) : 3
}
return numeral_dict.get((numeral_sys_1, numeral_sys_2), 0)

如果您计划在循环中使用该函数,那么在函数外部定义字典可能是一个更好的主意,这样就不会在每次调用该函数时重新创建它。

关于python - 有没有更好的方法在 python 中编写嵌套 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58927718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com