Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2023, 23:26   #1
MaxBrat
Пользователь
 
Регистрация: 27.09.2022
Сообщений: 32
Восклицание Нужна подредактировать небольшой код на Python

У меня есть код на Python:
Код:
x = "H*llo Wo*l*"
j = 0
l = -1
for i in x:
    if i == '*':
        x = x.replace(i, str(x.find(i, l+1)))
        j+=1
print(x)
print(j)
print(len(x))

slice = x

a=slice[1::2]

text = a[::-1]
print(text)
И мне нужно сделать так чтобы этот отрывок кода каждый символ "*" заменял на его индекс (пример
" H*llo Wo*l* " переделывает вот так => " H1llo Wo8l10 "). Заранее благодарю ))
Код:
for i in x:
    if i == '*':
        x = x.replace(i, str(x.find(i, l+1)))
        j+=1
print(x)
MaxBrat вне форума Ответить с цитированием
Старый 31.01.2023, 01:04   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
x = "H*llo Wo*l*"
print(''.join(str(v[0]) if v[1] == '*' else v[1] for v in enumerate(x)))
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 31.01.2023, 10:15   #3
MaxBrat
Пользователь
 
Регистрация: 27.09.2022
Сообщений: 32
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
x = "H*llo Wo*l*"
print(''.join(str(v[0]) if v[1] == '*' else v[1] for v in enumerate(x)))
Спасибо большое))
MaxBrat вне форума Ответить с цитированием
Старый 31.01.2023, 16:49   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Пожалуйста. После сна подумал, а зачем использовать индексы, а потом понеслось сокращение:
Код:
x = "H*llo Wo*l*"
print(''.join(str(v[0]) if v[1] == '*' else v[1] for v in enumerate(x)))
print(''.join(str(i) if c == '*' else c for i, c in enumerate(x)))
print(''.join((c, str(i))[c == '*'] for i, c in enumerate(x)))
print(''.join(str(v[v[1] != '*']) for v in enumerate(x)))
Хотя, думаю, второй вариант наиболее легко читаемый.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 24.03.2023, 07:33   #5
New_Jersey
С нуля
Пользователь
 
Аватар для New_Jersey
 
Регистрация: 24.03.2023
Сообщений: 17
По умолчанию

Код:
for v,w in enumerate(x):
    if "*" in w:
        v,w = w,v
    print(w, end="")

Последний раз редактировалось New_Jersey; 24.03.2023 в 07:38.
New_Jersey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно перевести небольшой логический калькулятор с Python на С++ Cyber_Dezz Помощь студентам 7 18.06.2020 03:34
Нужна помощь в создании небольшой программы AlexJordan Помощь студентам 1 31.10.2017 10:38
Нужна помощь в написании небольшой функции PHP AlexisYU WordPress и другие CMS 1 10.09.2017 09:52
Небольшой тест на python kartofelka12 Python 4 07.12.2016 20:27
Небольшой такой вопросик ... совсем небольшой .. zipo666 Помощь студентам 0 18.12.2011 12:49