有一条用 Python 编写的语句,我无法理解该特定行的含义。
声明是:
signal = -16
powerRating = 30
energyRating = 30
socHigh = 1
soc = 15
freq = 15
chargeEff = 0.93
answer = min(signal*(signal>0), powerRating, (energyRating*socHigh - soc)*60.0/dataFreq/chargeEff),0)
Run Code Online (Sandbox Code Playgroud)
在答案陈述中有写
signal(signal > 0)
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
在表达式中
signal*(signal>0)
Run Code Online (Sandbox Code Playgroud)
signal>0如果signal为正则为真,否则为假。True 为 1,False 为 0。所以,如果你乘signal的signal>0,你signal如果signal是正的,否则为零。
这是一种更令人困惑的写作方式
max(signal, 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |