Задание по строкам

Задание: "Подсчитать количество букв в введенной с клавиатуры строке. Далее каждую ВТОРУЮ букву строки удалить(именно каждую букву не символ, а букву), А все остальные буквы преобразовать в большие."


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

Автор решения: Victor VosMottor
len([i for i in string if i.isalpha()])
''.join(i for index, i in enumerate(string) if index % 2 != 0] or not i.isalpha()).upper()
→ Ссылка
Автор решения: Zhihar

если решать в лоб:

text = "str 12.45 text1"

# Подсчитать количество букв в введенной с клавиатуры строке
count = len([*filter(lambda i: i.isalpha(), text)])
print(count)

# Далее каждую ВТОРУЮ букву строки удалить(именно каждую букву не символ, а букву), А все остальные буквы преобразовать в большие."
res = []
count = 0
for index in range(len(text)):
    if text[index].isalpha():
        count += 1
        if count % 2:
            res.append(text[index].upper())
    else:
        res.append(text[index])

print(''.join(res))

Если хочется чуть более короткую запись с капелькой изврата, то можно так:

import re

# Подсчитать количество букв в введенной с клавиатуры строке
count = len(re.sub('[^a-zA-Z]+', '', text))
→ Ссылка