Сумма количества символов в каждой строке, с описанием except если строка не попадает под условие
line_count = 0
result = 0
try:
with open('people.txt', 'r') as file:
for i_line in file:
line_count += 1
length = len(i_line)
if i_line.endswith('\n'):
length -= 1
result += len(i_line)
if length < 3:
raise BaseException('Длина {} строки меньше 3 символов'.format(line_count))
finally:
print('Общее количество символов:', result)
Пример результата выполнения.
Содержимое файла people.txt:
Василий
Николай
Надежда
Никита
Ян
Ольга
Евгения
Кристина
Ответ в консоли:
Ошибка: менее трёх символов в строке 4.
Общее количество символов: 48.
Подскажите как правильно реализовать.
Ответы (1 шт):
Автор решения: Kuchizu
→ Ссылка
with open('people.txt', encoding='UTF-8') as f:
try:
f = f.readlines()
size = sum([len(i.strip()) for i in f])
for x, i in enumerate(f, 1):
if len(i.strip()) < 3:
raise BaseException(f'Длина {x} строки меньше 3 символов')
except BaseException as b:
print(b)
finally:
print('Общее количество символов:', size)