Python同行打印格式问题求助:基础GUI字符输出不符预期
解决字符矩阵打印格式错乱问题
你的代码问题在于print()函数默认会在输出内容后添加换行符,导致每个空格或星号都单独占据一行,最终输出格式混乱。
以下是两种可行的修复方案:
方案一:控制print的换行行为
通过设置print的end参数为空字符串,让每个字符输出后不自动换行,待整行遍历完成后再手动打印换行符:
picture = [ [0,0,0,1,0,0,0], [0,0,1,1,1,0,0], [0,1,1,1,1,1,0], [1,1,1,1,1,1,1], [0,0,0,1,0,0,0], [0,0,0,1,0,0,0] ] for image in picture: for pixel in image: if pixel == 0: print(" ", end="") elif pixel == 1: print("*", end="") print() # 每行结束后打印换行
方案二:先拼接整行字符串再打印
先遍历每行的所有像素,拼接成完整的一行字符串,再一次性打印整行,逻辑更直观:
picture = [ [0,0,0,1,0,0,0], [0,0,1,1,1,0,0], [0,1,1,1,1,1,0], [1,1,1,1,1,1,1], [0,0,0,1,0,0,0], [0,0,0,1,0,0,0] ] for image in picture: line = "" for pixel in image: line += " " if pixel == 0 else "*" print(line)
两种方案运行后都能得到你预期的输出格式:
* *** ***** ******* * *
内容的提问来源于stack exchange,提问作者snowhow
相关产品推荐
相关产品推荐

