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

如何编写计算指定数值阶乘并写入指定文件的Python函数并修复错误代码

代码问题修正方案

原代码存在的问题

  • 冗余的全局变量filn = 100和函数参数重名,无实际作用可直接删除
  • 函数内第一行s = open(filn)直接覆盖了传入的阶乘数值参数s,导致后续阶乘计算找不到正确的数值
  • 打开文件默认使用只读模式,且执行了read()读取文件内容的操作,和「写入阶乘结果」的需求完全不符
  • 阶乘计算逻辑完全错误:未初始化阶乘结果变量,循环内直接return导致第一次循环就终止运行,无法完成阶乘计算
  • 缺少写入文件的核心逻辑,且函数有返回值不符合要求的None返回设定

修正后的代码

def file(s:int, filn:str) -> None:
    # 计算阶乘
    factorial = 1
    for i in range(1, s+1):
        factorial *= i
    # 写入文件
    with open(filn, 'w', encoding='utf-8') as f:
        f.write(str(factorial))

# 调用测试
file(10, 'test.out')

运行上述代码后,test.out文件内就会写入3628800的结果,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:45:00