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

【pythonflask-1】简单实现加减乘除输入界面

app.py

import flask
from flask import Flask, render_template, request
# 计算精确的浮点结果,float加法也计算不出来
from decimal import Decimalapp = Flask(__name__)@app.route('/')
def home():return render_template('index.html')@app.route('/calculate', methods=['POST'])
# POST请求处理用户提交的数据
def calculate():num1 = Decimal(request.form['num1'])num2 = Decimal(request.form['num2'])operation = request.form['operation']result = Decimal(0)# 输入的两个数和运算符,结果初始为0if operation == 'add':result = num1 + num2# 加elif operation == 'subtract':result = num1 - num2# 减elif operation == 'multiply':result = num1 * num2# 乘elif operation == 'divide':if num2 != Decimal(0):result = num1 / num2else:return "错误:分母不能为0"# 除result = round(result,4)# 保留四位小数return render_template('result.html', num1=num1, num2=num2, operation=operation, result=result)# 然后将计算结果和输入的两个参数返回给result.html渲染
if __name__ == '__main__':app.run(debug=True)

templates文件夹

index.html

<!DOCTYPE html>
<html>
<head><title>在线计算器</title>
</head>
<body><h1>在线计算器</h1><form action="/calculate" method="POST"><!-- 获得请求 --><input type="text" name="num1" required><select name="operation" required><option value="add">+</option><option value="subtract">-</option><option value="multiply">*</option><option value="divide">/</option><!-- 加减乘除的操作 --></select><input type="text" name="num2" required><button type="submit">开始计算</button><!-- 提交表单 --></form>
</body>
</html>
<!-- type="number" 时,浏览器会为输入字段提供一些额外的验证和用户界面上的增强功能,
例如限制输入为数值、显示数值调节器控件等。 -->

result.html

<!DOCTYPE html>
<html>
<head><title>计算结果</title>
</head>
<body><h1>计算结果</h1><p>{{ num1 }} {{ operation }} {{ num2 }} = {{ result }}</p><!-- 执行相关的计算操作的变量 -->
</body>
</html>

实现效果

支持小数点计算

相关文章:

【pythonflask-1】简单实现加减乘除输入界面

app.py import flask from flask import Flask, render_template, request # 计算精确的浮点结果&#xff0c;float加法也计算不出来 from decimal import Decimalapp Flask(__name__)app.route(/) def home():return render_template(index.html)app.route(/calculate, meth…...

基于协同过滤算法的旅游推荐系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

遇见问题:使用mybaties向数据库中插入数据,idea显示插入成功,但是数据库中并没有数据变化?

遇见问题&#xff1a;使用mybaties向数据库中插入数据&#xff0c;idea显示插入成功&#xff0c;但是数据库中并没有数据变化? 可能的原因有几种&#xff1a; 没有提交事务&#xff1a;在使用 MyBatis 进行数据库操作时&#xff0c;需要手动提交事务。你可以在插入数据完成后…...

markdown学习笔记

markdown学习笔记 1.文字&#xff08;依靠HTML&#xff09; 1.1文字缩进-空格转义符 单字符空&#xff1a;&emsp; 半字符空&#xff1a;&ensp;1.2文字对齐 「居中&#xff1a;」<center> 居中 </center> or <p align"center"> 居中 …...

C++项目实战——基于多设计模式下的同步异步日志系统-⑧-日志落地类设计

文章目录 专栏导读抽象基类StdoutSink类设计FileSink类设计RollBySizeSink类设计日志落地工厂类设计日志落地类整理日志落地拓展测试RollByTimeSink类设计测试代码测试完整代码 专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0c;C/C领…...

从零开始探索C语言(八)----指针

文章目录 1. 什么是指针&#xff1f;2. 如何使用指针&#xff1f;3. NULL 指针4. 指针的算术运算5. 指针数组6. 指向指针的指针7. 传递指针给函数8. 从函数返回指针 有人说&#xff0c;指针是C语言的灵魂&#xff0c;所以学习C语言&#xff0c;学习指针是很有必要的。 通过指针…...

SpringMVC 的三种异常处理方式详解

目录 1. 什么是异常 2. 为什么要全局异常处理 3. SpringMVC异常分类 4. 异常处理思路 5. 三种异常处理方式示例 ① 配置 SimpleMappingExceptionResolver 处理器 ② 实现 HandlerExceptionResolver 接口 ③ 使用ControllerAdviceExceptionHandler实现全局异常 6. 响应…...

莫比乌斯召回系统介绍

