gpt4 book ai didi

python - 如何在python脚本的if条件下避免硬编码

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:57 25 4
gpt4 key购买 nike

我是 python 新手。我有关于 python 脚本中非硬编码对象名称(如果条件)的查询。我有水果 = [苹果、芒果、菠萝、香蕉、橙子]和大小 = [小,中,大]目前我写的代码如下:

if (fruit == apple, size == small): 
statement 1
statement 2
elif (fruit == apple, size == medium):
statement 1
statement 2
elif (fruit == apple, size == big):
statement 1
statement 2
elif (fruit == Mango, size == small):
statement 1
statement 2
elif (fruit == Mango, size = medium):
statement 1
statement 2

如何避免编写多个 if...else 条件?

语句一:从目录中拉取一个与水果和大小相关的dot文件路径结构是主目录/fruit/collat​​eral/fruit_size.dot语句2:从目录中拉出一个与水果和大小相关的txt文件路径结构是主目录/source/readparamters/readparam/fruit_size.txt

我想一次为每个条件执行一个语句。目前我从用户那里获取水果和大小的输入。 python中有没有一种方法可以让脚本自动一个一个地组合并执行语句?我知道它有点复杂,python 专家可以帮助我。

最佳答案

您可以创建值和函数的映射。例如

MAP = {'apples':{'small':function1,
'large':function3},
'oranges':{'small':function2}}
#Then Run it like so:
fruit = 'apples'
size = 'large'
result = MAP[fruit][size]()

这将使用 fruit 和 size 在字典中为您查找函数,然后运行它并将输出存储在结果中。这样,如果您需要添加额外的水果或尺寸,您可以简单地修改字典中的数据而无需更改任何代码。

编辑:我刚读了你的更新。如果处理步骤相同并且唯一改变的是文件的位置,我建议编写一个函数,将 fruit 和 size 作为参数并根据输入打开文件。然后你可以用你想要的水果和大小来运行它,而不是有一个疯狂的 if 语句。

关于python - 如何在python脚本的if条件下避免硬编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174387/

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