我正在尝试获取人员输入的数字的整数和浮点数列表。所以,如果他们输入" 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)
答案 0 :(得分:2)
.split
不会更改您的字符串,它会返回一个新列表,然后您可以迭代它。但是,您只是从.split
打印列表结果,然后逐个字符地迭代原始输入字符串。
将.split
的输出分配给一个新变量,然后迭代该变量。
希望这有帮助!