Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 30, 2021 09:59:37

WhiteCatWild
Зарегистрирован: 2021-11-30
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

range (str)

Добрый день! Помогите плиз додуматься до правильного решения простой задачи. Цель такая: Есть строка 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)

Офлайн

#2 Ноя. 30, 2021 10:50:18

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2755
Репутация: +  184  -
Профиль   Отправить e-mail  

range (str)

 result += ...
Итерируйся сразу по строке, ну нужно индексы получать. Ну и имена нормальные используй, а не такие как у типив.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Ноя. 30, 2021 10:51:13)

Офлайн

#3 Ноя. 30, 2021 12:24:24

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

range (str)

 >>> 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)

Офлайн

#4 Ноя. 30, 2021 12:45:10

WhiteCatWild
Зарегистрирован: 2021-11-30
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

range (str)

Проблема была именно в том, чтобы вывести весь результат правильно.
Просто не до конца правильно понял range().
Спасибо всем за помощь

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version