Python如何去除print输出range数字的空格 实现无间隔数字拼接
问题说明
需要在整数序列输出场景实现类似字符串strip()去除多余空白的效果,输出如下格式的回文数字三角:
1 121 12321 1234321 123454321
现有代码运行时单行内数字会被默认空格分隔,要求保留原有for语句结构,仅修改print所在的一行代码,实现数字无空格拼接。
原有代码如下:
for i in range(1,int(input())+1): print(*range(1,i+1),*range(1,i).__reversed__())
实现方法
直接给print函数传入sep=''参数,把默认的空格分隔符替换为空字符串即可,修改后的print行代码为:
print(*range(1,i+1),*range(1,i).__reversed__(), sep='')
原理说明
Python内置的print()函数接收多个待输出的位置参数时,默认使用单个空格作为参数间的拼接分隔符,也就是sep=' '。原代码用*解包两个range序列得到多个独立的整数参数,输出时自然会被空格隔开。指定sep=''后,所有待输出内容会直接紧挨着拼接,不会插入多余空格,完全匹配需求的输出格式,且不需要改动原有for循环的任何逻辑。
修改后的完整可运行代码:
for i in range(1,int(input())+1): print(*range(1,i+1),*range(1,i).__reversed__(), sep='')
运行时输入对应行数(比如输入5),就能输出目标格式的回文数字三角。
内容的提问来源于stack exchange,提问作者Mostafa Abdelghafar
相关产品推荐
相关产品推荐

