Как привести определенные элементы строки в верхний регистр?

Нужно взять в строке каждый второй символ и привести его в верхний регистр.

Пример:
Ввод: future
Вывод: FuTuRe

Вот так получаю и вывожу каждый второй символ:

a = 'future'
b = a[::2]
print(b)

Как вместе с ними выводить остальные символы?


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

Автор решения: nomnoms12
a = 'future'

result = ''
for i, s in enumerate(a):
    if i % 2 == 0:           # Если индекс чётный
        result += s.upper()  # Добавить символ в верхнем регистре
    else:
        result += s

print(result)

stdout:

FuTuRe
→ Ссылка
Автор решения: Хачатур Саркисян

Можно и короче, при использовании тернарного выражения и генератора. Пример ниже

>>> string = 'future'
>>> result = ''.join(x.lower() if i%2 else x.upper() for i, x in enumerate(string))
>>> result
FuTuRe
→ Ссылка
Автор решения: MaxU

Еще один короткий вариант решения:

"".join([x.upper() + y for x,y in zip(a[::2], a[1::2])])
>>> 'FuTuRe'
→ Ссылка