Урок 11 Строки и их методы Python

Поделиться
HTML-код
  • Опубликовано: 20 сен 2024
  • 🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
    stepik.org/cou...
    👉👉👉 Свой вопрос по курсу можешь задать в чате
    t.me/+SlnNhAO7...
    👉👉👉 Также подписывайся на мой телеграмм-канал
    t.me/python_eg...
    egoroffartem.py...
    В видео поговорим узнаем что такое метод и как его вызывать.
    Также рассмотрим следующие методы строк:
    0:56 upper()
    1:30 lower()
    2:43 count()
    4:51 find(), rfind() и index()
    6:26 replace()
    7:44 isalpha() isdigit()
    8:40 rjust() ljust()
    9:50 split()
    11:50 join()
    13:05 strip() rstrip() lstrip()
    egoroffartem.py...
    Подробная информация об этом уроке
    Задания
    Количество слов
    informatics.ms...
    Удаление символа
    informatics.ms...
    Вставка символов
    informatics.ms...
    Капитализация слова
    codeforces.com/...
    Упражнение на строки
    codeforces.com/...
    Чат
    codeforces.com/...
    Первое и последнее вхождение
    informatics.ms...
    Удаление фрагмента
    informatics.ms...
    Переставить два слова
    informatics.ms...
    Defanging an IP Address
    leetcode.com/p...
    Карточки
    codeforces.com/...
    Все видео этого курса можете найти на сайте
    egoroffartem.py...
    или в Вк
    videos-...
    Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
    artem_e...
    python....
    В данном группе можете найти информацию о новых видео и задать вопросы

