当前位置: 首页 > news >正文

快速搭建一个一元二次方程flask应用

新建flask_service目录、templates子目录

flask_service
—— app.py
—— templates
—— —— index.html

app.py

from flask import Flask, request, jsonify, render_template
import random
import matplotlib.pyplot as plt
from io import BytesIO
import base64app = Flask(__name__)def generate_points(a, b, c, start_x, start_y, end_x, end_y, error_range_x, error_range_y, num_points):points = []step = 0.1  # 步长,可以根据需要调整count = 0while count < num_points:x = random.uniform(start_x, end_x)y_actual = a * x**2 + b * x + c# 在实际值附近加入一定的误差x_generated = x + random.uniform(-error_range_x, error_range_x)y_generated = y_actual + random.uniform(-error_range_y, error_range_y)# 确保生成的点在范围内if start_x <= x_generated <= end_x and start_y <= y_generated <= end_y:points.append((x_generated, y_generated))count += 1return points@app.route('/', methods=['GET', 'POST'])
def index():if request.method == 'POST':a = float(request.form['a'])b = float(request.form['b'])c = float(request.form['c'])start_x = float(request.form['start_x'])start_y = float(request.form['start_y'])end_x = float(request.form['end_x'])end_y = float(request.form['end_y'])error_range_x = float(request.form['error_range_x'])error_range_y = float(request.form['error_range_y'])num_points = int(request.form['num_points'])points = generate_points(a, b, c, start_x, start_y, end_x, end_y, error_range_x, error_range_y, num_points)x_values = [point[0] for point in points]y_values = [point[1] for point in points]plt.figure(figsize=(8, 6))plt.scatter(x_values, y_values, color='blue')plt.xlabel('X')plt.ylabel('Y')plt.title('Scatter Plot of Generated Points')plt.axhline(0, color='black', linewidth=0.5)plt.axvline(0, color='black', linewidth=0.5)plt.grid(True)plt.legend()# Convert plot to base64 stringimg_data = BytesIO()plt.savefig(img_data, format='png')img_data.seek(0)img_base64 = base64.b64encode(img_data.getvalue()).decode()plt.close()# 准备要传递给模板的数据info = {'img_base64': img_base64,'points': points,'a': a,'b': b,'c': c,'start_x': start_x,'start_y': start_y,'end_x': end_x,'end_y': end_y,'error_range_x': error_range_x,'error_range_y': error_range_y,'num_points': num_points}# 按照 x 轴从小到大排序points.sort(key=lambda point: point[0])return render_template('index.html', info=info, points=points)return render_template('index.html')if __name__ == '__main__':app.run(host='0.0.0.0', port=5000, debug=True)

index.html

<!DOCTYPE html>
<html>
<head><title>Generate Points</title><style>.container {display: flex;flex-direction: row;align-items: flex-start;justify-content: space-between;}.form-container {width: 50%;margin-right: 20px;}.image-container {width: 50%; /* 调整图形容器宽度 */margin: 0 auto; /* 居中显示图形容器 */}        img {max-width: 100%;height: auto;}</style>
</head>
<body><h1>Generate Points</h1><div class="container"><div class="form-container"><form method="POST"><label for="a">二次项系数 a:</label><input type="text" id="a" name="a" value="0"><br><br><label for="b">一次项系数 b:</label><input type="text" id="b" name="b" value="-2"><br><br><label for="c">常数项系数 c:</label><input type="text" id="c" name="c" value="1"><br><br><label for="start_x">起始 x:</label><input type="text" id="start_x" name="start_x" value="-5"><br><br><label for="start_y">起始 y:</label><input type="text" id="start_y" name="start_y" value="-5"><br><br><label for="end_x">结束 x:</label><input type="text" id="end_x" name="end_x" value="5"><br><br><label for="end_y">结束 y:</label><input type="text" id="end_y" name="end_y" value="5"><br><br><label for="error_range_x">x轴方向的误差范围:</label><input type="text" id="error_range_x" name="error_range_x" step="0.1" value="0.2"><br><br><label for="error_range_y">y轴方向的误差范围:</label><input type="text" id="error_range_y" name="error_range_y" step="0.1" value="0.5"><br><br><label for="num_points">生成的点的个数:</label><input type="text" id="num_points" name="num_points" value="50"><br><br><input type="submit" value="生成图形"></form>{% if info %}<h2>图片信息:</h2><p>二次项系数 a: {{ info['a'] }}</p><p>一次项系数 b: {{ info['b'] }}</p><p>常数项系数 c: {{ info['c'] }}</p><p>起始 x: {{ info['start_x'] }}</p><p>起始 y: {{ info['start_y'] }}</p><p>结束 x: {{ info['end_x'] }}</p><p>结束 y: {{ info['end_y'] }}</p><p>x轴方向的误差范围: {{ info['error_range_x'] }}</p><p>y轴方向的误差范围: {{ info['error_range_y'] }}</p><p>生成的点的个数: {{ info['num_points'] }}</p><h2>点的坐标:</h2><ul>{% for point in points %}<li>{{ point[0] }}, {{ point[1] }}</li>{% endfor %}</ul>{% endif %}</div><div class="image-container">{% if info %}<img src="data:image/png;base64,{{ info['img_base64'] }}" alt="Generated Plot">{% endif %}</div></div>
</body>
</html>

