Python3 - 多个输入

时间:2017-02-20 23:08:21

标签: python-3.x input

我需要接受如下输入:

Enter two floating point values: 54.99, 32.3

在一行中,我想要接收两个值并将它们保存为浮点数,但我无法做到。到目前为止,我有以下内容:

val1, val2 = input("Enter two floating point values: ").split(",")

在同一行中,我想将它们转换为浮点数。怎么办?

我不想这样做:

val1, val2 = input("Enter two floating point values: ").split(",")
val1 = float(val1)
val2 = float(val2)

2 个答案:

答案 0 :(得分:3)

我不确定是否有更好的方法,但你可以用一行中的列表理解来做到这一点:

val1, val2 = [float(item) for item in input("Enter two floating point values: ").split(",")]

您可以使用map函数执行另一个选项:

val1, val2 = map(float(input("Enter two floating point values: ").split(","))

请注意,在Python 3.x中,第二个版本返回一个地图对象而不是一个列表。

虽然,您可以通过执行以下操作将其转换为列表:

val1, val2 = list(map(float,input("Enter two floating point values: ").split(",")))

答案 1 :(得分:0)

最简单的方法:

# taking two inputs at a time 
# Python program showing how to 
# multiple input using split

x, y = input("Enter a two value: ").split() 
print("Number of boys: ", x) 
print("Number of girls: ", y) 
print()

# hit enter and give two numbers(Floating or Int- keep a space in between numbers)

Enter a two value: 12.25 58.45
Number of boys:  12.25
Number of girls:  58.45