基于Django实现支持平方与平方根计算的简易计算器问题咨询
实现平方与平方根计算的修改方案
1. 编写独立计算函数并修改视图逻辑
首先导入Python内置的math模块用于平方根计算,拆分出两个独立函数分别处理平方和平方根计算,优化后的视图代码如下:
import math # 独立的平方计算函数 def calculate_square(num): return num * num # 独立的平方根计算函数 def calculate_sqrt(num): if num < 0: return "无实数平方根" # 保留4位小数展示,可根据需求调整精度 return round(math.sqrt(num), 4) def add(request): # 增加异常处理,避免非数字输入触发服务端报错 try: input_num = int(request.GET["num1"]) except (ValueError, KeyError): return render(request, 'result.html', {"error": "请输入有效的整数"}) # 分别调用两个独立函数计算结果 square_val = calculate_square(input_num) sqrt_val = calculate_sqrt(input_num) # 将所有结果传递给模板 return render(request, 'result.html', { "input_num": input_num, "square_val": square_val, "sqrt_val": sqrt_val })
2. 修改result.html模板展示双结果
调整模板内容,同时展示平方和平方根的计算结果:
<div class="d-flex title2"> <h2> {% block content %} {% if error %} {{ error }} {% else %} 输入数字:{{ input_num }}<br> 平方值:{{ square_val }}<br> 平方根值:{{ sqrt_val }} {% endif %} {% endblock %} </h2> <br><br> </div>
3. 可选优化(index.html调整)
可以将输入框类型改为number,限制用户只能输入数字,减少非法输入:
<div class="d-flex typeW"> <form action="add"> Enter a number : <input type="number" name="num1" required> <input type="submit"> </form> </div>
内容的提问来源于stack exchange,提问作者Johan Blomquist
相关产品推荐
相关产品推荐

