
本文介绍如何修改循环代码,将原本仅输出符合条件数值的程序改为统计其总数量,并通过计数器变量实现结果输出。
本文介绍如何修改循环代码,将原本仅输出符合条件数值的程序改为统计其总数量,并通过计数器变量实现结果输出。
在实际编程中,我们常需要统计满足特定条件的数据个数,而非仅仅打印这些数据本身。例如,原代码遍历所有三位数(100–999),对每个数提取各位数字,计算相邻两位之和(k1 和 k2),再拼接最小值与最大值字符串(如 ft + sd),最终筛选出拼接结果等于 '1216' 的数并逐个打印——得到 397、488、579、793、884、975 共 6 个结果。
但若目标是获取总数而非具体数值,关键在于引入一个累加计数器(counter),替代 print(i) 操作:
counter = 0 # 初始化计数器为 0
for i in range(100, 1000):
s = str(i)
k1 = int(s[0]) + int(s[1])
k2 = int(s[1]) + int(s[2])
sd = str(max(k1, k2))
ft = str(min(k1, k2))
s1 = ft + sd
if s1 == '1216':
counter += 1 # 条件成立时计数器加 1
print(counter) # 循环结束后输出总计数:6✅ 注意事项:
- 计数器必须在循环外初始化(否则每次循环重置为 0);
- counter += 1 应置于 if 条件块内,确保仅匹配时累加;
- print(counter) 放在循环外部,避免重复输出或干扰逻辑;
- 若后续还需保留原始数值列表,可改用 list.append(i) 配合 len(list),但单纯计数时,counter 更高效、内存占用更低。
该方法简洁通用,适用于任何基于循环的条件计数场景,是 Python 基础但高频的编程实践技巧。


















