为什么if from_unit ==unit[0]
会返回found unit, in
?不是unit[0]==['cm',0.01]
?这不应该等于in
,对吗?**
以下是我的代码:
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'))
答案 0 :(得分:0)
from_unit
的值为'in'
,因为第二个参数是显式传递的。如果您拨打converter(10)
(仅包含一个参数),则from_unit
将为'cm'
。
答案 1 :(得分:-1)
if from_unit == unit[0]:
仅在for
循环到达units[2][0]
时才会满足。这就是为什么打印in
而不是cm
。