输入多个字符串值并将1转换为float

时间:2017-11-03 17:39:16

标签: python type-conversion

在以下代码中:

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

float(a)

print(a)

a应为floatb为字符串,c为整数。现在,如果我尝试将字符串转换为float数字,例如0.9,我收到此消息:

ValueError: could not convert string to float: '0.9,'

我做错了什么?或者我错过了什么?

3 个答案:

答案 0 :(得分:2)

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

0.9, text, 10

在这里,你最终会得到" 0.9,"在变量a中,而不是" 0.9"你期待。

因此,您需要在命令行中输入:

0.9 text 10

答案 1 :(得分:1)

首先就像@cosinepenguin所说的那样,你需要将转换结果保存在其他变量中。

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

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

答案 2 :(得分:0)

您需要提供split您的分隔符字符串;它默认为空格,但您的数据有空格 - 逗号。

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