飞盘轨迹模拟函数Return未生效,打印返回值提示变量未定义
问题原因及修复
错误原因
- 函数
trajectory内部定义的x是局部变量,仅在函数执行过程中有效,函数结束后局部变量会被回收,外部作用域无法直接访问。 - 你调用函数时只是执行了
trajectory(x_0,y_0,theta_0,v_0,r),没有接收函数返回的x和y值,相当于丢弃了返回结果,所以后续print(x)会提示'x' is not defined。
修复方式
将函数调用语句修改为接收返回值的形式:
x, y = trajectory(x_0,y_0,theta_0,v_0,r) print(x)
这样就把函数返回的位置列表赋值给当前作用域的x和y变量,之后就能正常打印输出了。
内容的提问来源于stack exchange,提问作者Cedric
相关产品推荐
相关产品推荐

