程序忽略第一个之后的所有数字

时间:2017-01-23 22:40:30

标签: python-3.x

为什么程序只获取列表中的第一个数字而忽略其他数字,从而生成一个空列表。

for 循环的每个函数中都会发生这种情况。

cars=[23.11,1531,'volvo','BMW']

  def price(CAR):

    num=[]
    strings=[]
    for i in CAR:
        if isinstance(i,float)or isinstance(i,int):
            num.append(i)
        elif isinstance(i,str):
            strings.append(i)
        else:
            pass
        return num,strings


print(price(cars))
([23.11], [])

1 个答案:

答案 0 :(得分:0)

我能想到的唯一原因是,你的return语句与你的for循环对齐,所以它在第一次迭代后就存在了。 (虽然它现在看起来正确对齐,也许编辑本能地纠正了它。)