求助:Python程序无法垂直打印文本文件数字及总和,附代码
解决垂直打印文本文件数字并计算总和的问题
我来帮你搞定这个问题!你的代码目前没法实现垂直打印,主要是因为直接打印了整个列表,而不是逐个输出每个数字。而且你两次打开同一个文件有点冗余,我们可以合并成一次操作,更高效。
修改后的代码
with open("numbers.txt", "r") as f: # 读取文件中所有数字并转换为整数列表 numbers = [int(num) for line in f for num in line.split()] # 垂直打印每个数字(逐个print会自动换行) for num in numbers: print(num) # 打印分隔线和总和 print("\n总和:", sum(numbers))
代码说明
- 只打开一次文件:通过列表推导式一次性把文件里的所有数字提取出来并转成整数,避免重复IO操作。
- 垂直打印逻辑:循环遍历
numbers列表,每个数字单独调用print(),这样每个数字会自动占一行,实现垂直显示。 - 总和计算:直接用
sum(numbers)计算整个列表的总和,不用再重新读取文件内容,更简洁高效。
运行这段代码后,你会看到每个数字单独一行显示,最后输出它们的总和,完全符合你的需求~
内容的提问来源于stack exchange,提问作者yaddi03
相关产品推荐
相关产品推荐

