在将输入转换为浮点列表时,split()不起作用

2024-10-02 20:44:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个程序来帮助一些人在我的实验室工作。我也是一个非常新手的程序员

我的代码在我认为是简单的几行代码处崩溃了,在这几行代码中,我将数字的输入列表(例如675.23781.30979.10…)转换为浮点数,默认情况下是字符串

例如:

inputNumbers = input("Please type your numbers here (comma separated): ")
inputNumbers.split(", ")

然后我运行for循环,将其转换为新列表中的浮点数:

inputNumbersConv = []
for i in inputNumbers:
    inputNumbersConv.append(float(i))

不过,这个错误告诉我,我无法将“.”转换为浮点。上面的.split()不能用逗号分隔。如果输入1.23并运行

print(inputNumbers[1])

你得到了”

我做错了什么?我尝试了不同的分隔符,只包括空格


Tags: 字符串代码程序列表forinput情况数字
2条回答

您没有将inputNumbers设置为inputNumbers.split(", ")的结果。因此inputNumbers在for循环中迭代时仍然是原始用户输入

您的计划更简洁的实施方式是:

inputNumbers = map(float, input("Please type your numbers here (comma separated): ").split(", "))

简单地说,您需要将拆分值数组分配给LHS上的一个变量,以便以后使用:

inputNumbers = input("Please type your numbers here (comma separated): ")
nums = inputNumbers.split(", ")

inputNumbersConv = []
for i in nums:
    inputNumbersConv.append(float(i))
print(inputNumbersConv)

对于675.23, 781.30, 979.10的输入,打印输出为:

[675.23, 781.3, 979.1]

相关问题 更多 >