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

Python实现函数循环批量计算多组数值并支持结果可视化

修改方案:支持多次输入与结果可视化

先把原代码的计算逻辑封装成独立函数,再添加多输入处理逻辑,最后用matplotlib绘制结果图表。完整代码如下:

def calculate_value(n):
    # 保留原代码的斐波那契递推计算逻辑
    f1, f2 = 1, 1
    for _ in range(n - 1):
        f2, f1 = f2 + f1, f2
    return f2 ** 2 - f1 ** 2

def get_multiple_inputs():
    # 循环接收用户输入,输入q停止
    inputs = []
    while True:
        user_input = input("请输入一个正整数n(输入q结束输入):")
        if user_input.lower() == 'q':
            break
        try:
            n = int(user_input)
            if n >= 1:
                inputs.append(n)
            else:
                print("请输入大于等于1的正整数!")
        except ValueError:
            print("输入无效,请输入正整数或q!")
    return inputs

# 获取用户输入的多个n值
n_list = get_multiple_inputs()
if not n_list:
    print("没有有效输入,程序退出。")
else:
    # 批量计算每个n对应的结果
    result_list = [calculate_value(n) for n in n_list]
    
    # 打印计算结果
    print("\n计算结果:")
    for n, res in zip(n_list, result_list):
        print(f"n={n} 时,结果为 {res}")
    
    # 绘制结果图表
    try:
        import matplotlib.pyplot as plt
        
        plt.figure(figsize=(8, 5))
        plt.plot(n_list, result_list, marker='o', linestyle='-', color='b')
        plt.xlabel('输入参数n')
        plt.ylabel('计算结果')
        plt.title('n与对应计算结果的关系')
        plt.grid(True)
        plt.show()
    except ImportError:
        print("\n无法绘制图表,请先安装matplotlib:`pip install matplotlib`")

代码说明:

  • 计算逻辑封装:calculate_value(n) 抽离原代码核心计算逻辑,传入n直接返回结果,方便重复调用。
  • 多输入处理:get_multiple_inputs() 循环接收输入,直到用户输入q;同时做了输入校验,确保输入的是有效正整数。
  • 结果展示:用列表推导式批量计算结果,逐个打印后,通过matplotlib绘制折线图展示n与结果的关联趋势。

使用示例:

运行代码后按提示输入多个n值,比如:

请输入一个正整数n(输入q结束输入):1
请输入一个正整数n(输入q结束输入):2
请输入一个正整数n(输入q结束输入):3
请输入一个正整数n(输入q结束输入):4
请输入一个正整数n(输入q结束输入):q

程序会输出每个n的结果,随后弹出图表窗口展示数据趋势。

内容的提问来源于stack exchange,提问作者Alexey Byrnov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:25:22