分离数字和单位的位置不对,你可以用 python 交互式命令行,执行下面的代码验证下:
一些简单的python代码,就可以验证你对python数组下标对使用是否对。
代码中字符串切片错误,Lenght[-1]取最后一个字符,因而第一条件不满足,转而执行elif,这时条件满足了但是截取字串的[0:-1],即获取除最后一个字符外的子串,这个是带字母的子串,eval函数解析不了,因而报错。示例一个分米、厘米转换为米的代码片断给你参考。
for lth in ['1265dm', '1265Dm', '1265m', '1265CM']:
lt = lth.lower()
if 'd' in lt[-2]:
M = int(lth[:-2])/10
print(f'{M}m')
elif 'c' in lt[-2]:
M = int(lth[:-2])/100
print(f'{M}m')
else:
print(lt)