import sys
string_input = "6\n212 132322\n212 21\n65 56\n32 3\n3232 32\n313 13\n0"
# a two dimensional array to store points
points = []
for line in string_input.split("\n"):
# split the inputed line using space to divide x and y coordinate
points_str = line.split(" ")
point_coordinate = []
if len(points_str) != 1:
for val in points_str:
point_coordinate.append(int(val))
points.append(point_coordinate)
print(str(points))
print(len(points_str))
为什么len(points_str)返回1?我也很困惑为什么1!= 1继续执行其余的代码。
答案 0 :(得分:0)
首先你的循环遍历所有迭代,然后打印出len(points_str)
。现在points_str
在每次迭代中都会获得一个新值,但由于您只在最后打印,因此您获得了points_str
分配的 last 值的长度。这是string_input.split("\n")
的最后一个元素,即'0'
。 '0'
的长度确实是1。
尝试移动线
print(len(points_str))
循环内部(即只添加四个空格)并检查输出。您还应该尝试打印points_str
,而不仅仅是它的长度。
答案 1 :(得分:-1)
好吧,因为它的长度为1.至少在你的第一次迭代中。
你的第一行是“6”,所以points_str是[“6”],长度为1。
你应该真的使用调试器。