我想将 0.0 到 39.9 之间的浮点数转换为字符串。如果十位数字分别为 1、2 或 3,则将其替换为 L、T 或 Y。如果它在其中,则附加一个 M。例如,22.3 将返回 T2.3,8.1 将返回 M8.1,依此类推。否则,返回浮点数。
这段代码当然有效,但我想知道是否有更简单(如果不是单行)的解决方案。这是代码:
def specType(SpT):
if 0 <= SpT <= 9.9:
return 'M{}'.format(SpT)
elif 10.0 <= SpT <= 19.9:
return 'L{}'.format(SpT - 10)
elif 20.0 <= SpT <= 29.9:
return 'T{}'.format(SpT - 20)
elif 30.0 <= SpT <= 39.9:
return 'Y{}'.format(SpT - 30)
else:
return SpT
谢谢!