Урок 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....
В данном группе можете найти информацию о новых видео и задать вопросы
🫵 Теория без практики - ничто, поэтому 👇
🐍 stepik.org/course/63085/promo
👉 специально для тебя создал бесплатный топовый курс по Python
👉 В нем тебя ждет:
📗 более 400 практических заданий на программирование
📗 более 250 тестовых заданий на проверку материала
📗 десятки часов видеоматерилов по теории
📗 видеоразборы решения заданий
📗 текстовые материалы по урокам, примеры кода
📗 доступ к закрытому чату с дружественной обстановкой
📗 сертификат в случае успешного прохождения курса
граждане, пожалуйста не ставьте дизлайки за это видео. Этот материал самый лучший из того что мне пришлось пересмотреть на youtube. Артем, слов не хватает чтобы выразить тебе благодарность за твой труд и качество уроков
1.7к лайков и 5 дизлайков, это нормально еще. но согласен, уроки крутые
Пока что это лучшее по Питону! Посмотрим как функции объяснит.
@Dmitriy Mod 23 уже
@@dexlusby выучите алгоритмы ютуба, прежде чем на кого-то гнать. Дизлайк даёт возможность смотрящему ограничить контент, связанный с этой областью. Он работает, как фильтр для пользователя. А все, кто этого не знают, придают ему эмоциональную окраску.
@@egp-eugenegamesproject906 мне для чего эта информация, я разве гнал на кого-то? А тем не кому не нравится ролик, может поставить в неинтересующее
Я поражаюсь насколько долго существует твой канал, то как много времени ты его поддерживаешь. Даже САЙТ сделал с пратическими заданиями, это просто космос. Всё чётко и понятно. Спасибо тебе за такой контент!
Все еще актуально, спустя 2 года, после твоего комментария
@@romanvishnyakov6835 абсолютно согласен
отличные уроки. все по делу
спасибо, стараюсь)
@@egoroffchannel а можно рассказывать еще и про вот такие как такие делать например: i = { friend }, текст, как такие оформляются, или i = текст {скажем погода}: {тут город} как такие делаются
@@АлексейБонд-ъ8ч i={"name":"value"}
print( i["name"] )
Единственное видео,где все понятно и по делу. Хоть со сплитом стало понятно
Спасибо за качественный контент. Очень круто, что есть такие люди, которые бескорыстно готовы помогать другим людям в их стремлении обучиться чему-то новому. Отдельное спасибо за то, что оставляешь ссылки на задания для "домашней работы" это очень сильно помогает закрепить материал. Их всех источников на ютубе и не только твой контент самый качественный, спасибо тебе еще раз!
Благодарю за 11 урок Вас, Артем !Прочитала ответ , очень приятно услышать лично своего учителя !
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 несколько методов
a='Спасибо тебе добрый человек за эти уроки!'.upper()
Ну и ещё для дополнения:
print(a)
:3
Я конечно не эксперт, но ты только что посмотрел видеоурок и умудрился во время присваивания использовать функцию upper() lolwut. А ты точно смотрел?)
Как же круто вы объясняете. Я строки и срезы читала и смотрела другие материалы и считала себя не умной, раз в 28лет не могу понять эту простейшую тему, которую преподают в 7 классе(вроде), а посмотрев ваше видео мне всё сразу понятно. Вот что значит кому-то дано преподавать, а кому-то нет. Рада, что нашла вас
Спасибо за урок!
n = input('Введите целое число: ')
while n.isdigit() == False:
n = input('Я сказал ЦЕЛОЕ!!!: ')
print('наконец то...')
)))
Что за арабский метод?
как же мне нравится тебя слушать! Очень приятный голос и ясное объеснение
смотрю все рекламу ))) Давай продолжай! Твои уроки на самом деле полезны!
И как такой качественный контент оказывается так малоизвестен? Люди идут на курсы степик.орг за интерактивом - задания там хорошие, оформление красивое, но объясняет лектор очень своеобразно и недостаточно. Каждый урок приходится дополнять. За курсы такого преподавателя, как Артем, я бы заплатила.
Так никто не мешает заплатить чеканной монетой за эти курсы
Еще и еще раз возвращаюсь к этому ролику. Очень ценный. Даже после того как прошел списки он опять нужен. Спасибо автору.
Спасибо, очень содержательные уроки и наглядные примеры. Среди всех выбрал вас. Но было бы хорошо, если будете приводить примеры, где это может применяться.
на сайте я стараюсь к каждому видео прикреплять список практических задач
egoroffartem.pythonanywhere.com/course/python/11
в разделе Практика под видео
@@egoroffchannel Супер! Как раз думал "вот бы ещё практические задания были". Здорово, что они у Вас есть. Спасибо!
Спасибо, огромное. Просто на голову выше платных курсов, где было ничего не понятно.
чисто когда каждые 30 секунд останавливаешь видео что бы записать в тетрадь и проверить все в Idle и зделать задание по этому методу
Спасибо большое за курс
Решение задач:
- Карточки ruclips.net/video/-_28m5DtUCE/видео.html
- Упражнение на строки ruclips.net/video/HSsg7F9GjqI/видео.html
7:48 как ты вывел на экран список всех команд? Ответь пожалуйста
@@Helloitsme-gc6lwчто именно ты не понял?
ну ведб в консоли он всё, что ты ввобдишь сразу выводит, как через команду print, в данном случае, мы задаем консоли вопрос, строка только из букв
и получаем ответ False, что значит *не верно*
Можешь разобрать задачу - Выиграть в лотерею, codeforces.com/problemset/problem/996/A. Чето не могу вчехлить.
ruclips.net/video/io1x8RC8FaU/видео.html
Образцовый по своей емкости и полезности курс. Столько пробелов восполнил. Спасибо огромное.
15 КАРЛ!!! лет! ЛЕТ!! у меня ушло чтобы осознать что это такое ваши методы и как записывается, и я вроде не тупой - 3 образования включая техническое. а просто только здесь был нужный формат записи - на родном языке, и сразу стало всё понятно.
+ упрощение определения. спасибо тебе добр человек.
Уроки - огонь, Артем!!! Спасибо!
Чтоб дела твои всегда шли в гору!
Очень понятно и круто объясняешь. Спасибо!
Смотрю уже 15ое видео на данном канале
Многим платным курсам далеко до грамотности и чистоты подачи материала автора данного канала
10 из 10
Спасибо огромное автору за гигантский труд! Это дорогого стоит.
В задании "Вставка символов" не сразу понял, что .join в случае списка добавляет соединяющие элементы между элементами списка ("словами"), а в случае применения к строке соединители ставятся между каждым символом строки. Странновато.
Тоже не понял сразу. Пришлось подбором методов искать решение)
Спасибо большое за уроки, очень интересно и познавательно, очень хорошо объясняете! И очень хорошо, что в описании даёте таймкоды того, что прошли - не приходится долго искать.
Лучший из курсов в открытом доступе, спасибо)
Благодарю автора!!!
Все четко, внятно и понятно.
Спасибо за качественный контент.
Задача про карточки №11:
n = int(input())
- эта строка для прохождения теста на сайте))
- я бы хотел ограничить кол-во вводимых символов, но пока не знаю как.
s = str(input())
- вод самой строки
s1 = s.count('n')
- В условии задачи кол-во букв четко соответствует кол-ву слов.
s2 = s.count('r')
- Поэтому можно ограничится поиском 'n' и 'r'
print('1 '*s1,'0 '*s2,sep='')
про чатик порешай, будет тебе полный швепс
Гениально 👏
Это лучший контент что мне посчастливилось найти!!! Ты супер чувак! Так объяснить четко и на примерах... ПРОСТО ОГОНЬ!! Спасибо тебе)))✊👏👍
Я изучаю питон и нужен были видео для повторения некоторых тем и этот канал помог))И в дань уважению каналу я решил просмотреть все ролики)
Обалденные уроки! я прям молюсь чтобы не забросить изучение снова, это самое годное что мне приходилось видеть!
Спасибо, посмотрела!
#4 Капитализация слова
n=input()
print(n[0].upper()+n[1:])
Этот канал просто находка, автору громадное спасибо!!!!!!!!!!!!!! С меня жирный лайкос)))))
Капитализация слова
r=input('')
r=r[0].upper()+r[1:]
print(r)
Большое спасибо за такую информацияю, еще б все запомнить) Ну на это нужно время, а вам всего хорошего!
Замечательные уроки! Большое спасибо!
Спасибо)
Отличные уроки, спасибо
Ваши объяснения натолкнули меня на решение одной задачи! Спасибо.
Спасибо за большой труд!
Задачу "Чат" решил так (но хотелось бы без 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')
у вас olleh выдаст YES - а это не правильно.
Огромное спасибо за отличное пояснение!
рад стараться)))
Очень информативный и полезный урок! Спасибо большое!
Артём, благодарю! Всё понятно, всё отлично! 👍🤝
Большое спасибо! Просто супер полезный урок! Я наконец решила задачу! Спасибо!
Артем, Спасибо за очень подробные уроки!
Задача №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=(''))
invalid syntax пишет, как ты ее так решил?
я вот так сделал, долго мучался с удалением последней точки
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)
ну или вообще в 2ве строки.
a=input()
print(a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','').replace('','.')[0:-1])
блин, понял как работает .join :)
a=input()
a=a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')
print('.'+'.'.join(a))
a=input()
print('.'+'.'.join(a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')))
Очень хорошее видео, мне для работы пригодятся эти знания, пройду все уроки точно ✌️😌 особенно порадовало что после прохождения всех уроков, в других плей листах можно посмотреть как сделать игру пинг понг😌👍
Ответ на "Карточки"
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.
Спасибо, 90 процентов сам смог решить, а вот как перевести полученную цифру в единицы и нуле не догадался)
@@AlexKentXIII В условии говорится, что гарантировано должно быть zero и/или one в строке. Достаточно по одной уникальной букве находить
Всё информативно, без лишних слов, спасибо большое!)
Спасибо! Полезный урок
Моё решение всех задач
# Количество слов
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')
по задаче № 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')
Удаление фрагмента можно еще так решить. Мб пригодится:
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)
по задаче переставить два слова, можно еще так решить:
a = 'Hello, world!'
b = a.find(' ')+1
a1 = a[0:b]
a2 = a[b:]
print(a2,a1)
Но твое решение намного проще моего! Cool.
Спасибо парень.
смотрел курс от высшей школы экономики, по сравнению с этим не объясняют ничего. сейчас как будто заново всё узнаю, а так просто можно было все объяснить про те же методы, что это такое. Спасибо, очень структурировано.
Спасибо! Отличный курс! Забросил платный (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)
Решение задачи карточки:
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)
огромное спасибо, очень легко и понятно все, лучший)
Спасибо большое! Очень подробно все объяснили.
Спасибо за подробный материал!!
Спасибо большое!
Первое и последнее вхождение( без циклов и без "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)
Смотрю так никто и не решил задачу ЧАТ без if/else ... этот урок предполагает, что мы if/else еще не учили.
Решить можно ... сюда выложил github.com/ters81/http-codeforces.com/blob/master/A.%20%D0%A7%D0%B0%D1%82.py
Ну тебя, Артем .... я пол дня на это потратил ..))
Классное решение, Сергей! Действительно, без "if/else", получилось только у тебя!)
сначала я тоже не мог понять как решить задание, потом посмотрел коменты, нашел твоё решение. Посмотрел код и сам написал так же себе. А потом в голову пришло очень интересное решение:
a=input()
b=a.lower().count("hello")
c=int(abs(b-1))
print("Yes"*b+"No"*c)
работает точно так же как твоя прога, только намного компактнее)
@@ig_bodya Та вроде ж не проходит твое решение на сайте?
идейно вдохновился вашим решением)
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)
Все понятно. Большое спасибо!
УМНИЦА! Другого слова не найти.
Задача 12. Дабстеп
Вот такое решение получилось короткое
s = str(input()).upper()
print(' '.join(s.replace('WUB', ' ').split()))
Что думаете?
#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(' ')])
У вас 6 не корректно будет работать т.к. может быть подобная строка heaelljfhdlo и ответ будет да
@@ownway4801 спасибо
Методы строк можно вызывать цепочкой
a = input('Введите слово: ').lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','').replace('','.')
print(a[:-1])
@Muraba ну, я как бы решал способами, которые описывались
#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))
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=(''))
если кому поменять на '+' то пробела не будет
a=input()
print('.'+'.'.join(a.lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')))
Все гораздо проще
w = input().lower()
print(w.replace('a', '').replace('o', '').replace('y', '').replace('e', '').replace('u', '').replace('i', '').replace('', '.').rstrip('.'))
Капитализация слова
s=input()
print(s.replace(s[0],s[0].upper()))
Мега круто обьясняешь, спасибо.
КУРС ОГОНЬ!!!!
Сделай видео про свою биографию, как научился языку!
Спасибо за ваш курс
Добрый день, Артём. Подскажите, как можно удалить ЛИШНИЕ пробелы? То есть, есть между словами 2 и более пробелов, а нужно оставить 1. Есть ли специализированная функция (метод)?
насыщенный урок, спасибо
Это просто взрыв мозга.
карточки
a = int(input("Введи длину строки ? "))
l = a
a = 1 0):
print(d)
else:
print("Неверная длина строки")
Задача про Чат:
s=str(input())
if s.find('h')
я вот думаю. операторы if и else не были еще объяснены, возможно как-то можно без них найти решение?
@@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])
спасибо большое за труд
"Второе вхождение".
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))
ОГРОМЕННОЕ спасибище!!!!!
# Переставьте слова местами.
s = input()
a = s.split(' ')
print(a[1], a[0], sep=' ')
странно, почему метод rfind возвратил позицию 7, если справа первый символ "о" был на 4-ой позиции. Таймкод 5:48
Спасибули)))
#Defanging an IP Address
s = input()
s1 = s.split('.')
print(s1[0], s1[1], s1[2], s1[3], sep='[.]')
У меня получилось следующее. Задача получила полное решение:
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]
Если было полезно, ставьте лайки))
Излишне усложнено. Решение в 5 строчек.
n = int(input())
letters = input()
ones = letters.count('n')
zeros = letters.count('z')
print('1 '*ones, '0 '*zeros, sep='')
@@AlexKentXIII а просто по условию ввод должен быть, поэтому он есть. Но можно и без него справиться.
Суть решения на словах такая: подсчитать сколько в строке встречается буква 'n' и вывести столько же единиц. Дело в том, что 'n' может встетиться только в слове one. Поэтому сколько 'n' в строке, столько же и единиц нам нужно вывести. А потом тот же самый принцип но с буквой 'z'(тоже встречается только в zero)
@@AlexKentXIII я за 2 месяца вообще задачу подзабыл, но вроде все верно написал, если есть вопросы - спрашивайте
@@AlexKentXIII а какая разница, что буквы о и е встречаются и там и там? В том и смысл взять n и z
@@AlexKentXIII в условии сказано: Гарантируется, что буквы можно переупорядочить таким образом, чтобы они образовывали последовательность слов, каждое из которых является либо словом «zero», что соответствует цифре 0, либо словом «one», что соответствует цифре 1.
Ваши примеры последовательностей букв не подходят под условие. Последовательность zeon не образовывает последовательность слов, каждое из которых либо one либо zero
Карточки))
Ребят, кто шарит, такое решение имеет место быть? Ответ выдается правильный, но мне интересно, насколько верна запись:
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)
Спасибо, хорошо объясняешь
Спасибо за урок!
Не было сказано очень важной вещи о методах r ljust()
1. Указанная ширина ДОЛЖНА быть длиннее длины строки. Например:
а=“hallo” (длинна - 6)
print(a.rjust(6)) (ничего не получиться, результатом вывода будет hallo)
2. Если ширина указана правильно (она длиннее длины строки) текст сместиться не на указанную ширину, а на РАЗНИЦУ между указаной шириной и длинной строки. Например:
а=“hallo” (длинна - 6)
print(a.rjust(7,”0”)) -результатом будет 0hallo
Спасибо, брат. Помог.
бЛАГОДАРЮ!
Первое и последнее вхождение:
a=input()
b=a.find(‘f’)
b1=a.rfind(‘f’,a.find(‘f’)+1)
b1=str(b1)
b1=b1.replace(‘-1’,’’)
print(b,b1)
Да я знаю что можно упростить, но мне нравится так
не совсем верно, ведь если ввсти слово без ф то будет -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)
начал повторять курс и появилось новое решение
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)
Здравствуйте, у меня вопрос насчет метода find. Что мне делать если в строке 3 или более одинаковых символов? С помощью find и rfind можно найти только самый левый и самый правый, и я не вижу никаких способов найти нужный символ посередине кроме как написать еще один find, но начиная с предыдущего индекса+1. Есть ли более удобный способ?
P.S. Огромное спасибо за видео, все очень понятно и быстро
Упражнение на строки
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)
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)
@@jeysot_
Две строчки, ребят, ДВЕ строчки
test=input().lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','')
print ('.'.join(test))
@@FoxShadowSer Тоже так написал, но программа не прошла проверку, так как не соблюдается условие - перед каждой согласной стоит "." В вашем примере после каждой согласной стоит ".", за исключением первой буквы, перед ней должен стоять символ"." Нужно дописать вот так
a=input().lower().replace('a','').replace('o','').replace('y','').replace('e','').replace('u','').replace('i','')
print(a[0:0]+'.'+'.'.join(a),)
@@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)
Задачи "чат" и "первое и последнее вхождение" решаются без ifов?
Очень хорошо, спасибо
Defanging an IP Address
a=input('Введите адрес: ').split('.')
print('[.]'.join(a).replace('address = ', ''))
Пробовал 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()))
Топ