app.py
import flask
from flask import Flask, render_template, request
# 計(jì)算精確的浮點(diǎn)結(jié)果,float加法也計(jì)算不出來(lái)
from decimal import Decimal
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
@app.route('/calculate', methods=['POST'])
# POST請(qǐng)求處理用戶(hù)提交的數(shù)據(jù)
def calculate():
num1 = Decimal(request.form['num1'])
num2 = Decimal(request.form['num2'])
operation = request.form['operation']
result = Decimal(0)
# 輸入的兩個(gè)數(shù)和運(yùn)算符,結(jié)果初始為0
if 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 / num2
else:
return "錯(cuò)誤:分母不能為0"
# 除
result = round(result,4)
# 保留四位小數(shù)
return render_template('result.html', num1=num1, num2=num2, operation=operation, result=result)
# 然后將計(jì)算結(jié)果和輸入的兩個(gè)參數(shù)返回給result.html渲染
if __name__ == '__main__':
app.run(debug=True)
templates文件夾
index.html
<!DOCTYPE html>
<html>
<head>
<title>在線計(jì)算器</title>
</head>
<body>
<h1>在線計(jì)算器</h1>
<form action="/calculate" method="POST">
<!-- 獲得請(qǐng)求 -->
<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">開(kāi)始計(jì)算</button>
<!-- 提交表單 -->
</form>
</body>
</html>
<!-- type="number" 時(shí),瀏覽器會(huì)為輸入字段提供一些額外的驗(yàn)證和用戶(hù)界面上的增強(qiáng)功能,
例如限制輸入為數(shù)值、顯示數(shù)值調(diào)節(jié)器控件等。 -->
result.html
<!DOCTYPE html>
<html>
<head>
<title>計(jì)算結(jié)果</title>
</head>
<body>
<h1>計(jì)算結(jié)果</h1>
<p>{{ num1 }} {{ operation }} {{ num2 }} = {{ result }}</p>
<!-- 執(zhí)行相關(guān)的計(jì)算操作的變量 -->
</body>
</html>
實(shí)現(xiàn)效果
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-709457.html
支持小數(shù)點(diǎn)計(jì)算文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-709457.html
到了這里,關(guān)于【python&flask-1】簡(jiǎn)單實(shí)現(xiàn)加減乘除輸入界面的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!