使用 if-else 语句根据变量的范围为变量赋值



我正在使用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

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

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

见下文:

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 语句中范围之外的输入(打印某些内容、返回某些内容、引发异常等......DO SOMETHING ELSE 不是 Python 中任何内容的正確語法。

最新更新