这是我正在为一个类编写的方法,由于某种原因,它返回的行数超出预期。下面的代码只是一个测试,这些值不具有代表性。
n = ""
dixoncider = ["a","f","f","g","f"]
for count,ele in enumerate(dixoncider,0):
if count is len(dixoncider):
break
else:
n = n + str(count) + ": " + str(ele) + "\n"
print(n)
输出错误:
0: a
1: f
2: f
3: g
4: f
如果您在末尾表示空行,那是因为您要在每个值后附加一个换行符(\n
,所以输出的最后一个字符将是该换行符。
如果可以看到该字符,则具有此:
0: a\n
1: f\n
2: f\n
3: g\n
4: f\n
并且想要这个:
0: a\n
1: f\n
2: f\n
3: g\n
4: f <- No linebreak here.
如果要摆脱这一点,可以将print(n)
替换为print(n[:-1])
以跳过最后一个字符。
或者,仅在最后一次迭代中的所有循环中,有条件地将\n
添加到循环中。