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

使用Flask从URL取参计算指定范围内倍数之和的问题解决

Flask实现URL参数获取与倍数求和功能的调试过程

需求概述

基于Python Flask框架,从URL查询参数中读取数值,计算指定数值的所有倍数在设定范围内的总和。例如:计算4的倍数到50的总和,结果为312。

初始错误代码及问题

以下是最初编写的错误代码,核心问题在于while循环的递增逻辑错误:

# import main Flask class and request object
from flask import Flask, request
 
# create the Flask app
app = Flask(__name__)
 
@app.route('/data')
def query_example():
    num = request.args.get('num')
    count = request.args.get('count')

    num_int = int(num)
    count_int = int(count)

    i = 1
    sum = 0

    while i <= count_int:
       if i % num_int == 0:
          sum += i
          i += 1
    ans = sum

    return ans

if __name__ == '__main__':
    # run app in debug mode on port 5000
    app.run(debug=True, port=5000)

错误点:i +=1仅在i是num_int的倍数时执行,当i不满足倍数条件时,i的值永远不会变化,直接导致死循环,程序无法正常结束。

调试中的其他问题

在修正死循环问题的过程中,还遇到过变量命名混淆、循环范围判断错误等问题,经过多次调试调整后,最终得到可正常运行的代码版本。

最终可运行代码

from flask import Flask, request
app = Flask(__name__)
 
@app.route('/data')
def query_example():
    # if key doesn't exist, returns None
    name = request.args.get('name')
 
    num1 = request.args['num1']
    num2 = request.args['num2']
 
    num1_int = int(num1)
    num2_int = int(num2)
    multiply = num1_int * num2_int
 
    i = 1
    sum2 = 0
    while i < num1_int:
        if i % num2_int == 0:
            sum2 += i
        i += 1
    aaa = sum2
    return '''
              <h1>The name is: {}</h1>
              <h1>The num1  is: {}</h1>
              <h1>The num2  is: {}</h1>  
              <h1>The multiply is: {}</h1>
              <h1>The sum2  is: {}</h1>
              '''.format(name, num1_int, num2_int, multiply, aaa)
             
if __name__ == '__main__':
    # run app in debug mode on port 5000
    app.run(debug=True, port=5000)

使用方式

通过构造包含查询参数的URL访问,例如:
http://127.0.0.1:5000/data?name=test&num1=20&num2=2
其中:

  • num1表示范围上限(计算小于该值的数)
  • num2表示要计算倍数的目标数
    程序会返回范围内num2的所有倍数的总和,同时展示其他参数信息。

内容的提问来源于stack exchange,提问作者j ton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:15:39