Top.Mail.Ru
Ответы

Помогите с программированием python

Формат ввода
Вводятся строки, пока не будет введена пустая строка.

Формат вывода
В первой строке каждое слово вывести с большой буквы.
Во второй все буквы a заменить буквами A.
В третьей выполнить обе операции.
Для следующих строк повторять описанные действия.

По дате
По рейтингу
Аватар пользователя
Мудрец

Буква 'a' латинская? Вот для каждой первой и второй строки, а в третьей строке тупо накладываем оба действия друг на друга. Лень повторять.
Там к тому же если последняя "тройка" это не тройка - происходит вылет за пределы массива, надоело обрабатывать этот случай

123456789101112131415161718192021
 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) 
Аватар пользователя
Гуру
123456789101112
 sl, c = tuple(iter(input, '')), 1 
 
for s in sl: 
    match c: 
        case 1: 
            print(s.title()) 
        case 2: 
            print(s.replace('a', 'A')) 
        case 3: 
            print(s.title().replace('a', 'A')) 
            c = 0 
    c += 1