python中的偏转百分比

2024-06-11 03:04:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在GtkMeter的源代码中找到了一个偏移百分比,并将其转换为python:

def iec_scale(db):
  if (db < -70.0):
    defr = 0.0
  elif (db < -60.0):
    defr = (db + 70.0) * 0.25
  elif (db < -50.0):
    defr = (db + 60.0) * 0.5 + 5.0
  elif (db < -40.0):
    defr = (db + 50.0) * 0.75 + 7.5
  elif (db < -30.0):
    defr = (db + 40.0) * 1.5 + 15.0
  elif (db < -20.0):
    defr = (db + 30.0) * 2.0 + 30.0
  else:
    defr = (db + 20.0) * 2.5 + 50.0

  return defr

它工作得很好,除了当我看了一个小时的代码却找不到原因的时候。你知道吗

db的值=>;返回值:

db = -50.1 => 9.950000
db = -50.0 => 7.500000
db = -40.1 => 14.925000
db = -40.0 => 15.000000
db = -30.1 => 29.850000
db = -30.0 => 30.000000

注意,当db = -50.0有一个不同的行为时,当db = -50.1它较小时,它应该大于value。你知道吗


Tags: 代码dbreturnif源代码def原因else