无法将列表中的字符串转换为浮点数

时间:2017-09-09 21:19:24

标签: python python-3.x

我正在尝试获取人员输入的数字的整数和浮点数列表。所以,如果他们输入" 1,2,3,4,5,6,7.2" list_numbers将= [1,2,3,4,5,6,7.2]。出于某种原因,当它到达" 7.2"它认为"。"是val(我添加了print(val),所以你可以在输出中看到这个)。我是python 3.6的新手,我之前使用过的2.7,所以请原谅我的无知

numbers=input("Enter 7 numbers separated by spaces: ")

print(numbers.split(","))

list_numbers=[]
for val in numbers:
    if val!=",":
        if '.' in val:
            print(val)
            list_numbers.append(float(val))
        else:
            list_numbers.append(int(val))



print(list_numbers)

1 个答案:

答案 0 :(得分:2)

.split不会更改您的字符串,它会返回一个新列表,然后您可以迭代它。但是,您只是从.split打印列表结果,然后逐个字符地迭代原始输入字符串。

.split的输出分配给一个新变量,然后迭代该变量。

希望这有帮助!