Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ValueError:使用输入函数时无法将字符串转换为浮点值_Python_Python 3.x - Fatal编程技术网

Python ValueError:使用输入函数时无法将字符串转换为浮点值

Python ValueError:使用输入函数时无法将字符串转换为浮点值,python,python-3.x,Python,Python 3.x,我阅读了类似的错误线程,但找不到解决方案。在大多数其他线程中,似乎人们输入的数据不正确,但正如您所看到的,我输入的值具有正确的类型。我似乎找不到我还缺少什么。有什么想法吗 def main(): a, b, c, d, e, f = float(input("Enter a, b, c, d, e, f: ")) x = ((e * d) - (b * f))/ ( (a * d) - (b * c) ) y = ((a * f) - (e *

我阅读了类似的错误线程,但找不到解决方案。在大多数其他线程中,似乎人们输入的数据不正确,但正如您所看到的,我输入的值具有正确的类型。我似乎找不到我还缺少什么。有什么想法吗

def main():
    a, b, c, d, e, f  = float(input("Enter a, b, c, d, e, f: "))



    x = ((e * d) - (b * f))/ (
        (a * d) - (b * c) )

    y = ((a * f) - (e * c)) / (
        (a * d) - (b * c) )

    print("x is %f and y is %f" % (x,y))

if __name__ == "__main__":
    main()
错误消息:

>>>Enter a, b, c, d, e, f: 9.0, 4.0, 3.0, -5.0, -6.0, -21.0
ValueError: could not convert string to float: '9.0, 4.0, 3.0, -5.0, -6.0, -21.0'
float()
函数尝试将整个字符串转换为单个浮点。从技术上讲,这将起作用:

a, b, c, d, e, f  = [float(number) for number in input("Enter a, b, c, d, e, f: ").split(', ')]
但是请记住,如果它不

float()
函数尝试将整个字符串转换为单个float,则不会出现错误处理。从技术上讲,这将起作用:

a, b, c, d, e, f  = [float(number) for number in input("Enter a, b, c, d, e, f: ").split(', ')]
但是请记住,如果它不

float()
函数尝试将整个字符串转换为单个float,则不会出现错误处理。从技术上讲,这将起作用:

a, b, c, d, e, f  = [float(number) for number in input("Enter a, b, c, d, e, f: ").split(', ')]
但是请记住,如果它不

float()
函数尝试将整个字符串转换为单个float,则不会出现错误处理。从技术上讲,这将起作用:

a, b, c, d, e, f  = [float(number) for number in input("Enter a, b, c, d, e, f: ").split(', ')]

但请记住,如果没有,则不会进行错误处理。问题是,一系列由逗号分隔的浮点值无法转换为单个的
浮点值

可以单独请求每个浮点,也可以将输入字符串拆分为逗号并循环转换

我建议单独询问每个浮动。编写一个函数
input\u float()
,该函数接受用户的输入,尝试转换为float,并告诉用户是否有问题;它可以有一个循环,在用户成功输入浮点值之前一直循环

您可能希望让您的
input\u float()
函数接受一个字符串作为提示显示,另一个字符串在出错时显示,以及一个函数来验证输入。因此,如果用户必须输入介于0和100之间的浮点值,则可以使用验证函数执行此检查


一旦编写了灵活的
input\u float()
函数,您就可以在程序中反复使用它。

问题在于,一系列由逗号分隔的浮点值无法转换为单个
浮点值

可以单独请求每个浮点,也可以将输入字符串拆分为逗号并循环转换

我建议单独询问每个浮动。编写一个函数
input\u float()
,该函数接受用户的输入,尝试转换为float,并告诉用户是否有问题;它可以有一个循环,在用户成功输入浮点值之前一直循环

您可能希望让您的
input\u float()
函数接受一个字符串作为提示显示,另一个字符串在出错时显示,以及一个函数来验证输入。因此,如果用户必须输入介于0和100之间的浮点值,则可以使用验证函数执行此检查


一旦编写了灵活的
input\u float()
函数,您就可以在程序中反复使用它。

问题在于,一系列由逗号分隔的浮点值无法转换为单个
浮点值

可以单独请求每个浮点,也可以将输入字符串拆分为逗号并循环转换

我建议单独询问每个浮动。编写一个函数
input\u float()
,该函数接受用户的输入,尝试转换为float,并告诉用户是否有问题;它可以有一个循环,在用户成功输入浮点值之前一直循环

您可能希望让您的
input\u float()
函数接受一个字符串作为提示显示,另一个字符串在出错时显示,以及一个函数来验证输入。因此,如果用户必须输入介于0和100之间的浮点值,则可以使用验证函数执行此检查


一旦编写了灵活的
input\u float()
函数,您就可以在程序中反复使用它。

问题在于,一系列由逗号分隔的浮点值无法转换为单个
浮点值

可以单独请求每个浮点,也可以将输入字符串拆分为逗号并循环转换

我建议单独询问每个浮动。编写一个函数
input\u float()
,该函数接受用户的输入,尝试转换为float,并告诉用户是否有问题;它可以有一个循环,在用户成功输入浮点值之前一直循环

您可能希望让您的
input\u float()
函数接受一个字符串作为提示显示,另一个字符串在出错时显示,以及一个函数来验证输入。因此,如果用户必须输入介于0和100之间的浮点值,则可以使用验证函数执行此检查


一旦编写了灵活的
input\u float()
函数,就可以在程序中反复使用它。

如果确保始终包含小数点

from ast import literal_eval
a, b, c, d, e, f = literal_eval(input("Enter a, b, c, d, e, f: "))

如果缺少小数点,如果确保始终包含小数点,则相应的变量将是int而不是float

from ast import literal_eval
a, b, c, d, e, f = literal_eval(input("Enter a, b, c, d, e, f: "))

如果缺少小数点,如果确保始终包含小数点,则相应的变量将是int而不是float

from ast import literal_eval
a, b, c, d, e, f = literal_eval(input("Enter a, b, c, d, e, f: "))

如果缺少小数点,如果确保始终包含小数点,则相应的变量将是int而不是float

from ast import literal_eval
a, b, c, d, e, f = literal_eval(input("Enter a, b, c, d, e, f: "))

如果缺少小数点,则相应的变量将是int而不是float

I被教导使用eval()函数执行此类任务是错误的编码实践。文字评估不同吗?@user326803,是的,完全不同。literal\u eval仅适用于有效的文本。eval可以擦除硬盘和其他邪恶的东西我被教导使用eval()函数执行这样的任务是不好的编码实践。文字评估是否不同