【发布时间】:2022-11-23 23:07:08
【问题描述】:
我怎样才能使下面的代码简短:
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 有一个解决方案,
非常感谢您的帮助!
【问题讨论】:
-
@EdwardPeters 请解释一下您将如何使用字典。字典的键应该是什么?
-
实际上,对不起,我撒谎了——我错过了
<=的东西。我的错。字典在这里将是一个糟糕的情况,因为它们需要特定的键,而不是范围。 -
@EdwardPeters 感谢您的评论,我正在更新我的问题
-
那么你可以使用模式匹配和守卫来做到这一点,但它会涉及更多语法并且几乎不会给你带来任何好处。我认为您的代码原样实际上很好。我要更改的一件事是首先将
abs(q)绑定到一个值,这样您就不会在每一行都重新调用。 -
@EdwardPeters
q的值发生变化,因为我的代码将在function中使用
标签: python