调用圆面积计算自定义函数报Unresolved Reference错误求助
报错原因
- 调用
arc(a,r)时,a和r两个变量没有提前定义,解释器无法识别,这是触发Unresolved Reference报错的直接原因。 - 函数定义逻辑存在多处额外错误:
- 入参
a、r全程未被使用,属于无效参数,函数内部反而直接调用了全局的radius变量,逻辑混乱。 - 函数返回值写为
arc,也就是返回函数自身对象,而不是计算得到的面积结果。 - 最终打印时引用的是
arc函数对象,不是预期的面积计算结果。
- 入参
解决方法
重新梳理函数逻辑,圆面积计算仅需要传入半径1个参数即可,不需要多余参数,修正后代码如下:
# 计算圆面积 def calculate_circle_area(radius): pi = 3.14 return pi * (radius ** 2) radius = int(input("Enter Radius: ")) area_of_circle = calculate_circle_area(radius) print("Area of circle: {}".format(area_of_circle))
修正点说明:
- 移除无效入参,仅保留
radius作为入参,函数内部直接使用入参计算,避免混乱调用全局变量。 - 函数直接返回面积计算结果,不再返回函数自身。
- 调用函数时直接传入已经定义的
radius变量,不存在未定义的参数,不会再触发未引用报错。 - 打印时输出存储计算结果的
area_of_circle变量,输出内容符合预期。
内容的提问来源于stack exchange,提问作者Siddhant
相关产品推荐
相关产品推荐

