#python
Вопрос:
Я новичок в python, и мне нужно прочитать, а затем добавить числа из файла в одну сумму, а затем распечатать их все. Форматирование не является проблемой, но эти цифры не отображаются в каждой строке, а между некоторыми из них есть пустые строки и пробелы. Как я могу приказать интерпретатору видеть строки, которые он обычно распознает как строки, как целые числа? Вот файл, а вот мой код.
line = eval(infile.read())
while infile != "":
sum = sum int(line)
count = count 1
line = eval(infile.read())
print("the sum of these numbers is", sum)
цифры >>>:
111
10 20 30 40 50 60 70
99 98 97
1
2
33
44 55
66 77 88 99 101
123
456
Ответ №1:
По сути, вам нужно сделать следующее:
- Вам нужна переменная, в которой вы будете хранить общую сумму чисел в вашем файле
- Вы должны использовать
open
для того, чтобы открыть файл вwith
инструкции, я предполагаю, что ваш файл называетсяfile.txt
. - Вам нужно выполнить итерацию объекта файла строка за строкой.
- Вам нужно преобразовать текущую строку в список строк, в котором каждая строка элемента представляет число. Предполагается, что все элементы в файле являются целыми числами и разделены пробелами.
- Вам нужно преобразовать этот список строк в список целых чисел
- Вам нужно суммировать элементы в списке шага 5. и добавить результат к итогу
total = 0 # variable to store total sum
with open('file.txt') as file_object: # open file in a with statement
for line in file_object: # iterate line by line
numbers = [int(e) for e in line.split()] # split line and convert string elements into int
total = sum(numbers) # store sum of current line
print(f"the sum of these numbers is {total}")
Ответ №2:
import re
with open(filename, "r")as f:
l = []
for line in f:
l.extend(re.findall(r"d ", line.strip()))
print("the sum of these numbers is", sum(map(int, l)))
Ответ №3:
Вы можете просто повторить каждую строку файла и добавить числа в наш total
.
total = 0
with open("input.txt") as file:
for line in file.readlines():
total = sum(map(int, line.split()))
print(total)