自定义三角形面积计算函数调用触发NameError报错求助
解决Python三角形面积函数调用的NameError问题
首先,你的函数代码存在缩进错误——Python依赖缩进划分代码块,正确的函数定义应该是:
def area_of_triangle(base, height): area = base * height / 2 return area
接下来针对NameError: name 'area_of_triangle' is not defined错误,分两种场景解决:
场景1:在交互式Shell(比如IDLE)中直接调用
- 如果你把函数写在单独的
.py文件里,先将文件内容加载到当前Shell环境:- 假设文件保存为
triangle.py - 在Shell中执行加载命令:
# Python 3 版本 exec(open('triangle.py').read()) # Python 2 版本 execfile('triangle.py') - 之后再执行
area_of_triangle(10,50)即可正常运行
- 假设文件保存为
- 也可以直接把修正缩进后的函数代码复制粘贴到Shell里执行,再调用函数。
场景2:通过导入模块调用
- 确保修正缩进后的代码已保存为
.py文件(比如triangle.py),且文件在Python当前工作目录下(可通过import os; print(os.getcwd())查看当前目录) - 导入函数后调用:
from triangle import area_of_triangle area_of_triangle(10,50) - 或者导入整个模块,通过模块名调用:
import triangle triangle.area_of_triangle(10,50)
内容的提问来源于stack exchange,提问作者Patrick Dyer
相关产品推荐
相关产品推荐

