使用for循环结合if语句可筛选复合条件并求和,如对偶数且大于10的数求和得68;通过and、or、not组合多条件,可处理奇数小于5或大于20之和为56;遍历range实现1到100被3整除但不被5整除的数和为1266;也可用sum与生成器表达式简化代码。

在Python中,使用for循环对满足复合条件的数字进行筛选并求和,核心在于结合if语句判断多个条件,并将符合条件的数累加。下面详细介绍实现方法。
复合条件通常由多个逻辑表达式通过and、or、not连接而成。在for循环中,先遍历数据,再用if判断是否同时满足多个条件。
例如:对列表中既是偶数又大于10的数字求和。
numbers = [5, 8, 12, 15, 16, 20, 7, 22]
total = 0
for num in numbers:
if num % 2 == 0 and num > 10: # 偶数且大于10
total += num
print(total) # 输出:68(12+16+20+22)
根据实际需求,复合条件可以灵活组合:
立即学习“Python免费学习笔记(深入)”;
示例:求小于5或大于20的奇数之和
numbers = [3, 6, 10, 21, 25, 4, 7]
total = 0
for num in numbers:
if (num < 5 or num > 20) and num % 2 == 1:
total += num
print(total) # 输出:56(3+21+25+7)
除了列表,也可以遍历元组、字符串、range对象等。
比如:计算1到100中能被3整除但不能被5整除的数的和
total = 0
for i in range(1, 101):
if i % 3 == 0 and i % 5 != 0:
total += i
print(total) # 输出结果为:1266
虽然题目要求使用for循环,但了解更简洁的方式有助于理解本质。可用生成器表达式配合sum()函数:
numbers = [5, 8, 12, 15, 16, 20, 7, 22] total = sum(num for num in numbers if num % 2 == 0 and num > 10)
这种写法功能相同,更简洁,但在学习阶段建议先掌握基础循环结构。
基本上就这些。掌握for循环中结合if判断复合条件的方法,是处理数据筛选和统计的基础技能。关键是理清逻辑关系,正确使用布尔运算符。
以上就是python中for循环如何对满足复合条件数字求和_python中for循环基于复合条件筛选并求和的详细方法的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号