使用if-else语句根据另一个变量的范围为变量分配值

时间:2019-12-03 23:02:13

标签: python if-statement conditional-statements

我正在使用Python(在IDLE中)编写营养推荐图。我有许多土壤测试点,并且使用克里格插值法对其进行插值。出于这篇文章的考虑,变量field是其中包含营养水平的栅格。

我的脚本的目标是根据特定领域中营养素的现有水平分配营养素推荐。例如,如果field中的某个区域的营养水平在0到5之间,那么我想推荐40。

我是Python的新手,那么如何编写if-else语句来完成此任务?这是我尝试过的:

if field == 0-5:
    recommendation = 50
elif field == 6-12:
    recommendation = 30
elif field == 13-25:
    recommendation = 15

2 个答案:

答案 0 :(得分:3)

Python使用以下语法很好地支持范围

if 0 <= field <= 5:
    recommendation = 50
elif 6 <= field <= 12:
    recommendation = 30
elif 13 <= field <= 25:
    recommendation = 15

答案 1 :(得分:2)

参见下文:

    if 0 <= field <= 5:
        recommendation = 50
    elif 5 < field <= 12:
        recommendation = 30
    elif 12 < field <= 25:
        recommendation = 15
    else:
        # DO SOMETHING ELSE

我认为字段可以是小数吗?不确定您尝试的解决方案中的预期逻辑,但是我不确定您的尝试是否会处理5.6之类的问题。只是要注意的事情。

为清楚起见,“执行其他操作”行仅表示您可以在此处放置一条语句来处理if语句范围之外的输入(打印某些内容,返回某些内容,引发异常等)。 )。对于Python中的任何内容,做其他事情都不是正确的语法。