当前召回系统只能召回相关性高的广告&#xff0c;但不能保证该广告变现能力强。莫比乌斯做了如下两点创新&#xff1a; 在召回阶段&#xff0c;引入CPM等业务指标作为召回依据在召回阶段&#xff0c;引入CTR模型&#xff0c;从而召回更多相关性高且变现能力强的广告 参考 百度…...

使用ASM修改组件化 ARouter

工程目录图 1. apt生成的字节码文件 2. asm 生成的代码 请点击下面工程名称&#xff0c;跳转到代码的仓库页面&#xff0c;将工程 下载下来 Demo Code 里有详细的注释 代码&#xff1a;TestCompont...

第21章_瑞萨MCU零基础入门系列教程之事件链接控制器ELC

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…...

(二十八)大数据实战——Flume数据采集之kafka数据生产与消费集成案例

前言 本节内容我们主要介绍一下flume数据采集和kafka消息中间键的整合。通过flume监听nc端口的数据&#xff0c;将数据发送到kafka消息的first主题中&#xff0c;然后在通过flume消费kafka中的主题消息&#xff0c;将消费到的消息打印到控制台上。集成使用flume作为kafka的生产…...

vue3:22、vue-router的使用

import { createRouter, createWebHistory } from vue-router//history模式&#xff1a;createWebHistory //hash模式&#xff1a;createWebHashHistory//vite中的环境变量 import.meta.env.BASE_URL 就是vite.config.js中的base配置项 const router createRouter({history:…...

深入理解JVM虚拟机第五篇:一些常用的JVM虚拟机(二)

文章目录 一&#xff1a;JRockit VM的介绍 二&#xff1a;J9 VM的介绍 三&#xff1a;KVM和CDC/CLDC Hotspot 四&#xff1a;Azul VM的介绍 五&#xff1a;Liquid VM的介绍 六&#xff1a;Apache Harmoney 七&#xff1a;Microsoft JVM 八&#xff1a;Taobao JVM 九&a…...

导数公式及求导法则

目录 基本初等函数的导数公式 求导法则 有理运算法则 复合函数求导法 隐函数求导法 反函数求导法 参数方程求导法 对数求导法 基本初等函数的导数公式 基本初等函数的导数公式包括&#xff1a; C0(x^n)nx^(n-1)(a^x)a^x*lna(e^x)e^x(loga(x))1/(xlna)(lnx)1/x(sinx)cos…...

SpringMVC系列(六)之JSON数据返回以及异常处理机制

目录 前言 一. JSON概述 二. JSON数据返回 1. 导入pom依赖 2. 添加配置文件&#xff08;spring-mvc.xml&#xff09; 3. ResponseBody注解使用 4. 效果展示 5. Jackson介绍 三. 全局异常处理 1. 为什么要全局异常处理 2. 异常处理思路 3. 异常处理方式一 4. 异常处…...

民安智库(北京第三方窗口测评)开展汽车消费者焦点小组座谈会调查

民安智库近日开展了一场汽车消费者焦点小组座谈会&#xff0c;旨在深入了解目标消费者对汽车功能的需求和消费习惯&#xff0c;为汽车企业提供有针对性的解决方案。 在焦点小组座谈会中&#xff0c;民安智库公司&#xff08;第三方市容环境指数测评&#xff09;邀请了一群具有…...

【CVPR2021】MVDNet论文阅读分析与总结

Challenge&#xff1a; 现有的目标检测器主要融合激光雷达和相机&#xff0c;通常提供丰富和冗余的视觉信息 利用最先进的成像雷达&#xff0c;其分辨率比RadarNet和LiRaNet中使用的分辨率要细得多&#xff0c;提出了一种有效的深度后期融合方法来结合雷达和激光雷达信号。 MV…...

IDEA指定Maven settings file文件未生效

背景&#xff1a;在自己电脑上配置的时候&#xff0c;由于公司项目和我自己的项目的Maven仓库不一致&#xff0c;我就在项目中指定了各自的Maven配置文件。但是我发现公司的项目私有仓库地址IDEA总是识别不到&#xff01; 俩个配置文件分别是&#xff1a; /Users/sml/Mine/研发…...

swift UI 和UIKIT 如何配合使用

SwiftUI和UIKit可以在同一个iOS应用程序中配合使用。它们是两个不同的用户界面框架&#xff0c;各自有自己的优势和特点。在现实开发中&#xff0c;很多iOS应用程序并不是一开始就完全采用SwiftUI或UIKit&#xff0c;而是根据需要逐步引入SwiftUI或者使用两者共存。 SwiftUI的…...

c语言练习题55:IP 地址⽆效化

