长度转换器的python编码问题

时间:2018-01-24 03:46:34

标签: python list for-loop

为什么if from_unit ==unit[0]会返回found unit, in?不是unit[0]==['cm',0.01]?这不应该等于in,对吗?**

Image

以下是我的代码:

def converter(value, from_unit='cm',to_unit='m'):
    units = [['m',1],['cm',0.01],['in',0.0254]]
    if from_unit != units[0][0]:
        print("conver to base unit")
        for unit in units[1:]:
            if from_unit == unit[0]:
                print("found unit ", unit[0])

print(converter(10,'in','cm'))

2 个答案:

答案 0 :(得分:0)

from_unit的值为'in',因为第二个参数是显式传递的。如果您拨打converter(10)(仅包含一个参数),则from_unit将为'cm'

答案 1 :(得分:-1)

if from_unit == unit[0]:仅在for循环到达units[2][0]时才会满足。这就是为什么打印in而不是cm