Комментарии • 617

  • @egoroffchannel
    @egoroffchannel  3 месяца назад +1

    🫵 Теория без практики - ничто, поэтому 👇
    🐍 stepik.org/course/63085/promo
    👉 специально для тебя создал бесплатный топовый курс по Python
    👉 В нем тебя ждет:
    📗 более 400 практических заданий на программирование
    📗 более 250 тестовых заданий на проверку материала
    📗 десятки часов видеоматерилов по теории
    📗 видеоразборы решения заданий
    📗 текстовые материалы по урокам, примеры кода
    📗 доступ к закрытому чату с дружественной обстановкой
    📗 сертификат в случае успешного прохождения курса

  • @IGORVBORODIN
    @IGORVBORODIN 4 года назад +512

    граждане, пожалуйста не ставьте дизлайки за это видео. Этот материал самый лучший из того что мне пришлось пересмотреть на youtube. Артем, слов не хватает чтобы выразить тебе благодарность за твой труд и качество уроков

    • @labelnxn6894
      @labelnxn6894 4 года назад +17

      1.7к лайков и 5 дизлайков, это нормально еще. но согласен, уроки крутые

    • @antongoriachev
      @antongoriachev 3 года назад +4

      Пока что это лучшее по Питону! Посмотрим как функции объяснит.

    • @dexlusby
      @dexlusby 3 года назад

      @Dmitriy Mod 23 уже

    • @egp-eugenegamesproject906
      @egp-eugenegamesproject906 3 года назад +10

      @@dexlusby выучите алгоритмы ютуба, прежде чем на кого-то гнать. Дизлайк даёт возможность смотрящему ограничить контент, связанный с этой областью. Он работает, как фильтр для пользователя. А все, кто этого не знают, придают ему эмоциональную окраску.

    • @jorneyvoozy7975
      @jorneyvoozy7975 3 года назад +2

      @@egp-eugenegamesproject906 мне для чего эта информация, я разве гнал на кого-то? А тем не кому не нравится ролик, может поставить в неинтересующее

  • @medium1076
    @medium1076 4 года назад +97

    Я поражаюсь насколько долго существует твой канал, то как много времени ты его поддерживаешь. Даже САЙТ сделал с пратическими заданиями, это просто космос. Всё чётко и понятно. Спасибо тебе за такой контент!

    • @romanvishnyakov6835
      @romanvishnyakov6835 Год назад +2

      Все еще актуально, спустя 2 года, после твоего комментария

    • @Sofronov_channel
      @Sofronov_channel Год назад +1

      @@romanvishnyakov6835 абсолютно согласен

  • @user-ot7em9bp7f
    @user-ot7em9bp7f 5 лет назад +94

    отличные уроки. все по делу

    • @egoroffchannel
      @egoroffchannel  5 лет назад +19

      спасибо, стараюсь)

    • @АлексейБонд-ъ8ч
      @АлексейБонд-ъ8ч 4 года назад

      @@egoroffchannel а можно рассказывать еще и про вот такие как такие делать например: i = { friend }, текст, как такие оформляются, или i = текст {скажем погода}: {тут город} как такие делаются

    • @ukrmapper
      @ukrmapper 3 года назад

      @@АлексейБонд-ъ8ч i={"name":"value"}
      print( i["name"] )

  • @somagic
    @somagic 5 лет назад +49

    Единственное видео,где все понятно и по делу. Хоть со сплитом стало понятно

  • @Loze_3301
    @Loze_3301 4 года назад +11

    Спасибо за качественный контент. Очень круто, что есть такие люди, которые бескорыстно готовы помогать другим людям в их стремлении обучиться чему-то новому. Отдельное спасибо за то, что оставляешь ссылки на задания для "домашней работы" это очень сильно помогает закрепить материал. Их всех источников на ютубе и не только твой контент самый качественный, спасибо тебе еще раз!

  • @РиммаБарк-ы4с
    @РиммаБарк-ы4с 4 года назад +14

    Благодарю за 11 урок Вас, Артем !Прочитала ответ , очень приятно услышать лично своего учителя !

  • @CannelRu
    @CannelRu 2 года назад +28

    0:15 методы
    1:00 upper
    2:02 метод не изменяет строку, нужно присвоить результат
    2:50 count
    5:00 find
    5:49 rfind
    6:00 index
    6:30 replace
    7:30 isalpha
    8:10 isdigit
    8:48 rjust
    9:20 ljust
    9:59 split
    13:40 strip rstrip
    14:20 несколько методов

  • @ИванПопов-з6л
    @ИванПопов-з6л 4 года назад +21

    a='Спасибо тебе добрый человек за эти уроки!'.upper()

    • @lumber2645
      @lumber2645 4 года назад +5

      Ну и ещё для дополнения:
      print(a)
      :3

    • @enchancemnt
      @enchancemnt 3 года назад

      Я конечно не эксперт, но ты только что посмотрел видеоурок и умудрился во время присваивания использовать функцию upper() lolwut. А ты точно смотрел?)

  • @yuliyaayiluy6433
    @yuliyaayiluy6433 Год назад +1

    Как же круто вы объясняете. Я строки и срезы читала и смотрела другие материалы и считала себя не умной, раз в 28лет не могу понять эту простейшую тему, которую преподают в 7 классе(вроде), а посмотрев ваше видео мне всё сразу понятно. Вот что значит кому-то дано преподавать, а кому-то нет. Рада, что нашла вас

  • @alexsmit109
    @alexsmit109 4 года назад +12

    Спасибо за урок!
    n = input('Введите целое число: ')
    while n.isdigit() == False:
    n = input('Я сказал ЦЕЛОЕ!!!: ')
    print('наконец то...')
    )))

    • @kirillusenko
      @kirillusenko 4 года назад

      Что за арабский метод?

  • @pyatiletni-a.n.a.n_n.a.s1
    @pyatiletni-a.n.a.n_n.a.s1 Год назад +1

    как же мне нравится тебя слушать! Очень приятный голос и ясное объеснение

  • @pg8582
    @pg8582 5 лет назад +10

    смотрю все рекламу ))) Давай продолжай! Твои уроки на самом деле полезны!

  • @TUMOREG
    @TUMOREG 4 года назад +16

    И как такой качественный контент оказывается так малоизвестен? Люди идут на курсы степик.орг за интерактивом - задания там хорошие, оформление красивое, но объясняет лектор очень своеобразно и недостаточно. Каждый урок приходится дополнять. За курсы такого преподавателя, как Артем, я бы заплатила.

    • @АнтонПопов-е2я
      @АнтонПопов-е2я 4 года назад +2

      Так никто не мешает заплатить чеканной монетой за эти курсы

  • @АлександрИванович-л1м

    Еще и еще раз возвращаюсь к этому ролику. Очень ценный. Даже после того как прошел списки он опять нужен. Спасибо автору.

  • @IseeKherson
    @IseeKherson 5 лет назад +14

    Спасибо, очень содержательные уроки и наглядные примеры. Среди всех выбрал вас. Но было бы хорошо, если будете приводить примеры, где это может применяться.

    • @egoroffchannel
      @egoroffchannel  5 лет назад +3

      на сайте я стараюсь к каждому видео прикреплять список практических задач
      egoroffartem.pythonanywhere.com/course/python/11
      в разделе Практика под видео

    • @Леонид-с5з
      @Леонид-с5з 4 года назад

      ​@@egoroffchannel Супер! Как раз думал "вот бы ещё практические задания были". Здорово, что они у Вас есть. Спасибо!

  • @EricCartmanRussian
    @EricCartmanRussian 4 года назад +2

    Спасибо, огромное. Просто на голову выше платных курсов, где было ничего не понятно.

  • @dandanil-x8w
    @dandanil-x8w Год назад +1

    чисто когда каждые 30 секунд останавливаешь видео что бы записать в тетрадь и проверить все в Idle и зделать задание по этому методу
    Спасибо большое за курс

  • @egoroffchannel
    @egoroffchannel  4 года назад +4

    Решение задач:
    - Карточки ruclips.net/video/-_28m5DtUCE/видео.html
    - Упражнение на строки ruclips.net/video/HSsg7F9GjqI/видео.html

    • @Helloitsme-gc6lw
      @Helloitsme-gc6lw 4 года назад

      7:48 как ты вывел на экран список всех команд? Ответь пожалуйста

    • @gravibag6099
      @gravibag6099 4 года назад

      @@Helloitsme-gc6lwчто именно ты не понял?
      ну ведб в консоли он всё, что ты ввобдишь сразу выводит, как через команду print, в данном случае, мы задаем консоли вопрос, строка только из букв
      и получаем ответ False, что значит *не верно*

    • @ИванСеров-ф4я
      @ИванСеров-ф4я 4 года назад

      Можешь разобрать задачу - Выиграть в лотерею, codeforces.com/problemset/problem/996/A. Чето не могу вчехлить.

    • @egoroffchannel
      @egoroffchannel  4 года назад

      ruclips.net/video/io1x8RC8FaU/видео.html

  • @viktorsokolov8153
    @viktorsokolov8153 2 года назад

    Образцовый по своей емкости и полезности курс. Столько пробелов восполнил. Спасибо огромное.

  • @user-gb1lj5tl8e
    @user-gb1lj5tl8e 5 месяцев назад

    15 КАРЛ!!! лет! ЛЕТ!! у меня ушло чтобы осознать что это такое ваши методы и как записывается, и я вроде не тупой - 3 образования включая техническое. а просто только здесь был нужный формат записи - на родном языке, и сразу стало всё понятно.
    + упрощение определения. спасибо тебе добр человек.

  • @УтреннийКапучино

    Уроки - огонь, Артем!!! Спасибо!
    Чтоб дела твои всегда шли в гору!

  • @logan7280
    @logan7280 5 лет назад +7

    Очень понятно и круто объясняешь. Спасибо!

  • @l7l7l7lful
    @l7l7l7lful 3 года назад +1

    Смотрю уже 15ое видео на данном канале
    Многим платным курсам далеко до грамотности и чистоты подачи материала автора данного канала
    10 из 10

  • @Sergey-zb7je
    @Sergey-zb7je Год назад +1

    Спасибо огромное автору за гигантский труд! Это дорогого стоит.

  • @edwardfisher5615
    @edwardfisher5615 2 года назад +3

    В задании "Вставка символов" не сразу понял, что .join в случае списка добавляет соединяющие элементы между элементами списка ("словами"), а в случае применения к строке соединители ставятся между каждым символом строки. Странновато.

    • @snuppy4861
      @snuppy4861 2 года назад

      Тоже не понял сразу. Пришлось подбором методов искать решение)

  • @Леонид-с5з
    @Леонид-с5з 4 года назад +1

    Спасибо большое за уроки, очень интересно и познавательно, очень хорошо объясняете! И очень хорошо, что в описании даёте таймкоды того, что прошли - не приходится долго искать.

  • @kerv1r820
    @kerv1r820 3 года назад +1

    Лучший из курсов в открытом доступе, спасибо)

  • @anatoliyg6070
    @anatoliyg6070 Год назад

    Благодарю автора!!!
    Все четко, внятно и понятно.
    Спасибо за качественный контент.

  • @pr1zr0k
    @pr1zr0k 3 года назад +3

    Задача про карточки №11:
    n = int(input())
    - эта строка для прохождения теста на сайте))
    - я бы хотел ограничить кол-во вводимых символов, но пока не знаю как.
    s = str(input())
    - вод самой строки
    s1 = s.count('n')
    - В условии задачи кол-во букв четко соответствует кол-ву слов.
    s2 = s.count('r')
    - Поэтому можно ограничится поиском 'n' и 'r'
    print('1 '*s1,'0 '*s2,sep='')

    • @4buabu
      @4buabu 3 года назад

      про чатик порешай, будет тебе полный швепс

    • @dennu2580
      @dennu2580 2 года назад

      Гениально 👏

  • @volodymyrkashnikov249
    @volodymyrkashnikov249 2 года назад

    Это лучший контент что мне посчастливилось найти!!! Ты супер чувак! Так объяснить четко и на примерах... ПРОСТО ОГОНЬ!! Спасибо тебе)))✊👏👍

  • @ДобрыйПитонПРОГРАММИРУЙ

    Я изучаю питон и нужен были видео для повторения некоторых тем и этот канал помог))И в дань уважению каналу я решил просмотреть все ролики)

  • @m.mekhanik
    @m.mekhanik 2 года назад

    Обалденные уроки! я прям молюсь чтобы не забросить изучение снова, это самое годное что мне приходилось видеть!

  • @sofiipochta
    @sofiipochta Год назад +1

    Спасибо, посмотрела!

  • @ulfatmammadov4446
    @ulfatmammadov4446 Год назад +2

    #4 Капитализация слова
    n=input()
    print(n[0].upper()+n[1:])

  • @ГеоргийАкопьян
    @ГеоргийАкопьян 2 года назад

    Этот канал просто находка, автору громадное спасибо!!!!!!!!!!!!!! С меня жирный лайкос)))))

  • @rustamoffr7064
    @rustamoffr7064 3 года назад +10

    Капитализация слова
    r=input('')
    r=r[0].upper()+r[1:]
    print(r)

  • @rari_15
    @rari_15 Год назад

    Большое спасибо за такую информацияю, еще б все запомнить) Ну на это нужно время, а вам всего хорошего!

  • @annaalexandrova6946
    @annaalexandrova6946 5 лет назад +2

    Замечательные уроки! Большое спасибо!

  • @JohnotanDoe
    @JohnotanDoe 5 лет назад +5

    Отличные уроки, спасибо

  • @alexmaximus6211
    @alexmaximus6211 4 года назад

    Ваши объяснения натолкнули меня на решение одной задачи! Спасибо.

  • @reclreclur7203
    @reclreclur7203 Год назад

    Спасибо за большой труд!

  • @serhiilykhodid8911
    @serhiilykhodid8911 5 лет назад +1

    Задачу "Чат" решил так (но хотелось бы без if):
    s = input()
    a = s.find('h')
    b = s.find('e')
    c = s.find('l')
    d = s.replace('l', '', 1)
    e = d.find('l')
    f = s.find('o')
    check = str(s[a] + s[b] + s[c] + s[e] + s[f] == 'hello')
    if check == 'True':
    print('YES')
    else:
    print('NO')

    • @dr0nrulez117
      @dr0nrulez117 3 года назад

      у вас olleh выдаст YES - а это не правильно.

  • @denistalko6585
    @denistalko6585 2 года назад +1

    Огромное спасибо за отличное пояснение!

  • @ПолинаЕгорова-ш9ч
    @ПолинаЕгорова-ш9ч 2 года назад

    Очень информативный и полезный урок! Спасибо большое!

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 2 года назад

    Артём, благодарю! Всё понятно, всё отлично! 👍🤝

  • @НатальяНаталья-с2д
    @НатальяНаталья-с2д 3 года назад

    Большое спасибо! Просто супер полезный урок! Я наконец решила задачу! Спасибо!

  • @pr1zr0k
    @pr1zr0k 3 года назад +2

    Артем, Спасибо за очень подробные уроки!
    Задача №5 на строки. Мне кажется так проще всего ее решить:
    s = str(input())
    s = s.lower()
    s = s.replace('a','').replace('o','').replace('y','').replace('e','')
    .replace('u','').replace('i','')
    print ('.','.'.join(s),sep=(''))

    • @genamorozov3979
      @genamorozov3979 3 года назад +1

      invalid syntax пишет, как ты ее так решил?

    • @muhamor124
      @muhamor124 3 года назад

      я вот так сделал, долго мучался с удалением последней точки
      print('type text:')
      a=input()
      a=a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','').replace('','.')[0:-1]
      print(a)

    • @muhamor124
      @muhamor124 3 года назад

      ну или вообще в 2ве строки.
      a=input()
      print(a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','').replace('','.')[0:-1])

    • @muhamor124
      @muhamor124 3 года назад

      блин, понял как работает .join :)
      a=input()
      a=a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')
      print('.'+'.'.join(a))

    • @muhamor124
      @muhamor124 3 года назад

      a=input()
      print('.'+'.'.join(a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')))

  • @legomonsters6888
    @legomonsters6888 4 года назад +2

    Очень хорошее видео, мне для работы пригодятся эти знания, пройду все уроки точно ✌️😌 особенно порадовало что после прохождения всех уроков, в других плей листах можно посмотреть как сделать игру пинг понг😌👍

  • @pedazodecarne8155
    @pedazodecarne8155 4 года назад +10

    Ответ на "Карточки"
    s=input() ##эта переменная, наверное для условий, т.к. я ее не использовал
    v=input()
    a=v.count("z") ##считаем сколько всего каждой буквы в введенных данных
    b=v.count("e") ##считаем сколько всего каждой буквы в введенных данных
    c=v.count("r") ##считаем сколько всего каждой буквы в введенных данных
    d=v.count("o") ##считаем сколько всего каждой буквы в введенных данных
    e=v.count("n") ##считаем сколько всего каждой буквы в введенных данных
    f=min(b,d,e) ##находим сколько всего "one" можно составить
    g=v.replace("e","",f) ##вычитаем буквы, которые уже использовали для "one"
    h=g.replace("n","",f) ##вычитаем буквы, которые уже использовали для "one"
    i=h.replace("o","",f) ##вычитаем буквы, которые уже использовали для "one"
    j=i.count("z") ##находим какое кол-во букв осталось для "zero"
    k=i.count("e") ##находим какое кол-во букв осталось для "zero"
    l=i.count("r") ##находим какое кол-во букв осталось для "zero"
    m=i.count("o") ##находим какое кол-во букв осталось для "zero"
    n=min(j,k,l,m) ##находим сколько всего "zero" можно составить из оставшихся букв
    o="1"*f ##"one" у нас должна выглядеть в ответе как "1", поэтому "1" умножаем на все наши "one"
    p="0"*n ##"zero" у нас должна выглядеть в ответе как "0", поэтому "0" умножаем на все наши "zero"
    print(" ".join(o), " ".join(p)) ##добавляем пробел между нашими цифрами, для нужного формата ответа. Макс. число получается легко записать, т.к. макс. число можно получить если все 1 поставить сначала, а после них 0. Поэтому в принт, сначала отображаем 1, потом 0.

    • @tmercurial
      @tmercurial 2 года назад

      Спасибо, 90 процентов сам смог решить, а вот как перевести полученную цифру в единицы и нуле не догадался)

    • @AndreySinyutin
      @AndreySinyutin 2 года назад

      @@AlexKentXIII В условии говорится, что гарантировано должно быть zero и/или one в строке. Достаточно по одной уникальной букве находить

  • @nikitasokov5830
    @nikitasokov5830 3 года назад

    Всё информативно, без лишних слов, спасибо большое!)

  • @magadmammaev552
    @magadmammaev552 5 лет назад +3

    Спасибо! Полезный урок

  • @ВикторияМартынова-н3ф

    Моё решение всех задач
    # Количество слов
    a = 'Hello world'
    a = ' '.join(a.split()).count(' ') + 1 # подсчёт слов в тексте
    print(a)
    # Удаление символа. Дана строка. Удалите из этой строки все символы @.
    a='Bilbo.Baggins@bagend.hobbiton.shire.me'
    print(a.replace('@',''))
    # Вставка символов
    s = 'Python'
    x = s[:]
    print('*'.join(x)) # Дана строка. Получите новую строку, вставив между двумя символами исходной строки символ *.
    # Капитализация - это запись слова, в которой первая буква слова записывается как прописная буква.
    r = 'konjac'
    r = r[0].upper() + r[1:]
    print(r)
    # Упражнение на строки
    a = str("aBAcAba").lower().replace('a', '').replace('o', '').replace('u', '').replace('e', '')
    a = a.replace('', '.')
    a = a[:]
    print(a) #удаляет все гласные буквы,
    #перед каждой согласной буквой ставит символ ".",
    #все прописные согласные буквы заменяет на строчные.
    # Упражнение на строки
    a = 'aBAcAba'
    a = a.replace('o', '').replace('u', '').replace('e', '').replace('a', '', 2).replace('A', '', 2)
    print(a) # удаляет все гласные буквы,
    a = a[:]
    a = '.'.join(a)
    x = a.__len__() + 1
    a = a.rjust(x, '.')
    print(a) # перед каждой согласной буквой ставит символ ".",
    print(a.lower()) # все прописные согласные буквы заменяет на строчные
    # Чат
    s = 'ahhellllloou' # True, если из напечатанного слова можно удалить некоторые буквы так, чтобы получилось слово "hello"
    print(s.find('h')

    • @Ersa556
      @Ersa556 2 года назад

      по задаче № 7 у меня чуть проще. Первое и последнее вхождение.
      a = input()
      b = a.count('f')
      if b>1:
      print(a.find('f'),a.rfind('f'))
      elif b == 1:
      print(a.find('f'))
      else:
      print('Nothing')

    • @Ersa556
      @Ersa556 2 года назад

      Удаление фрагмента можно еще так решить. Мб пригодится:
      a = 'In the hole in the ground there lived a hobbit'
      a1 = a.find('h')
      a2 = a.rfind('h')+1
      b = a[a1:a2]
      d = a.replace(b,'')
      print(d)

    • @Ersa556
      @Ersa556 2 года назад

      по задаче переставить два слова, можно еще так решить:
      a = 'Hello, world!'
      b = a.find(' ')+1
      a1 = a[0:b]
      a2 = a[b:]
      print(a2,a1)
      Но твое решение намного проще моего! Cool.

  • @lIbloodlI
    @lIbloodlI 4 года назад +5

    Спасибо парень.

  • @ИльяЗырянов-г6л
    @ИльяЗырянов-г6л 4 года назад

    смотрел курс от высшей школы экономики, по сравнению с этим не объясняют ничего. сейчас как будто заново всё узнаю, а так просто можно было все объяснить про те же методы, что это такое. Спасибо, очень структурировано.

  • @БогданМалиновский-с9о

    Спасибо! Отличный курс! Забросил платный (150 долл.) потому что перестал понимать задания, переключился на этот. После нескольких вечеров "секаса" у меня получилось упражнение на строки!
    s = str(input()).lower()
    vowels = ['a', 'o', 'y', 'e', 'u', 'i']
    res_str = '.' + '.'.join(ch for ch in s if ch not in vowels)
    print(res_str)

  • @serejkageodes1774
    @serejkageodes1774 3 года назад +1

    Решение задачи карточки:
    k=input()
    j=len(k)
    z=k.count('o')
    t=k.count('n')
    e=k.count('e')
    q=min(z,t,e)
    a=k.count('z')
    u=k.count('e')-q
    d=k.count('r')
    i=k.count('o')-q
    r=min(a,u,d,i)
    m=str(1)*q+str(0)*r
    print(m)

  • @ЕвгенийГ-л7п
    @ЕвгенийГ-л7п 2 года назад

    огромное спасибо, очень легко и понятно все, лучший)

  • @ВалерияМалышева-ь1в

    Спасибо большое! Очень подробно все объяснили.

  • @neopoligraf9991
    @neopoligraf9991 4 года назад

    Спасибо за подробный материал!!

  • @BelochkaStrelochka
    @BelochkaStrelochka 4 года назад +3

    Спасибо большое!

  • @Dmitrii-h3w
    @Dmitrii-h3w 2 месяца назад

    Первое и последнее вхождение( без циклов и без "count")
    a = input()
    b = a.find('f')
    c = a.rfind('f')
    e=str(c)
    y=b==c
    x=b!=c
    print(b,e*x,''*y)

  • @Serhii_Tereshchuk
    @Serhii_Tereshchuk 4 года назад +13

    Смотрю так никто и не решил задачу ЧАТ без if/else ... этот урок предполагает, что мы if/else еще не учили.
    Решить можно ... сюда выложил github.com/ters81/http-codeforces.com/blob/master/A.%20%D0%A7%D0%B0%D1%82.py
    Ну тебя, Артем .... я пол дня на это потратил ..))

    • @oleh117
      @oleh117 4 года назад

      Классное решение, Сергей! Действительно, без "if/else", получилось только у тебя!)

    • @ig_bodya
      @ig_bodya 4 года назад +1

      сначала я тоже не мог понять как решить задание, потом посмотрел коменты, нашел твоё решение. Посмотрел код и сам написал так же себе. А потом в голову пришло очень интересное решение:
      a=input()
      b=a.lower().count("hello")
      c=int(abs(b-1))
      print("Yes"*b+"No"*c)
      работает точно так же как твоя прога, только намного компактнее)

    • @Serhii_Tereshchuk
      @Serhii_Tereshchuk 4 года назад

      @@ig_bodya Та вроде ж не проходит твое решение на сайте?

    • @sfrit.1842
      @sfrit.1842 3 года назад

      идейно вдохновился вашим решением)
      s = input()
      h = s.find('h')
      e = s.find('e', h + 1)
      l = s.find('l', e + 1)
      l2 = s.find('l', l + 1)
      o = s.find('o', l2 + 1)
      a = h < e < l < l2 < o
      b = (h+1) * e * l * l2 * o
      b1 = b < 0
      print("YES" * a + "NO" * b1)

  • @CheshireBradCat
    @CheshireBradCat 3 года назад

    Все понятно. Большое спасибо!

  • @floki_spb
    @floki_spb Год назад

    УМНИЦА! Другого слова не найти.

  • @АндрейПетрухин-ъ4д
    @АндрейПетрухин-ъ4д 2 года назад +1

    Задача 12. Дабстеп
    Вот такое решение получилось короткое
    s = str(input()).upper()
    print(' '.join(s.replace('WUB', ' ').split()))

  • @upsilon8672
    @upsilon8672 4 года назад +3

    Что думаете?
    #5 Упражнение на строки
    s=input()
    s=s.upper()
    s=s.replace('A','')
    s=s.replace('O','')
    s=s.replace('Y','')
    s=s.replace('E','')
    s=s.replace('U','')
    s=s.replace('I','')
    s=s.lower()
    s=s.replace('','.')
    print(s[:-1])
    #6 Чат
    s=input()
    print(('he' in s)and('el' in s)and('ll' in s)and('lo' in s))
    #7 Первое и последнее вхождение
    a=input()
    c=len(a)-len(a.replace('f',''))
    if c==1:
    print(a.find('f'))
    if c>=2:
    print(a.find('f'),a.rfind('f'))
    #8 Удаление фрагмента
    a=input()
    print(a[:a.find('h')]+a[a.rfind('h')+1:])
    #9 Переставить два слова
    a='Hello, world!'
    print(a[a.index(' ')+1:], a[:a.index(' ')])

    • @ownway4801
      @ownway4801 4 года назад

      У вас 6 не корректно будет работать т.к. может быть подобная строка heaelljfhdlo и ответ будет да

    • @upsilon8672
      @upsilon8672 4 года назад

      @@ownway4801 спасибо

    • @andreyavramenko1437
      @andreyavramenko1437 4 года назад +1

      Методы строк можно вызывать цепочкой
      a = input('Введите слово: ').lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','').replace('','.')
      print(a[:-1])

    • @upsilon8672
      @upsilon8672 3 года назад

      @Muraba ну, я как бы решал способами, которые описывались

    • @ЗульфатГабдрахманов-л7х
      @ЗульфатГабдрахманов-л7х 2 года назад

      #5 упражнение на строки
      s=input().lower()
      s=s.replace('a','')
      s=s.replace('o','')
      s=s.replace('y','')
      s=s.replace('e','')
      s=s.replace('u','')
      s=s.replace('i','')
      print('.'+'.'.join(s))

  • @bef69
    @bef69 3 года назад +2

    5 задача , еле разобрался
    a=str(input())
    a=a.lower()
    a=a.replace("a","").replace("u","").replace("i","").replace("o","").replace("y","").replace("e","")
    print ('.','.'.join(a),sep=(''))

    • @muhamor124
      @muhamor124 3 года назад

      если кому поменять на '+' то пробела не будет
      a=input()
      print('.'+'.'.join(a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')))

    • @iglstivens
      @iglstivens 3 года назад

      Все гораздо проще
      w = input().lower()
      print(w.replace('a', '').replace('o', '').replace('y', '').replace('e', '').replace('u', '').replace('i', '').replace('', '.').rstrip('.'))

  • @boba7let92
    @boba7let92 9 месяцев назад

    Капитализация слова
    s=input()
    print(s.replace(s[0],s[0].upper()))

  • @udese2561
    @udese2561 3 года назад

    Мега круто обьясняешь, спасибо.

  • @vasbkamarxil1260
    @vasbkamarxil1260 2 года назад

    КУРС ОГОНЬ!!!!

  • @ПародиинаБатьков
    @ПародиинаБатьков 5 лет назад +6

    Сделай видео про свою биографию, как научился языку!

  • @ИванКазак-ь1о
    @ИванКазак-ь1о 3 года назад

    Спасибо за ваш курс

  • @User-Python-Excel-SQL
    @User-Python-Excel-SQL 4 месяца назад

    Добрый день, Артём. Подскажите, как можно удалить ЛИШНИЕ пробелы? То есть, есть между словами 2 и более пробелов, а нужно оставить 1. Есть ли специализированная функция (метод)?

  • @tyoma_k5027
    @tyoma_k5027 4 года назад +1

    насыщенный урок, спасибо

  • @crekspeks2843
    @crekspeks2843 Год назад

    Это просто взрыв мозга.

  • @alexnormandy8774
    @alexnormandy8774 3 года назад

    карточки
    a = int(input("Введи длину строки ? "))
    l = a
    a = 1 0):
    print(d)
    else:
    print("Неверная длина строки")

  • @ГригорийРоманов-з2я
    @ГригорийРоманов-з2я 4 года назад +1

    Задача про Чат:
    s=str(input())
    if s.find('h')

    • @dariadolphin6529
      @dariadolphin6529 2 года назад

      я вот думаю. операторы if и else не были еще объяснены, возможно как-то можно без них найти решение?

    • @shyless6526
      @shyless6526 2 года назад

      @@dariadolphin6529
      s = input()
      h = s.find("h")
      e = s[h:].find("e")
      l = s[h+e:].find("l")
      l2 = s[h+e+l+1:].find("l")
      o = s[h+e+l+l2:].find("o")
      x = min(0, h, e, l, l2, o)
      ans1 = "YN"
      ans2 = "EO"
      ans3 = "S "
      print(ans1[x]+ans2[x]+ans3[x])

  • @danilavlasov8449
    @danilavlasov8449 Год назад

    спасибо большое за труд

  • @AndreySinyutin
    @AndreySinyutin 2 года назад

    "Второе вхождение".
    s=input()
    a=s.find('f')
    b=s.find('f',a+1)
    c=a>=0
    a=str(a)
    b=str(b)
    c=str(c)
    c1=(c.replace('True','-1').replace('False','-2'))
    c1=str(c1)
    d=(b>a)
    d=str(d)
    print(d.replace('True',b).replace('False',c1))

  • @aleks-hq1vk
    @aleks-hq1vk 2 года назад

    ОГРОМЕННОЕ спасибище!!!!!

  • @Helen-vh8up
    @Helen-vh8up 8 месяцев назад

    # Переставьте слова местами.
    s = input()
    a = s.split(' ')
    print(a[1], a[0], sep=' ')

  • @timofejzivoderoff7682
    @timofejzivoderoff7682 2 года назад +1

    странно, почему метод rfind возвратил позицию 7, если справа первый символ "о" был на 4-ой позиции. Таймкод 5:48

  • @DyadkaChizell
    @DyadkaChizell 2 года назад +1

    Спасибули)))

  • @Helen-vh8up
    @Helen-vh8up 8 месяцев назад

    #Defanging an IP Address
    s = input()
    s1 = s.split('.')
    print(s1[0], s1[1], s1[2], s1[3], sep='[.]')

  • @Roman_Chek
    @Roman_Chek 4 года назад +5

    У меня получилось следующее. Задача получила полное решение:
    number = int(input())
    #Вводим число (так и не понял, зачем оно здесь нужно)
    letters = input()
    #Вводим буквы
    n = letters.count('n')
    #Далее считаем количество каждой из букв с помощью .count
    e = letters.count('e')

    o = letters.count('o')
    z = letters.count('z')
    r = letters.count('r')
    mone = min(o,n,e)
    #Здесь выясняем сколько слов "one" получится
    n = n - mone
    #Вычитаем израсходованные буквы
    e = e - mone
    o = o - mone
    mzero = min(z,e,r,o)
    #Выясняем сколько получится слов "zero" с учетом потраченных букв
    print(('1 '*mone+'0 '*mzero)[:-1]) #Выводим на экран числа, соответствующие словам, умножая их на количество полученных ранее слов. Так как наибольшее значение двоичного числа получается тогда, когда единицы стоят левее нулей, то сначала умножаем "единицы" на их количество, а затем к этому прибавляем умноженные "нули" на их количество.Также к числам не забываем поставить пробел справа. Так как в конце строки у нас получается лишний пробел, то берем значение до последнего символа с помощью [:-1]
    Если было полезно, ставьте лайки))

    • @shyless6526
      @shyless6526 2 года назад +1

      Излишне усложнено. Решение в 5 строчек.
      n = int(input())
      letters = input()
      ones = letters.count('n')
      zeros = letters.count('z')
      print('1 '*ones, '0 '*zeros, sep='')

    • @shyless6526
      @shyless6526 2 года назад

      @@AlexKentXIII а просто по условию ввод должен быть, поэтому он есть. Но можно и без него справиться.
      Суть решения на словах такая: подсчитать сколько в строке встречается буква 'n' и вывести столько же единиц. Дело в том, что 'n' может встетиться только в слове one. Поэтому сколько 'n' в строке, столько же и единиц нам нужно вывести. А потом тот же самый принцип но с буквой 'z'(тоже встречается только в zero)

    • @shyless6526
      @shyless6526 2 года назад

      @@AlexKentXIII я за 2 месяца вообще задачу подзабыл, но вроде все верно написал, если есть вопросы - спрашивайте

    • @shyless6526
      @shyless6526 2 года назад

      @@AlexKentXIII а какая разница, что буквы о и е встречаются и там и там? В том и смысл взять n и z

    • @shyless6526
      @shyless6526 2 года назад

      @@AlexKentXIII в условии сказано: Гарантируется, что буквы можно переупорядочить таким образом, чтобы они образовывали последовательность слов, каждое из которых является либо словом «zero», что соответствует цифре 0, либо словом «one», что соответствует цифре 1.
      Ваши примеры последовательностей букв не подходят под условие. Последовательность zeon не образовывает последовательность слов, каждое из которых либо one либо zero

  • @olinko36
    @olinko36 4 года назад +1

    Карточки))
    Ребят, кто шарит, такое решение имеет место быть? Ответ выдается правильный, но мне интересно, насколько верна запись:
    n=int(input())
    s=input()
    s=s[:n]
    while ('o' in s) and ('n' in s) and ('e' in s):
    print ('1', end=' ')
    s=s.replace('o', '', 1)
    s=s.replace('e', '', 1)
    s=s.replace('n', '', 1)
    while ('z' in s) and ('e' in s) and ('r' in s) and ('o' in s):
    print ('0', end=' ')
    s=s.replace('o', '', 1)
    s=s.replace('e', '', 1)
    s=s.replace('z', '', 1)
    s=s.replace('r', '', 1)

  • @АндрейАверин-т9ь
    @АндрейАверин-т9ь 3 года назад

    Спасибо, хорошо объясняешь

  • @thedmitryguy
    @thedmitryguy 4 года назад

    Спасибо за урок!

  • @МишаБорисович-х3л

    Не было сказано очень важной вещи о методах r ljust()
    1. Указанная ширина ДОЛЖНА быть длиннее длины строки. Например:
    а=“hallo” (длинна - 6)
    print(a.rjust(6)) (ничего не получиться, результатом вывода будет hallo)
    2. Если ширина указана правильно (она длиннее длины строки) текст сместиться не на указанную ширину, а на РАЗНИЦУ между указаной шириной и длинной строки. Например:
    а=“hallo” (длинна - 6)
    print(a.rjust(7,”0”)) -результатом будет 0hallo

  • @Svetomir1983
    @Svetomir1983 2 года назад

    Спасибо, брат. Помог.

  • @kamzh9834
    @kamzh9834 Год назад

    бЛАГОДАРЮ!

  • @sbhajasbajqihsiwb3379
    @sbhajasbajqihsiwb3379 2 года назад +1

    Первое и последнее вхождение:
    a=input()
    b=a.find(‘f’)
    b1=a.rfind(‘f’,a.find(‘f’)+1)
    b1=str(b1)
    b1=b1.replace(‘-1’,’’)
    print(b,b1)
    Да я знаю что можно упростить, но мне нравится так

    • @iggyiggy1011
      @iggyiggy1011 Год назад +1

      не совсем верно, ведь если ввсти слово без ф то будет -1. верное выглядит так,на мой взгляд a=input()
      f1=a.find('f')
      f2=a.rfind('f',f1+1)
      f2=str(f2)
      f2=f2.replace('-1','')
      f1=str(f1)
      f1=f1.replace('-1','')
      print(f1,f2)

    • @iggyiggy1011
      @iggyiggy1011 10 месяцев назад

      начал повторять курс и появилось новое решение
      a=input().lower()
      f1=(a.find('f'))
      f2=(a.rfind('f'))
      k1=f1==f2 and f1!=-1
      k2=f2>f1
      print(str(f1)*k1,str(f1)*k2,str(f2)*k2)

  • @kto_prochetal_tot_sdoh
    @kto_prochetal_tot_sdoh 11 месяцев назад

    Здравствуйте, у меня вопрос насчет метода find. Что мне делать если в строке 3 или более одинаковых символов? С помощью find и rfind можно найти только самый левый и самый правый, и я не вижу никаких способов найти нужный символ посередине кроме как написать еще один find, но начиная с предыдущего индекса+1. Есть ли более удобный способ?
    P.S. Огромное спасибо за видео, все очень понятно и быстро

  • @Approximator7
    @Approximator7 4 года назад +1

    Упражнение на строки
    s = input().upper().replace("I", '').replace("U", '').replace("E", '').replace("Y", '').replace("O", '').replace("A", '').lower()
    a=list(s)
    c=('.')
    b = c+'.'.join(a)
    print(b)

    • @jeysot_
      @jeysot_ 4 года назад

      x = (input().lower())
      x = x.replace("a", "").replace("e", "").replace("y", "").replace("u", "").replace("i", "").replace("o", "")
      x = " " + x
      x = list(x)
      x = ".".join(x)
      x=x.replace(" ","")
      print(x)

    • @FoxShadowSer
      @FoxShadowSer 4 года назад

      @@jeysot_
      Две строчки, ребят, ДВЕ строчки
      test=input().lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','')
      print ('.'.join(test))

    • @exrostov
      @exrostov 4 года назад

      @@FoxShadowSer Тоже так написал, но программа не прошла проверку, так как не соблюдается условие - перед каждой согласной стоит "." В вашем примере после каждой согласной стоит ".", за исключением первой буквы, перед ней должен стоять символ"." Нужно дописать вот так
      a=input().lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')
      print(a[0:0]+'.'+'.'.join(a),)

    • @user-qu3kq2uq5f
      @user-qu3kq2uq5f 3 года назад

      @@jeysot_ a = str(input()).lower()
      a=a.replace("a", "").replace("y","").replace("o", "").replace("e", "").replace("i", "").replace("u", "")
      a=list(a)
      a=".".join(a)
      print(a)

  • @yogameditationandgoodmusic9027
    @yogameditationandgoodmusic9027 2 года назад +1

    Задачи "чат" и "первое и последнее вхождение" решаются без ifов?

  • @ВеселыйРоджер-н7ы
    @ВеселыйРоджер-н7ы 2 года назад

    Очень хорошо, спасибо

  • @encezza1942
    @encezza1942 3 года назад

    Defanging an IP Address
    a=input('Введите адрес: ').split('.')
    print('[.]'.join(a).replace('address = ', ''))

  • @Kasadik
    @Kasadik 3 года назад +1

    Пробовал replace в одну сточку через точку, у меня не работет, поетому написал этого монстра(
    a='aBAcAba'
    s=a.replace('a','')
    s=s.replace('o','')
    s=s.replace('y','')
    s=s.replace('e','')
    s=s.replace('u','')
    s=s.replace('i','')
    s=s.replace('A','')
    s=s.replace('O','')
    s=s.replace('Y','')
    s=s.replace('E','')
    s=s.replace('U','')
    s=s.replace('I','')
    print('.'+'.'.join(s.lower()))

  • @ЭмирМалахитович
    @ЭмирМалахитович 2 года назад +1

    Топ