创建正好三个元素的python列表

时间:2014-04-24 11:47:14

标签: python-3.x

是否可以创建精确3个元素的列表?

我想为精确的元素(3-d中的坐标)创建一个列表(或者可能是元组)。 我可以这样做:

nhat=input("Enter coordinate\n")
问题是它会占用任何数字(甚至大于或小于3)。 但如果我提示输入数字(如果它是<3)并且当给出3值时退出将会很好。

修改

我目前正在做的是:

 nhatx=input("Enter x-coordinate\n")
 nhaty=input("Enter y-coordinate\n")
 nhatz=input("Enter z-coordinate\n")

然后将nhat列表设为nhat{x,y,z}。只是想我是否可以定义预定义维度列表,以便我不需要那些nhat{x}变量

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方式:

def get_coords():
    while True:
        s = input("Enter coordinates (x y z): ")
        try:
            x, y, z = map(float, s.split())
        except ValueError: # wrong number or can't be floats
            print("Invalid input format.")
        else:
            return x, y, z

现在您的代码变为:

nhatx, nhaty, nhatz = get_coords() # unpack tuple

nhat = get_coords() # leave coords in tuple