为何Python嵌套循环中Code-2输出不自动换行?与Code-1对比解析
问题:为何Code-2每打印4个A后不会自动换行?
Code - 1
for i in range(1,5): for x in range(1,5): print ("A",end="") print("*")
输出
AAAA* AAAA* AAAA* AAAA*
Code - 2
for i in range(1,5): for x in range(1,5): print("A",end="")
输出
AAAAAAAAAAAAAAAA
核心原因很直接:
- Code-1的外层循环里,每次内层循环打印完4个A后,都会执行
print("*")。Python的print()函数默认会在输出末尾添加换行符\n,所以这个语句不仅会打印*,还会自动切换到新行,最终每轮外层循环结束都换一行。 - Code-2里只有打印A的逻辑,所有
print("A",end="")都用end=""取消了默认换行,相当于把所有A都连续输出在同一行,没有任何触发换行的操作,自然不会自动换行。
如果想让Code-2实现每4个A换行,只需要在外层循环的内层循环结束后,加一行不带end参数的print()即可:
for i in range(1,5): for x in range(1,5): print("A",end="") print() # 触发换行
内容的提问来源于stack exchange,提问作者Exploring_lee
相关产品推荐
相关产品推荐