nohup 后台启动

[root@hecs-334217 flask_service]# nohup python3 app.py  > app.log 2>&1 &
[3] 7178

页面效果

在这里插入图片描述
点击生成图形
在这里插入图片描述

相关文章:

快速搭建一个一元二次方程flask应用

新建flask_service目录、templates子目录 flask_service —— app.py —— templates —— —— index.html app.py from flask import Flask, request, jsonify, render_template import random import matplotlib.pyplot as plt from io import BytesIO import base64app F…...

O2OA红头文件流转与O2OA版式公文编辑器基本使用

O2OA开发平台在流程管理中&#xff0c;提供了符合国家党政机关公文格式标准&#xff08;GB/T 9704—2012&#xff09;的公文编辑组件&#xff0c;可以让用户在包含公文管理的项目实施过程中&#xff0c;轻松地实现标准化公文格式的在线编辑、痕迹保留、手写签批等功能。并且可以…...

软件测试:C++ Google Test单元测试框架GTest

目录 编译和安装框架使用AssertionsGoogle TestingGoogle MockingMatchersActions 运行结果 最近在写项目的时候&#xff0c;学到了许多关于软件测试的知识&#xff0c;也不断的使用新的测试框架和测试工具&#xff0c;每次总是机械式的拼接其他人的代码&#xff0c;代码发生错…...

大数据面试题 —— HBase

目录 什么是HBase简述HBase 的数据模型HBase 的读写流程HBase 在写的过程中的region的split的时机HBase 和 HDFS 各自的使用场景HBase 的存储结构HBase 中的热现象&#xff08;数据倾斜&#xff09;是怎么产生的&#xff0c;以及解决办法有哪些HBase rowkey的设计原则HBase 的列…...

SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…...

SpringMVC的执行原理

SpringMVC的执行原理可以简单地概括为以下几个步骤&#xff1a; 客户端发送请求&#xff1a;客户端&#xff08;一般是浏览器&#xff09;发送HTTP请求到服务器&#xff0c;请求特定的URL资源。 前端控制器&#xff08;DispatcherServlet&#xff09;接收请求&#xff1a;在Sp…...

Qt + HTTP 线程交互类封装

介绍 QT的HTTP模块封装的交互类&#xff0c;线程运行。使用时添加自己的业务逻辑即可 代码 头文件 /*** file httpcontroller.h* brief 云台相机的协议交互类* author xintong-zhou* date 2024-03-13*/#ifndef HTTPCONTROLLER_H #define HTTPCONTROLLER_H#include <QNet…...

GitHub Copilot+ESP开发实战-串口

上篇文章讲了GitHub Copilot在应用中可能遇到的问题&#xff0c;接下来小启就简单介绍下GitHub Copilot在ESP32开发中C语言实现串口功能&#xff0c;感兴趣的可以看看。 一、向Copilot提问&#xff1a; 1. ESP32用C语言实现串口初始化&#xff1b; 2.配置uart为1&#xff0c…...

C# 使用ffmpeg将图片保存为mp4视频

使用 FFmpeg 这个强大的多媒体处理工具&#xff0c;可以轻松地将一系列图片转换为一个 MP4 视频文件。以下是一个基本的命令行示例来完成这个任务&#xff1a; ffmpeg -framerate 25 -i image-%03d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4 命令参数说明&#xf…...