IP 地址⽆效化 题⽬描述&#xff1a; 给你⼀个有效的 IPv4 地址 address &#xff0c;返回这个 IP 地址的⽆效化版本。 所谓⽆效化 IP 地址&#xff0c;其实就是⽤ "[.]" 代替了每个 "."。 • ⽰例 1&#xff1a; 输⼊&#xff1a;address "1.1.1.…...

UML(Unified Modeling Language,统一建模语言)是一种标准化的可视化建模语言,广泛用于软件系统的需求分析

UML&#xff08;Unified Modeling Language&#xff0c;统一建模语言&#xff09;是一种标准化的可视化建模语言&#xff0c;广泛用于软件系统的需求分析、设计与文档化。你列出的是UML 2.x 中最常用的六种结构与行为图&#xff0c;分别属于两大类&#xff1a; ✅ 结构图&#…...

JD-GUI完整使用指南:免费Java反编译工具的5大核心功能解析

JD-GUI完整使用指南&#xff1a;免费Java反编译工具的5大核心功能解析 【免费下载链接】jd-gui A standalone Java Decompiler GUI 项目地址: https://gitcode.com/gh_mirrors/jd/jd-gui Java开发者在日常工作中经常会遇到需要分析第三方库、调试未知代码或学习优秀项目…...

工业协议通信开发实战:lib60870开源库完全指南

工业协议通信开发实战&#xff1a;lib60870开源库完全指南 【免费下载链接】lib60870 Official repository for lib60870 an implementation of the IEC 60870-5-101/104 protocol 项目地址: https://gitcode.com/gh_mirrors/li/lib60870 在工业自动化领域&#xff0c;设…...

Llama-3.2V-11B-cot开源大模型实战教程:双卡4090环境下11B视觉模型快速调用

Llama-3.2V-11B-cot开源大模型实战教程&#xff1a;双卡4090环境下11B视觉模型快速调用 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具&#xff0c;专为双卡4090环境深度优化。这个工具解决了视觉权重加载的关键问题&am…...

故障诊断指南:用STFT在5分钟内定位工业设备异常时间点(MATLAB版)

故障诊断实战&#xff1a;STFT在工业设备异常定位中的高效应用&#xff08;MATLAB实现&#xff09; 工业设备的异常检测如同医生听诊&#xff0c;需要精准捕捉故障的"心跳节律"。传统方法往往只能告诉我们"设备病了"&#xff0c;却难以定位"何时发病…...

快速上手ANIMATEDIFF PRO:从环境部署到视频导出的完整操作流程

快速上手ANIMATEDIFF PRO&#xff1a;从环境部署到视频导出的完整操作流程 1. 环境准备与快速部署 1.1 硬件要求检查 在开始之前&#xff0c;请确保您的设备满足以下最低配置要求&#xff1a; 显卡&#xff1a;NVIDIA RTX 3060及以上&#xff08;推荐RTX 4090&#xff09;显…...

Wireshark 实战|HTTP 协议:浏览器和服务器是怎么聊天的?

Wireshark 实战&#xff5c;HTTP 协议&#xff1a;浏览器和服务器是怎么聊天的&#xff1f; 大家好&#xff0c;我是网域小星球&#xff0c;一名网络工程大三学生。上一篇我们拆解了 DNS 域名解析&#xff0c;今天我们继续往下走&#xff0c;看看拿到 IP 地址后&#xff0c;浏…...

Mac环境OpenClaw排错大全:Qwen3.5-4B-Claude接口连接问题

Mac环境OpenClaw排错大全&#xff1a;Qwen3.5-4B-Claude接口连接问题 1. 开篇&#xff1a;为什么需要这份排错指南 上周我在自己的M1 MacBook Pro上部署OpenClaw时&#xff0c;遇到了至少五种不同的报错。从npm权限问题到模型响应超时&#xff0c;每个错误都让我花费数小时搜…...

Cogito-3B量化部署实测:GTX1650/RTX3050/RTX4060不同显卡配置对比

Cogito-3B量化部署实测&#xff1a;GTX1650/RTX3050/RTX4060不同显卡配置对比 1. 测试背景与目标 Cogito-v1-preview-llama-3B作为一款性能出色的3B参数混合推理模型&#xff0c;在实际部署中面临显存占用的挑战。本次测试旨在评估该模型在不同消费级显卡上的量化部署表现&am…...

GTE文本向量模型部署全攻略:从零到一搭建企业级文本处理服务

GTE文本向量模型部署全攻略&#xff1a;从零到一搭建企业级文本处理服务 1. 项目介绍与核心价值 如果你正在寻找一个能一站式解决中文文本分析难题的工具&#xff0c;那么GTE文本向量模型可能就是你的答案。想象一下&#xff0c;一个模型就能帮你识别文档里的关键人物、地点&…...