You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何单行无空格打印1到n的数字?对应代码求详细解释

代码运行逻辑详解

首先贴出完整代码:

print(*range(1, int(input())+1), sep='') 

我们从最内层到外层拆分每一段的作用:

  • input():Python内置的标准输入函数,会读取你在控制台输入的内容,默认返回字符串格式。比如你输入3,它返回的是字符串'3'。
  • int(input()):把input()拿到的字符串转成整数,也就是题目要求的上限值n。
  • range(1, int(input())+1):range()是Python的整数序列生成函数,遵循左闭右开的规则:第一个参数是序列起始值(包含),第二个参数是结束边界(不包含)。如果要生成1到n的所有整数,结束边界就必须设为n+1,比如n=5时,range(1,6)生成的序列就是1,2,3,4,5。
  • range前面的*:这是Python的可迭代对象解包运算符,作用是把序列里的每个元素拆成独立的位置参数传给函数。比如*[1,2,3]就等价于直接给函数传1,2,3三个单独的参数。
  • sep='':print()函数的内置参数,sep用来指定多个打印内容之间的分隔符,默认值是空格。这里手动设为空字符串,就代表多个数字打印的时候中间不会插入任何内容,自然就没有空格了。

举个实际运行的例子:如果你输入4,代码执行流程如下:

  1. 输入的'4'转成整数4
  2. 生成序列range(1, 5),对应1、2、3、4
  3. 解包后相当于调用print(1,2,3,4, sep='')
  4. 最终输出无空格的结果:1234

内容的提问来源于stack exchange,提问作者Saahil Shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:45:07