Java安全技术及代码审计技巧

概述 Java安全编码和代码审计是确保Java应用程序安全性的重要环节。本文旨在介绍Java中常见的Web漏洞、安全编码示例以及一些常见漏洞函数&#xff0c;并提供一个自动化查找危险函数的Python脚本。 1. XML外部实体 (XXE) 漏洞 介绍 XML文档结构包括XML声明、DTD文档类型定义&…...

C# 使用OpenCvSharp4将Bitmap合成为MP4视频的环境

环境安装步骤&#xff1a; 在VS中选中项目或者解决方案&#xff0c;鼠标右键&#xff0c;选择“管理Nuget包”&#xff0c;在浏览窗口中搜索OpenCVSharp4 1.搜索OpenCvSharp4,选择4.8.0版本&#xff0c;点击安装 2.搜索OpenCvSharp4.runtime.win,选择4.8.0版本&#xff0c;点…...

[游戏开发][Unity] 导出Xcode工程,完成调试与发布

Unity导出Xcode工程(模拟器版本与真机调试) [游戏开发][Unity] 打包Xcode工程模拟器真机调试_unity5 打包xcod-CSDN博客 Unity导出发布版本Xcode工程&#xff0c;上传app到官网&#xff0c;正式发布或创建TestFlight Xcode发布AppStore与TestFlight全流程_xcode 上传到testfit-…...

JSONP 实现跨域请求案例

后端使用 express 搭建&#xff0c;案例代码如下&#xff1a; const express require(express)const app express() const PORT 3000app.get(/data, (req, res) > {const jsonData {name: Alan,age: 666,city: GD}const callback req.query.callback // 获取前端中的回…...

2024年智慧城市、人文发展与区域经济国际会议(ICSCCDRE 2024)

2024年智慧城市、人文发展与区域经济国际会议&#xff08;ICSCCDRE 2024&#xff09; 2024 International Conference on Smart Cities, Cultural Development and Regional Economy 会议简介&#xff1a; 城市经济人文发展是一个综合性的过程&#xff0c;它关注城市在经济、…...

目标检测——PP-YOLO算法解读

PP-YOLO系列&#xff0c;均是基于百度自研PaddlePaddle深度学习框架发布的算法&#xff0c;2020年基于YOLOv3改进发布PP-YOLO&#xff0c;2021年发布PP-YOLOv2和移动端检测算法PP-PicoDet&#xff0c;2022年发布PP-YOLOE和PP-YOLOE-R。由于均是一个系列&#xff0c;所以放一起解…...

多特征变量序列预测(11) 基于Pytorch的TCN-GRU预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…...

Lvs+keepalived+nginx搭建高可用负载均衡集群

环境配置 master主机192.168.199.149&#xff0c;虚拟IP192.168.199.148 back备机192.168.199.150 真实服务器1 192.168.199.155 真实服务器2 192.168.199.156 关闭防火墙和selinux master配置&#xff08;149&#xff09; 添加虚拟IP ip addr add 192.168.199.148/24 …...

WPF —— 控件模版和数据模版

1:控件模版简介: 自定义控件模版&#xff1a;自己添加的样式、标签&#xff0c;控件模版也是属于资源的一种&#xff0c; 每一个控件模版都有一唯一的 key&#xff0c;在控件上通过template属性进行绑定 什么场景下使用自定义控件模版&#xff0c;当项目里面多个地方…...

如何动态修改spring中定时任务的调度策略(1)

在我们日常开发中经常会调度工具来处理一下需要定时执行的任务&#xff0c;比如定时导出报表数据给业务方发送邮件。你在工作中是如何这种定时调度&#xff1f; 如何实现调度任务 使用java技术栈的老铁来说&#xff0c;现成定时调度的解决方案应该有很多&#xff0c;总结来说…...

idea import的maven类报红

idea 报红/显示红色的原因 一般报红&#xff0c;显示红色&#xff0c;是因为 idea 在此路径下&#xff0c;找不到这个类。 找到是哪个 jar 包的类导致 idea 报红 点击报红的路径的上一层&#xff0c;进入jar 包。比如&#xff1a; import com.aaa.bbb.ccc.DddDto;这个 impo…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...