嗨,我的情况很难解释,所以我不妨深入解释。
我正在尝试创建一个程序,用户可以在其中输入形状点的(笛卡尔坐标)坐标。然后,程序使用矢量(由用户输入)使用其坐标转换形状。希望你能理解我所说的话。如果您不了解使用坐标翻译形状的过程/规则,您可能无法帮助我,因为如果您了解我想要做的事情会有所帮助。
这个过程就像这样开始:
我问用户有多少点构成他们的形状(他们正在翻译的是什么类型的多边形)。
然后我让他们输入每个点的x,y坐标。这是一个节省点的过程的开始代码和代码:
print('View saved points with "points".')
print()
print("Number of points:")
inputX = int(input())
if inputX < 3:
print("Invalid.")
if inputX > 5:
print("Invalid.")
print("Input points: x,y")
inputZero = input()
split = inputZero.split(",")
xZero,yZero = split[0],split[1]
print("("+xZero+","+yZero+") saved. Input another point.")
现在,对于每个节省点的部分,我希望用户也可以输入类似于&#34;点&#34;的字符串,而不是输入点的坐标。它将打印保存的所有点。问题是,我不知道如何将整数作为点的坐标,并且有一个像&#34; points&#34;像一个字符串,我可以像这样使用if语句(inputZero是其中一个节点部分中点坐标的输入):
if inputZero == "points":
print("#All of the points previously entered")
感谢每一个回复,
由于
答案 0 :(得分:0)
您需要的只是一个简单的if / else块,也许是为了确保您获得有效的数字。
...
points = []
while True:
print("Input points: x,y")
inputZero = input()
if inputZero == "points":
print(previousPoints)
else:
try:
split = inputZero.split(",")
xZero,yZero = int(split[0]),int(split[1])
print("({0}, {1}) saved. Input another point.".format(xZero, yZero))
points.append((xZero, yZero))
except ValueError or IndexError:
print("Invalid input!")
答案 1 :(得分:0)
不确定我是否理解得当。这是你想要的吗?
import sys
points = []
while True:
print("Input points: x,y")
inputZero = raw_input()
if inputZero == 'points':
print "Entered points: %s" % points
elif inputZero == 'quit':
print "Bye!"
sys.exit(0)
else:
split = inputZero.split(",")
xZero,yZero = int(split[0]),int(split[1])
points.append((xZero, yZero))
print("(%s, %s) saved. Input another point." % (xZero, yZero))