Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Полина Навасардян Ученик (141), на голосовании 8 месяцев назад
Формат ввода
Вводятся строки, пока не будет введена пустая строка.

Формат вывода
В первой строке каждое слово вывести с большой буквы.
Во второй все буквы a заменить буквами A.
В третьей выполнить обе операции.
Для следующих строк повторять описанные действия.
Голосование за лучший ответ
Celtic Hammer Мудрец (16455) 9 месяцев назад
Буква '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)
KrelianГуру (2984) 9 месяцев назад
Нифига себе ты портянку набубенил, хорошь.
Celtic Hammer Мудрец (16455) Ну, скажем про title просто забыл... С этим можно было и короче
Krelian Гуру (2984) 9 месяцев назад
 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
Похожие вопросы