Python代码输出中间空格异常增多问题求助
问题分析与解决
你的问题出在print函数的参数处理上:当给print传入多个位置参数时,它默认会用空格作为分隔符连接这些参数。比如你写print(" ", "#"*i, end=""),实际上会输出你手动写的那个空格,再加上print自动添加的分隔空格,所以最终中间会多一个空格。
解决方法有两种:
- 合并成单个字符串输出
把空格和#*i拼接成一个字符串,这样print只接收一个参数,不会自动加分隔空格:
data = 3 for i in range(1, data + 1): for j in range(1, data + 1): if j > (data - i): print("#", end="") else: print(" ", end="") if j == data: print(" " + "#" * i, end="") # 合并成单个字符串 print()
- 设置
sep参数为空
显式指定print的分隔符sep="",这样多个参数之间就不会自动加空格了:
data = 3 for i in range(1, data + 1): for j in range(1, data + 1): if j > (data - i): print("#", end="") else: print(" ", end="") if j == data: print(" ", "#" * i, sep="", end="") # 设置sep为空 print()
两种方法都能让中间只保留1个空格,运行后输出如下:
# # ## ## ### ###
内容的提问来源于stack exchange,提问作者Alperen Budak
相关产品推荐
相关产品推荐

