我怎样才能使下面的代码更短:
q=0.34
density=''
if abs(q) ==0:
density='Null'
elif abs(q) <= 0.09:
density='negligible'
elif abs(q) <= 0.49:
density='slight'
elif abs(q) <= 0.69:
density='strong'
else:
density='very strong'
print(q,", ", density)
预期产出:
0.34, 'slight'
我认为使用dictionaries
有一个解决方案,
任何来自你方的帮助将不胜感激!
4条答案
按热度按时间qjp7pelc1#
你可以试试这样的方法:
我认为注解已经足够清楚地解释了代码,但是如果不清楚,请不要犹豫。
toe950272#
当然,如果你想让它更短:)(假设q总是小于9999)
编辑:修正了Khaled DELLAL指出的答案错误
uyhoqukh3#
这里编写了一个解决方案,它不是检查所有的if-else语句,而是循环遍历一个值数组,并找到输入值所属的空间:
希望这有帮助!
brccelvz4#
如果只在一个地方使用它,那么这段代码就很好,没有任何问题。
如果有更多的地方需要为字符串指定数值范围,可以使用函数或类来完成,这样可以更好地对值进行编码。
例如,一个简单的、可配置的函数可以完成同样的任务: