获取点位置(x,y,z)的用户输入

时间:2015-09-14 14:59:40

标签: python

该位置是3D。所以我需要让用户输入(x,y,z)的点位置,我需要让用户为三个坐标x,y和z三次输入三个值。

这是解决这个问题的正确方法吗?

x1 = int (input("Enter an x1 coordinate: "))
y1 = int (input("Enter an y1 coordinate: "))
z1 = int (input("Enter an z1 coordinate: "))
x2 = int (input("Enter an x2 coordinate: "))
y2 = int (input("Enter an y2 coordinate: "))
z2 = int (input("Enter an z2 coordinate: "))
x3 = int (input("Enter an x3 coordinate: "))
y3 = int (input("Enter an y3 coordinate: "))
z3 = int (input("Enter an z3 coordinate: "))

或者我需要让用户一次输入(x,y,z)

plot 1 = int (input("coordinate(x, y, z): ")

2 个答案:

答案 0 :(得分:2)

plot1 = input("coordinate(x, y, z): ").split()  

这会给你["x","y","z"]
现在转换为int

plot1 = [int(i) for i in plot1]

答案 1 :(得分:0)

你绝对应该编写一个方法来将每个向量作为3个值的列表,因此如果添加另一个向量,则不必添加和手动更改另外3行代码。然后你仍然可以提示用户逐个输入值,但代码会更加清晰和灵活。

示例代码:

AXES = ('x', 'y', 'z')

def input_vector(axes):
    values = []
    string = "Enter the coordinate of "
    for coord in axes:
        values.append(int(input(string + coord)))
    return values

vectors = []
for i in range(3):
    vectors.append(input_vector(AXES))