1 / 0 / 0
Регистрация: 15.09.2019
Сообщений: 52

Удвоить латинские буквы в строке. Не могу найти ошибку в коде

27.10.2019, 18:58. Показов 5669. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
s = input('s=')
for letter in s:
    if letter.isalpha():
        s = s.replace(letter, letter + letter)
print(s)
Вместо того, чтобы удваивать по одному разу букву, код увеличивает все повторяющиеся буквы еще по нескольку раз. Помогите исправить пожалуйста
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2019, 18:58
Ответы с готовыми решениями:

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

В строке удвоить малые латинские буквы и цифры
Нужно в строке удвоить малые латинские буквы и цифры с++

В данной строке удвоить все цифры и малые латинские буквы
Прошу помочь решить 5 задач в Free pascal-е: 1. Составьте процедуру выравнивания строки, которая преобразует строку к строке указанной...

8
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,688
Записей в блоге: 29
27.10.2019, 19:05
Лучший ответ Сообщение было отмечено alinabelayaa как решение

Решение

Цитата Сообщение от alinabelayaa Посмотреть сообщение
isalpha()
удвоит не только латинские!
Python
1
2
3
4
5
6
7
>>> from string import ascii_letters
>>> text = 'a 123 b я'
>>> ''.join([e+e if e in ascii_letters else e for e in text])
'aa 123 bb я'
>>> text = 'A 123 Ы b я'
>>> ''.join([e+e if e in ascii_letters else e for e in text])
'AA 123 Ы bb я'
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.10.2019, 19:05
Может, перепишите вот так?
Python
1
2
for i in 'qwertyuiopasdfghjklzxcvbnm':
    s = s.replace(i, i**2)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
27.10.2019, 19:05
Python
1
2
3
s = input('s=')
s = ''.join([letter + letter for letter in s if letter.isalpha()])
print(s)
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.10.2019, 19:07
Замена каждого символа по всему тексту будет произведена только один раз.

Добавлено через 43 секунды
Это дополнение к моему предыдущему сообщению.

Добавлено через 1 минуту
iSmokeJC, не буквы теряются:
Python
1
2
>>> ''.join([letter + letter for letter in 'ffgf55' if letter.isalpha()])
'ffffggff'
2
1 / 0 / 0
Регистрация: 15.09.2019
Сообщений: 52
27.10.2019, 19:09  [ТС]
А можно ли это как-то сделать без функции join или только с ней?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
27.10.2019, 19:09
Рыжий Лис, согласен, не подумал чето
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,688
Записей в блоге: 29
27.10.2019, 19:10
Цитата Сообщение от alinabelayaa Посмотреть сообщение
А можно ли это как-то сделать без функции join или только с ней?
ну сделай страшную вещь -конкатенацию в цикле
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
27.10.2019, 19:12
alinabelayaa, можно.
Python
1
2
3
4
5
6
7
8
s = input('s=')
s2 = ''
for letter in s:
    if letter.isalpha():
        s2 += letter + letter
    else:
        #...
print(s2)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.10.2019, 19:12
Помогаю со студенческими работами здесь

Строки: удвоить все малые латинские буквы
Дана строка, все малые латинские буквы удвоить.

Найти и вывести все латинские буквы в строке c++
Помогите написать программу, которая находит все латинские буквы в строке и выводит их в обратном алфавитном порядке (исходная строка может...

Найти количество слов в строке которые начинаются на латинские буквы
Помогите,пожалуйста,СРОЧНО Нужно найти и вывести количество слов которые начинаются на латинские буквы

Найти в строке все слова, где гласные латинские буквы чередуются с цифрами
Выделить в строке-предложении s все слова, разделенные символами-разделителями «_.,;:\n\t!?». Найти количество всех слов в...

Удвоить каждую букву данного слова +Заменить в тексте все маленькие латинские буквы на большие
Удвоить каждую букву данного слова. Дополнительно. Заменить в тексте все маленькие латинские буквы на большие. задали по информатике....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru