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

如何用Python的while循环完成严格小于输入数的正偶数求和作业?

Python作业问题修复:计算严格小于输入数的正偶数之和

你的代码存在几个关键问题:

  • 输入验证的while循环逻辑错误:当前写法只会在输入合法时执行一次循环体,无法处理非法输入的重新输入需求
  • range(3<n<50)是无效写法:这个表达式会先判断3<n<50得到布尔值(True/False),转成整数就是1/0,range只会生成空序列或[0],完全不符合遍历偶数的需求
  • 求和逻辑错误:k = n + e不是累加操作,而且没有限定e是严格小于n的正偶数

正确实现步骤

  1. 输入合法性校验:用while循环持续获取输入,直到用户输入的数在[3,50]区间内
  2. 用while循环计算偶数和:初始化一个累加变量,从第一个正偶数2开始,每次加2,直到当前偶数严格小于输入的n,逐步累加

修复后的代码

# 获取合法输入
n = int(input("请输入3到50之间的正整数:"))
while not (3 <= n <= 50):
    print("输入不合法,请重新输入")
    n = int(input("请输入3到50之间的正整数:"))

# 用while循环计算严格小于n的正偶数之和
sum_evens = 0
current_even = 2  # 第一个正偶数
while current_even < n:
    sum_evens += current_even
    current_even += 2  # 跳到下一个偶数

print(f"所有严格小于{n}的正偶数之和为:{sum_evens}")

代码解释

  • 输入校验部分:while not (3 <= n <=50)会在输入不合法时持续提示用户重新输入,确保n符合区间要求
  • 求和部分:current_even从2开始,每次循环判断是否小于n,是的话就加到总和里,然后current_even +=2获取下一个偶数,直到current_even >=n时退出循环,完美实现“严格小于输入数”的逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:21:00