@shindayoni
На курсах разобрали программу на Pascal ABC, сам пишу на Python. Переписал программу, но ответ не сходится с решением через Pascal, помогите пожалуйста исправить код и укажите в чем ошибка
Формулировка задания

Код на Паскале (QnA не поддерживает вставку кода PABC)

Код на Python, в этой программе ответ 231, а должен быть 467
f = open('24.txt')
k = 0
for line in f:
ka = 0
ke = 0
s = str(f.readline())
for i in range(1, len(s)):
if s[i] == 'A':
ka += 1
elif s[i] == 'E':
ke += 1
if ke > ka:
k += 1
f.close()
print(k)
Решения вопроса 1
@SoreMix
Потому что уже делаете цикл по каждой строке
и в этом цикле берете читаете еще одну строку
В итоге половина строк просто улетает.
for line in f:
и в этом цикле берете читаете еще одну строку
s = str(f.readline())
В итоге половина строк просто улетает.
k = 0
with open('24.txt') as f:
for line in f:
ka = 0
ke = 0
for char in line:
if char == 'A':
ka += 1
elif char == 'E':
ke += 1
if ke > ka:
k += 1
print(k)
1
комментарий
Ответы на вопрос 1
@GavriKos
А почему вы итерирование по s начинаете с 1, а не с 0? Первый элемент не надо учитывать?
В паскале насколько я помню индексация массива с 1
В паскале насколько я помню индексация массива с 1