Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
1 / 0 / 0
Регистрация: 15.09.2019
Сообщений: 52

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

27.10.2019, 18:58. Показов 5721. Ответов 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
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 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
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru