在以下代码中:
a, b, c = input("A, B, C: ").split()
float(a)
print(a)
a
应为float
,b
为字符串,c
为整数。现在,如果我尝试将字符串转换为float
数字,例如0.9,我收到此消息:
ValueError: could not convert string to float: '0.9,'
我做错了什么?或者我错过了什么?
答案 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(", ")