Python如何不换行打印字符串?嵌套循环输出符号网格问题求解
问题原因
- Python的
print()函数默认会在输出内容末尾追加换行符\n,你最初的写法每个符号打印后自动换行,导致所有符号竖向排列 - 你修改为
print(symbol, end="")后关闭了默认追加的换行符,但内层循环打印完一行的所有列之后,没有主动插入换行,所以所有符号都挤在同一行
修复方案
你只需要在内层循环(打印列的循环)结束后,加一次空的print()调用主动插入换行即可,修改后的完整代码如下:
rows = int(input("How many rows? ")) columns = int(input("How many columns? ")) symbol = input("What symbol? (Symbol can only be one.): ") if len(symbol) > 1: print("Symbol length can only be one") # 可选:这里可增加exit()避免符号不符合要求时继续执行 for i in range(rows): for j in range(columns): print(symbol, end="") # 一行的所有列打印完成,插入换行 print()
补充优化写法
如果不需要刻意练习嵌套循环,还可以直接用字符串乘法简化逻辑,效果完全一致:
for i in range(rows): print(symbol * columns)
内容的提问来源于stack exchange,提问作者Rydex
相关产品推荐
相关产品推荐

