Python 输入多个字符串值并将1转换为浮点

Python 输入多个字符串值并将1转换为浮点,python,type-conversion,Python,Type Conversion,在以下代码中: a, b, c = input("A, B, C: ").split() float(a) print(a) a应该是一个float,b是一个字符串,c是一个整数。现在,如果我尝试将a从字符串转换为浮点数字,例如0.9,我会收到以下消息: ValueError:无法将字符串转换为浮点:“0.9,” 我做错了什么?还是我遗漏了什么?看起来您所做的是在命令行上的值之间添加逗号,例如: 0.9, text, 10 在这里,您将在变量a中以“0.9”结束,而不是您期望的“0.9

在以下代码中:

a, b, c = input("A, B, C: ").split()

float(a)

print(a)
a
应该是一个
float
b
是一个字符串,
c
是一个整数。现在,如果我尝试将a从字符串转换为
浮点
数字,例如0.9,我会收到以下消息:

ValueError:无法将字符串转换为浮点:“0.9,”

我做错了什么?还是我遗漏了什么?

看起来您所做的是在命令行上的值之间添加逗号,例如:

0.9, text, 10
在这里,您将在变量a中以“0.9”结束,而不是您期望的“0.9”

因此,您需要在命令行中输入以下内容:

0.9 text 10

您需要输入分隔符字符串
split
;它默认为一个空格,但您的数据有一个空格逗号

a, b, c = input("A, B, C: ").split(", ")

第一件事就像@cosinepenguin所说的,您需要将转换结果保存在其他变量中

第二件事是
str.split
方法使用空格作为分隔符将输入拆分为单词。给定输入函数中的“A,B,C:”字符串,您可能希望将值设为“0.9,foo,8”。如果是,则应使用逗号作为分隔符:

a, b, c = input("A, B, C: ").split(",")

试着在print语句中强制转换它,那么
print(float(a))
输入是什么样子的?字符串是否会用引号输入?它能包含逗号吗?哦!你是对的!但是,我怎样才能用逗号输入b和c,而仍然将a作为浮点数?@Levackerman您可以使用rstrip删除尾随的逗号
float(a.rstrip(','))