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

matplotlib如何实现3次用户输入并生成3个对应函数图像

代码问题排查

原代码存在3处核心错误,导致无法实现预期效果:

  • 循环区间设置错误:range(1, 1)生成的是空序列,循环体一次都不会执行,要实现3次循环应使用range(3)
  • 缩进逻辑错误:所有绘图代码被错误缩进至my_func2函数内部,且放在return语句之后,属于永远不会执行的死代码;同时函数被放在循环内重复定义,没有实际必要
  • 输入逻辑错误:参数a的输入逻辑被写在计算函数内部,会导致计算函数值时重复触发输入,不符合单次输入对应单次绘图的需求
修正后完整代码
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

for _ in range(3):
    # 获取当前次绘图的幂次参数
    a = int(input())
    # 生成x轴采样数据,取100个点保证曲线平滑
    x = np.linspace(0, 2, 100)
    y = x ** a
    # 绘制当前幂次的函数曲线
    plt.plot(x, y, label=f'y = x^{a}')
    plt.xlabel("x", size=14)
    plt.ylabel("y", size=14)
    plt.grid(alpha=0.3)
    plt.legend()
    plt.show()
运行说明
  • 运行后会依次触发3次输入,每次输入整数幂次后按回车,就会生成对应y=x^a在[0,2]区间的函数图像
  • 代码增加了图例标注,可直观区分不同幂次对应的曲线,不需要可直接删除plt.legend()行

内容的提问来源于stack exchange,提问作者박건일

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:27:16