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

Python中如何使用函数返回列表?一维粒子运动绘图报错解决

一维随机粒子运动代码修正方案

你的代码存在两个问题,导致运行报错和功能异常:

  1. 变量未定义错误:函数libreparcoursmoyen内部的列表L是局部变量,外部代码直接调用plt.plot(L)时无法识别它。必须先调用函数并将返回值赋值给外部变量L。
  2. random.choice参数错误:rd.choice()需要传入一个可迭代对象(比如列表),不能直接传两个单独的数值1和-1。

修正后的完整代码如下:

import random as rd 
import matplotlib.pyplot as plt 

def libreparcoursmoyen(x_0, pas):
    L = [x_0]
    x = x_0
    for k in range(pas):
        # 修正choice的参数为列表
        x = x + rd.choice([1, -1])
        L.append(x)
    return L 

# 调用函数,传入初始位置和步数,将返回值赋值给L
L = libreparcoursmoyen(x_0=0, pas=1000)
# 绘制运动轨迹
plt.plot(L)
# 显示图像
plt.show()

修正说明:

  • 调用libreparcoursmoyen函数时,你可以根据需求调整x_0(初始位置)和pas(运动步数)的数值。
  • 添加plt.show()确保图像窗口正常弹出,否则可能无法看到绘制的轨迹。

内容的提问来源于stack exchange,提问作者Aiham El ofairi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:28:13