Как перевести в верхний регистр подстроку в строке?

Дана некоторая строка

'a bc def ghij' Переведите в верхний регистр все подстроки, в которых количество букв меньше или равно трем. В нашем случае должно получится следующее:

'A BC DEF ghij'

Подскажите варианты решения.


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

Автор решения: Никитоз Саныч

Простая задачка, хоть и решил я ее через одно место:

stroka = 'sdfsdf sd ff adsfsd'
stroka = stroka.split(" ")
s = ""
for i in stroka:
    if len(i) <=3:
        s += i.upper()+" "
    else:
        s += i + " "
print(s[:-1])
→ Ссылка
Автор решения: Алексей Р

Режем, перебираем, преобразуем, склеиваем обратно

print(' '.join(w.upper() if len(w) < 4 else w for w in 'a bc def ghij'.split()))
A BC DEF ghij
→ Ссылка
Автор решения: Stanislav Volodarskiy

Строку можно разрезать по границам слов:

import re

print(''.join(t if len(t) > 3 else t.upper() for t in re.split('\\b', input())))
→ Ссылка