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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2023, 14:53   #1
YaLubluMamu
Пользователь
 
Регистрация: 22.10.2022
Сообщений: 37
По умолчанию Python.Работа со строками

Напишите скрипт, который обрабатывает список строк-адресов следующим образом: сначала определяет, начинается ли каждая строка в списке с префикса «www». Если условие выполняется, то скрипт должен вставить в начало этой строки префикс «http://», а затем проверить, что строка заканчивается на «.com». Если у строки другое окончание, то скрипт должен вставить в конец подстроку «.com». В итоге скрипт должен вывести на консоль новый список с измененными адресами. Используйте генераторы списков.

Код:
addresses = [
    "www.google",
    "http://www.facebook.com",
    "http://www.youtube",
    "instagram.com"
]

new_addresses = [
    ("http://" + address + ".com")  
    if address.startswith("www") 
    and not address.endswith('.com') 
    else (address + ".com") 
    for address in addresses
]

print(new_addresses)
Проблема в том, что даже если строка заканчивается на ".com" все равно добавляется ".com"
YaLubluMamu вне форума Ответить с цитированием
Старый 24.02.2023, 23:41   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,314
По умолчанию

Цитата:
Сообщение от YaLubluMamu Посмотреть сообщение
даже если строка заканчивается на ".com" все равно добавляется ".com"
Нужно больше проверочных условий. Если можно использовать функции, то:
Код:
addresses = [
    "www.google",
    "http://www.facebook.com",
    "http://www.youtube",
    "instagram.com"
]

def prepare(addr):
    if addr.startswith("www"):
        addr = "http://" + addr
    if not addr.endswith(".com"):
        addr = addr + ".com"
    return addr

new_addresses = [prepare(address) for address in addresses]

print(new_addresses)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Python работа со строками YaLubluMamu Помощь студентам 6 18.02.2023 06:16
Работа со строками в Python fyz abkbvjyjdf Помощь студентам 1 19.12.2022 21:11
Работа со строками Arkanar Помощь студентам 1 25.04.2012 07:59
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
работа со строками. VBA brans Помощь студентам 0 18.10.2010 14:38