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

基于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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:24:00