Как привести определенные элементы строки в верхний регистр?
Нужно взять в строке каждый второй символ и привести его в верхний регистр.
Пример:
Ввод: 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'