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

Python模块导入调用报错:如何复用圆计算函数实现一致输出?

解决方案

你的第二个脚本存在几个关键问题,以下是修正后的完整代码及问题说明:

问题分析

  • 未导入program5_2模块,直接调用program5_2.area()会触发NameError
  • 调用模块函数时未传入必要的radius参数,且未保存函数返回值,这两行代码完全无效
  • 直接使用circumference()和area(),但未通过模块引用或单独导入这两个函数,同样会报错
  • 原脚本的输出存在变量对应错误(把周长值当成面积输出,面积值当成周长输出),若要和原脚本输出完全一致,需保留这个对应关系

修正后的第二个脚本代码

# 首先导入program5_2模块
import program5_2

def main():
    radius = float(input('Enter radius of circle: '))
    # 通过模块调用函数并保存返回值
    ar = program5_2.area(radius)
    cir = program5_2.circumference(radius)
    # 完全复刻原脚本的输出格式和变量对应
    print(f'The area of a circle with radius {radius:.2f} is {cir:.3f}')
    print(f'The circumference is {ar:.4f}')

if __name__ == '__main__':
    main()

可选写法:单独导入指定函数

如果你不想每次都写program5_2.前缀,可以这样导入:

from program5_2 import area, circumference

def main():
    radius = float(input('Enter radius of circle: '))
    ar = area(radius)
    cir = circumference(radius)
    print(f'The area of a circle with radius {radius:.2f} is {cir:.3f}')
    print(f'The circumference is {ar:.4f}')

if __name__ == '__main__':
    main()

注意事项

  • 确保program5_2.py和第二个脚本在同一个文件夹下,否则需要处理模块路径问题
  • 原脚本的输出逻辑存在数值对应错误(面积和周长的输出搞反了),如果是笔误,可自行调整print语句中的ar和cir变量位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:30:55