是否可以创建精确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}
变量
答案 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