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

Python中print函数的end参数失效问题求助

问题原因及解决办法

为什么end=" "不生效?

你在print(n, end=" ")之后多写了一行无参数的print()——这个默认会输出换行符(等同于print(end="\n")),直接覆盖了前面end=" "的设置,导致每次输出后还是强制换行。

修复后的代码

删掉多余的print()即可实现预期的空格分隔、不换行效果:

import sys
num1 = int(input())
num2 = int(input())

for n in range(num1, num2 + 1):
    n_str = str(n)
    # 假设输入的数字都是6位,否则需要处理索引越界问题
    sum_odd_pos = int(n_str[0]) + int(n_str[2]) + int(n_str[4])
    sum_even_pos = int(n_str[1]) + int(n_str[3]) + int(n_str[5])
    if sum_odd_pos == sum_even_pos:
        print(n_str, end=" ")

额外优化建议

原代码里的内层for i in range(0, 6)完全是冗余的——循环里根本没用到变量i,每次都直接重新计算所有奇偶位的和,去掉这个循环能让代码更高效简洁。另外如果输入的数字可能不是6位,建议添加长度判断,避免出现索引越界错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 10:15:35