Буква 'a' латинская? Вот для каждой первой и второй строки, а в третьей строке тупо накладываем оба действия друг на друга. Лень повторять.
Там к тому же если последняя "тройка" это не тройка - происходит вылет за пределы массива, надоело обрабатывать этот случай
m,res,tail = [],[],[]
while True:
n = input()
m.append(n)
if not n:
break
k = 0
for i in range(len(m) // 3):
res.append(m[k:k+3])
k += 3
if len(m) % 3:
tail = m[-int(len(m) % 3):]
nn = res + [tail]
if not nn[-1]:
nn.pop()
for i in nn:
r = i[0].split(' ')
rr = list(map(lambda x: x.capitalize(),r))
print(' '.join(rr))
newstr = i[1].replace('a','A')
print(newstr)
Вводятся строки, пока не будет введена пустая строка.
Формат вывода
В первой строке каждое слово вывести с большой буквы.
Во второй все буквы a заменить буквами A.
В третьей выполнить обе операции.
Для следующих строк повторять описанные действия.