总和为:150。使用for循环逐行读取文件,通过strip()去除空白字符,int()转换为整数并累加,结合with open()确保文件安全操作,可加入异常处理跳过无效内容。

在python中,使用for循环读取文件中的数字并求和是一个常见的操作。关键是正确打开文件、逐行读取内容、将字符串转换为数字,然后累加。下面介绍具体实现方法。
1. 文件准备
假设有一个文本文件 numbers.txt,每行包含一个数字,例如:
10 20 30 40 50
2. 使用for循环读取并求和
通过 with open() 安全地打开文件,用 for 循环逐行处理,去除空白字符后转为整数或浮点数,再累加求和。
示例代码:
total = 0 with open('numbers.txt', 'r') as file: for line in file: number = int(line.strip()) # 去除换行符并转为整数 total += number print("总和为:", total)
输出结果:
总和为: 150
3. 处理可能的异常情况
如果文件中可能存在空行或非数字内容,建议加入异常处理,避免程序报错。
立即学习“Python免费学习笔记(深入)”;
改进版代码:
total = 0 with open('numbers.txt', 'r') as file: for line in file: stripped_line = line.strip() if stripped_line: # 跳过空行 try: number = int(stripped_line) # 可改为 float 支持小数 total += number except ValueError: print(f"无法转换为数字:{stripped_line}") print("总和为:", total)
4. 扩展:一行代码简洁写法(可选)
虽然题目要求使用 for 循环,但也可以了解更简洁的方式,比如使用生成器表达式:
with open('numbers.txt', 'r') as file: total = sum(int(line.strip()) for line in file if line.strip()) print("总和为:", total)
这种方式逻辑清晰且代码简洁,适合简单场景。