Форум сайта python.su
Добрый день! Помогите плиз додуматься до правильного решения простой задачи. Цель такая: Есть строка str, нужно вывести новую строку в которой каждый символ удваивается, то есть из строки “String” нужно получить строку “SSttrriinngg”. У меня немножко ступор с циклом for, нужен маленький толчок…
Вот мой код, в результате которого выводится только продублированный последний символ строки:
def double_char(str): result = "" for i in range (len(str)): result = str[i]*2 return result
Отредактировано WhiteCatWild (Ноя. 30, 2021 10:01:57)
Офлайн
result += ...
Отредактировано Rodegast (Ноя. 30, 2021 10:51:13)
Офлайн
>>> def f(s): ... return ''.join(c + c for c in s) ... >>> f('String') 'SSttrriinngg' >>>
>>> import re >>> >>> def f(s): ... return re.sub(r'(.)', r'\1\1', s) ... >>> f('String') 'SSttrriinngg' >>>
Отредактировано py.user.next (Ноя. 30, 2021 12:26:21)
Офлайн
Проблема была именно в том, чтобы вывести весь результат правильно.
Просто не до конца правильно понял range().
Спасибо всем за помощь
Офлайн