我希望将介于0.0和39.9之间的浮点数转换为字符串。如果十位是1、2或3,则用L、T或Y替换。如果个位是1-9,则在其后添加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
谢谢!
float
比较(例如SpT <= 9.9
等)时,必须小心。 - NPESpT
为9.95时,期望的输出是什么?因为它大于9.9
且小于10.0
,所以它会掉进漏洞并到达return SpT
行。 - Kevin