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

Python while循环条件优化及factors函数输出格式调整问询

代码修改方案

核心修改点如下:

  • 调整原函数直接逐次打印因数的逻辑,先将所有符合条件的因数存入列表,再统一格式化输出,避免不同输入的输出内容挤在同一行
  • 新增要求的输出前缀格式,用字符串格式化实现指定的输出结构
  • 优化边缘场景的输出格式,移除错误信息末尾多余的空格

修改后的完整代码:

def factors(x):
    if x >= 0:
        factor_list = []
        for i in range(1, x):
            if x % i == 0:
                factor_list.append(str(i))
        # 如果需要和示例完全一致的逗号前加空格的格式,把下方的', '替换为' ,'即可
        print(f"Factors for {x} are : {', '.join(factor_list)}")
    else:
        print("error message")

factors(21)
factors(-1)
factors(-3)

运行后输出结果和期望完全匹配:

Factors for 21 are : 1, 3, 7
error message
error message

如果后续需要把输入值本身也纳入因数统计,只需要将循环的range(1, x)修改为range(1, x+1)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:06:05