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

Python如何使用while循环打印无空格连续数字至用户输入值

问题根因

Python内置print()函数默认在每次输出内容末尾追加换行符\n,循环中每次调用print(num)都会触发换行,最终导致每个数字单独占一行。另外原代码存在缩进语法错误:if __name__ == '__main__':下属的代码块没有做4空格缩进,直接运行会报错。

修复代码

通过给print()传入end=''参数,将默认追加的换行符替换为空字符串,即可实现无空格同行输出,同时修正缩进问题:

if __name__ == '__main__':
    n = int(input())
    num = 1
    while num <= n:
        print(num, end='')
        num = num + 1
    # 可选:输出完所有数字后补一个换行,避免命令行提示符和结果挤在同一行
    print()

原理说明

print()函数的end参数用于控制单次输出末尾追加的内容,默认值为'\n'(换行符)。将其设置为空字符串''后,每次输出数字后不会追加任何额外字符,后续输出会直接拼接在当前行已有内容后面,刚好符合题目要求的无空格连续同行输出效果。
最后单独调用无参数的print()是体验优化写法,不影响数字输出的正确性,不需要可以删掉。

内容的提问来源于stack exchange,提问作者Hedra ehab

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:45:39