Вы можете использовать встроенную функцию len
, чтобы получить длину строки.Причина, по которой вы получаете больше цифр, чем ожидаете, заключается в том, что вы не сбрасываете переменную count
для каждой строки, а также печатаете после каждого слова, а не каждой строки.
with open(sys.argv[1], "r") as f:
for line in f:
count = 0
words = line.split()
for word in words:
if "e" not in word:
count += len(word)
print(count)
Вы можете написать это более компактно как
with open(sys.argv[1], "r") as f:
for line in f:
print(sum(len(word) for word in line.split() if 'e' not in word))