1 到 20 之间的正奇数之和为: 100。通过 for 循环遍历 1 到 n 的整数,结合 if 条件判断筛选大于 0 且不能被 2 整除的奇数,累加求和;优化方法使用 range(1, n+1, 2) 直接生成奇数序列,提升效率。

在 Python 中,使用 for 循环可以轻松筛选出正奇数并进行求和。下面通过一个简单实例说明具体实现方法。
筛选正奇数并求和的思路
要对正奇数求和,需满足两个条件:
- 数值大于 0(正数)
- 数值为奇数(不能被 2 整除)
结合 for 循环遍历一个数字序列,用 if 判断条件筛选符合条件的数,并累加求和。
实例代码:对 1 到 n 之间的正奇数求和
# 定义求和范围,例如 1 到 20 n = 20 total = 0for i in range(1, n + 1): if i > 0 and i % 2 == 1: # 正数且为奇数 total += i
print("1 到", n, "之间的正奇数之和为:", total)
立即学习“Python免费学习笔记(深入)”;
输出结果:
1 到 20 之间的正奇数之和为: 100优化写法(直接生成奇数)
由于我们知道奇数是每隔 2 出现一次,可以直接用 range 跳过偶数,提高效率:
total = 0
for i in range(1, 21, 2): # 从1开始,到20为止,步长为2 → 只取奇数
total += i
print("正奇数之和为:", total)
这种写法更简洁,适用于已知范围的情况。
基本上就这些,不复杂但容易忽略细节。











