Как каждую вторую букву сделать заглавной в Python

Есть строка, например - привет как дела

И мне надо чтобы эта строка стала вот такой:

ПрИвЕт КаК ДеЛа

while True:
    words = input()
    words = list(words)

    end_list = []

    letter = words[::2]

    for i in letter:
        words.remove(i)

    string = ''.join(letter).upper()
    list_string = list(string)

    for i in range(len(words)):
        end_list.append(list_string[i])
        end_list.append(words[i])



    print(''.join(end_list))

Мой вариант на больших строках начинает некорректно работать!

Привет как дела у меня все хорошо #input

ПрИвЕт кАк дЕлАеУяМ Нв еС  хОрОш #output

Ответы (1 шт):

Автор решения: GrAnd
import re

text = "Привет!!11 Как дела? У меня - все хорошо."
new_text = re.sub(r'(\b|\w)(\w)', lambda x: x.group(1).lower()+x.group(2).upper(), text)

print(new_text)
ПрИвЕт!!11 КаК ДеЛа? У МеНя - ВсЕ ХоРоШо.
→ Ссылка