25 Цикл for. Обход списков и строк Python

Поделиться
HTML-код
  • Опубликовано: 20 сен 2024
  • 🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
    stepik.org/cou...
    👉👉👉 Свой вопрос по курсу можешь задать в чате
    t.me/+SlnNhAO7...
    👉👉👉 Также подписывайся на мой телеграмм-канал
    t.me/python_eg...
    egoroffartem.py...
    Цикл for является универсальным итератором последовательностей в языке Python: он может выполнять обход элементов в любых упорядоченных объектах последовательностей.
    Цикл for способен работать со строками, списками, кортежами, с другими встроенными объектами, поддерживающими возможность выполнения итераций.
    egoroffartem.py...
    Подробная информация об этом уроке
    Все видео этого курса можете найти на сайте
    egoroffartem.py...
    или в Вк
    videos-...
    Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
    artem_e...
    python....
    В данном группе можете найти информацию о новых видео и задать вопросы

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

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

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

  • @stkalashik
    @stkalashik 5 лет назад +161

    Смотрю 2 день уроки! Решаю примеры, также сам их себе придумываю. Ни разу не возникло желания бросить. Вот, что значит хороший учитель!

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

      огонь коммент!)

    • @BostonZakim
      @BostonZakim 5 лет назад +40

      ты не горячись, подожди хотя бы месяц :)

    • @a.kov.4965
      @a.kov.4965 4 года назад +20

      И как сейчас результаты? Я с курсов по степику узнал об этом канале. Так там за задачками некоторыми дни трачу. Забросить изучение возникало и не раз.

    • @standvik1159
      @standvik1159 4 года назад +8

      дохуя раз возникло желание бросить

    • @ЕвгенийН-ы4п
      @ЕвгенийН-ы4п 4 года назад +5

      @@a.kov.4965 тоже со степика здесь.... приходится чередовать. Когда там с задачей тупилово возникает - сосредотачиваюсь на этих уроках, потом возвращаюсь назад....как то так...

  • @Happy3Maker
    @Happy3Maker День назад

    Сколько ни смотрел других, чтобы просто расширить кругозор и может еще инфы добавить по теме, всегда возвращаюсь к этому автору)
    Без всяких Ээээээ, Ммммм и другой воды, с нормальным звуком, и скоростью печати, когда не хочется включать х1.5 или х2... Спасибо большое!

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

    Учиться Питону с Вами - просто и интересно!!!

  • @yurigorohov9575
    @yurigorohov9575 2 года назад +5

    информативность в видео зашкаливает, без воды, отлично объясняете, спасибо

  • @andreiviltouski2390
    @andreiviltouski2390 3 года назад +12

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

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

    большое спасибо за твои уроки, даёшь действительно интересные и полезные примеры того, как работает цикл for

  • @freshmoney9217
    @freshmoney9217 4 года назад +6

    Ну наконец то достойное обьяснение сложным вещам! Блогеры только на подписоту работают ничего обьяснить не могут))) четко обьясняешь

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

      Лично я пересмотрел 5 уроков уже по этому for, и ничего не понял что да как. Зачем создавать переменную, и вообще как это он создал переменную без типа данных, и после for?

    • @ШавкатБахтияров-л8б
      @ШавкатБахтияров-л8б 3 месяца назад

      @@eugenijx мужик хороший вопрос, я тоже так и не понял зачем и откуда эта переменная)

  • @Дианка-р5у
    @Дианка-р5у 5 лет назад +19

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

  • @БогданБогдан-р6ж
    @БогданБогдан-р6ж 4 года назад +8

    Шикарно объясняешь, и примеры отличные, красава, жги дальше!)

  • @Курск-г2ч
    @Курск-г2ч Год назад +2

    Следующий раунд
    n,k=map(int,input().split())
    a=map(int,input().split())
    a=list(a)
    s=[]
    for i in range (n):
    if a[i]>=a[k-1] and a[i]>0: # если балы участника больше или равно участника занявшего место К и больше нуля
    s.append(a[i]) # закидываем баллы в новый список
    print(len(s)) # подсчитываем количество участников в списке

  • @msg4985
    @msg4985 3 года назад +5

    Очень интересно смотреть и при этом всё понятно

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

    Спасибо тебе, Дружище! )

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

    Артём, благодарю! 👍🤝🔥

  • @W000lf
    @W000lf 3 года назад +5

    решил и попробывал сделать сам со списком до того, как ты сказал и вот что получилось у меня. В принципе то же самое, но смысл городить лишнюю переменную?
    a=[43,44,10,25,12,100]
    for i in range(len(a)):
    print(i, a[i])

  • @rehebtm4264
    @rehebtm4264 3 месяца назад

    Учу на степике, но какие то моменты не понимаю, нашел тебя, материал огонь 🔥 спасибо

  • @ИНТЕР.КОМ
    @ИНТЕР.КОМ 4 года назад +5

    Упражнение на строки:
    a=input()
    a=a.lower()
    b=len(a)
    c=[]
    vowels='aeiou'
    for i in range(b) :
    if a[i] not in vowels :
    c.append('.'+a[i])
    print(''.join(c))

    • @ШавкатБахтияров-л8б
      @ШавкатБахтияров-л8б 3 месяца назад

      а вы здесь используете метод join чтобы сообщение которое выведится не выглядело как список?

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

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

  • @СергейКондулуков-з9ч

    Очень интересно. Оказывается цикл for работает не только с числами но и строками и списками.

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

    Еще немного напрягает определение нижнего и верхнего регистра, ведь можно сделать как цифры методом .isdigit(), только .islower() и .isupper() для строк.
    Пример:
    >s='helLo WOrld'
    >for i in s:
    > if i.islower():
    > print(i, 'small')
    > elif i.isupper():
    > print(i, 'big')
    > else:
    > print(i)

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

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

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

    Есть комбинированный вариант (по значениям и по индексам одновременно) без range(), часто его использую в местах где нужен доступ к индексам, но не хочется работать с ними "вслепую" - зовется enumerate(). Вывод примеров (ниже) будет идентичен обходу по индексам, но при этом код выглядит чище. И на грабли сложнее наступить т.к. нет прямого доступа к манипулированию индексами.
    Пример 1:
    >items = [43, 65, 3, 43, 3, 54, 3]
    >for i, item in enumerate(items):
    > print(i, item)
    >print(items)
    Пример 2 (правда распаковка пока не объяснялась, просто показываю как еще можно):
    >a = [43, 65, 3, 43, 3, 54, 3]
    >for i in enumerate(a):
    > print(*i)
    >print(a)

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

      эту функцию я для отдельного видео решил оставить)

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

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

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

    Праздник равенства:
    allmoneys = list(map(int,input().split()))
    maxnum = max(allmoneys)
    count = 0
    for i in allmoneys:
    count += maxnum - i
    print(count)

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

    спасибо большое за ролик, мне с задачкой одной очень помогло в понимании

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

    Какой же классный курс, как все разжевывают, просто космос +++

  • @tsvetankichouk
    @tsvetankichouk 7 месяцев назад

    Просто красавчик!!!

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

    Приятный голос у тебя),ставьте чуваку лайки,он заслуживает:)!!!

  • @АлександрСероглазов-в3й

    понятно и кратко, то что нужно! Огромное спасибо!

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

    Выбор команд:
    CountOfPlay = int(input(' '))
    plays = list(map(int, input(' ').split()))
    canplayersplay = []
    for i in range(len(plays)):
    if plays[i] + CountOfPlay

  • @Daz-vx9ki
    @Daz-vx9ki 5 месяцев назад

    37A - Башни:
    n = int(input())
    a = list(map(int, input().split()))
    b = [] # список без дублей, определяет кол-во башен
    x = 1 # временный счетчик, для сравнения с постоянным
    c = 1 # постоянный счетчик высоты.
    for i in a:
    if i not in b:
    b.append(i)
    elif i in b:
    x = a.count(i)
    if x > c:
    c = x
    print(c, len(b))

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

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

  • @Anon-es1xj
    @Anon-es1xj 4 года назад +3

    Отличный учитель.

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

    0:16 с помощью фор обходить будем списки и строки
    0:27 пример
    2:05 пример с увеличением i
    3:00 сама переменная i не изменяет объект
    3:08

    • @lvvovich
      @lvvovich 2 года назад +2

      Устал писать после 3-х минут?

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

    9:40 результат не правильный в первом списке 5 это не четное число, также как и во втором списке присутствует 8 а она четная. Также у себя в пайчарме проверил, также выдает некорректный ответ. В команде chet.append(i) ошибка, надо chet.append(a[i]) также и necht.append(a[i])

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

    На задаче 136А споткнулся на целых 3 часа. Минут сорок бился сам, потом нашел два готовых решения на ютубе(русский с решением настолько непонятным, что один в один индус, и араб, который реально все разжевал, но чье решение мне тоже не слишком понравилось, так как я хотел по порядку заполнять, а у него была хитрая схема). И вот, 5 часов утра, я наконец придумал свое решение и лежу довольный как слон

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

    Важное замечание (может об этом дальше упоминается, но я еще не смотрел).
    В переменную i значения сохраняются только при работе с "примитивами" (int, float и т.д.). Если работать с объектами, то туда будет сохраняться ссылка. Вот пример:
    some_list = [[1], [2], [3], [4], [5]]
    for i in some_list:
    i[0] += 1
    print(some_list)
    В итоге, все значения буду модифицированы. Вывод в консоль:
    [[2], [3], [4], [5], [6]]

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

    в обходе по значению тоже можно менять список: for i in a: a[a.index(i)] +=5

  • @ИНТЕР.КОМ
    @ИНТЕР.КОМ 4 года назад +1

    Замок
    a=str(input())
    b=str(input())
    vsego=0
    for i in range(len(a)) :
    c=int(a[i])
    d=int(b[i])
    if abs(c-d)>5 :
    vsego=vsego+10-abs(c-d)
    else :
    vsego=vsego+abs(c-d)
    print(vsego)

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

    Очень крутой уроки спасибо за урок

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

    Отличный урок!

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

    Мои решения задач урока:
    Удалить Каждый Третий Символ:
    a = input()
    b = ''
    for i in range(len(a)):
    if i % 3 != 0:
    b = b + a[i]
    print(b)
    Полицейские-рекруты:
    n = int(input())
    a = map(int, input().split())
    a = list(a)
    freePolice = 0
    unsolvedCrime = 0
    for i in range(n):
    if a[i] > 0:
    freePolice = freePolice + a[i]
    if unsolvedCrime > 0:
    unsolvedCrime = unsolvedCrime
    if a[i] < 0:
    if freePolice 0:
    freePolice = freePolice - 1
    print(unsolvedCrime)
    I_love_%username%:
    n = int(input())
    a = map(int, input().split())
    a = list(a)
    a1 = [a[0]]
    amazing = 0
    minNumber = a[0]
    maxNumber = a[0]
    for i in range(n - 1):
    a1.append(a[i + 1])
    if a[i + 1] == max(a1) and maxNumber != a[i + 1] or a[i + 1] == min(a1) and minNumber != a[i + 1]:
    amazing = amazing + 1
    if a[i + 1] == max(a1):
    maxNumber = a[i + 1]
    elif a[i + 1] == min(a1):
    minNumber = a[i + 1]
    print(amazing)
    Следующий раунд:
    n, k = map(int, input().split())
    a = map(int, input().split())
    a = list(a)
    b = []
    c = 0
    for i in range(n):
    if a[i] >= a[k - 1] and a[0] > 0 and a[i] != 0:
    b.append(a[i])
    c = len(b)
    if c > 0:
    print(c)
    else:
    print(0)
    Праздник равенства:
    n = int(input())
    a = map(int, input().split())
    a = list(a)
    b = max(a)
    total = 0
    for i in range(n):
    if a[i] != b:
    total = total + b - a[i]
    else:
    total = total
    print(total)
    Упражнение на строки:
    n = input()
    a = 'aoyeui'
    total = ''
    for i in range(len(n)):
    if n[i].lower() in a:
    total = '' + total
    else:
    total = total + '.' + n[i].lower()
    print(total)
    Не Смешите Мои Подковы:
    s = map(int, input().split())
    s = list(s)
    s.sort()
    a = []
    for i in s:
    if i not in a:
    a.append(i)
    a = len(a)
    new = 4 - a
    print(new)
    Напитки:
    n = int(input())
    p = map(int, input().split())
    a = 0
    for i in p:
    a = a + i / n
    print(a)
    Выбор Команд:
    n, k = map(int, input().split())
    y = map(int, input().split())
    y = list(y)
    a = []
    for i in range(n):
    if int(y[i]) + k = 1:
    print(len(a) // 3)
    else:
    print(0)
    Быстрый Математик:
    a = input()
    b = input()
    c = ''
    for i in range(len(a)):
    if a[i] == b[i]:
    c = c + '0'
    else:
    c = c + '1'
    print(c)

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

      Вопрос по решению задачи _love_%username%:
      Если кто объяснит буду признателен! Почему range(n-1) и далее по коду a[ i+1] никак не могу уловить суть. Конечно можно было переписать, и надеяться, что дальше пойму. Но все таки хотелось сразу разобраться.

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

      более лайтовый вариант полицейских-рекрутов:
      kol=int(input())
      a=map(int,input().split())
      a=list(a)
      x=0 #число свободных полицейских
      z=0 #число нераскрытых преступлений
      for i in range(kol):
      x=x+a[i]
      if x

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

    задача Напитки :
    x = list(map(int,input("juice : ").split()))
    y = len(x)
    water = 0
    juice = 0
    for i in range(y):
    water = water +100
    juice +=x[i]
    print(juice/water*100)

  • @evgeniiustinov1773
    @evgeniiustinov1773 5 лет назад +4

    9.15
    a = [45,35,324,2,10,45,35,67]
    chet = []
    nechet = []
    for i in a:
    if i%2 == 0:
    chet.append(i)
    else:
    nechet.append(i)
    print(chet)
    print(nechet)
    А разве так нельзя?

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

    Пожалуйста добавляйте под видео сразу код, а то сохраняю Ваши примеры в отдельный файл потом скриншотами, Спасибо!

  • @AleksandrIsaenko-h4j
    @AleksandrIsaenko-h4j 4 года назад +1

    Спасибо

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

    6 / Тренування Єгора
    ______________________
    n=int(input())
    a=list(map(int,input().split()))
    chest=0
    bic=0
    back=0
    for i in range(n):
    if (i+1)%3==1:
    chest+=a[i]
    elif (i+1)%3==2:
    bic+=a[i]
    else:
    back+=a[i]
    if chest>bic and chest>back:
    print('chest')
    elif bic>chest and bic>back:
    print('biceps')
    else:
    print('back')

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

    9 / Напитки
    ____________
    n=int(input())
    a=list(map(int,input().split()))
    x=0
    for i in range(n):
    x+=a[i]/100
    c=(x/n)*100
    print(round(c,12))

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

    4 / Next round
    ______________________________
    n,k=list(map(int,input().split()))
    a=list(map(int,input().split()))
    x=0
    l=a[k-1]
    if l=l:
    x+=1
    if x>0:
    print(x)

  • @user-dz9ds8go6h
    @user-dz9ds8go6h 2 года назад

    спасибо,очень помогло

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

    10 / вибір команд
    ___________________
    n,k=list(map(int,input().split()))
    a=list(map(int,input().split()))
    x=0
    for i in range(n):
    if a[i]+k

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

    13 задача
    ____________
    n,h=map(int,input().split())
    a=list(map(int,input().split()))
    x=0
    for i in range(n):
    if a[i]>h:
    x+=2
    else:
    x+=1
    print(x)

  • @ПетрБудников-х5о
    @ПетрБудников-х5о 6 лет назад +1

    спасибо за видео

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

    5 / Празник рівності
    _____________________
    n=int(input())
    a=list(map(int,input().split()))
    x=0
    for i in range(n):
    if a[i]

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

    👏👍

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

    11 задача
    ___________
    n=list(map(int,input().split()))
    x=[]
    for i in range(len(n)):
    if i%2!=1:
    for l in range(n[i]):
    x.append(n[i+1])
    print(x)

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

    Подскажите пожалуйста момент на 6.33. Почему когда выводим первым принтом (i, a[i]) и после к каждому значению списка "а" прибавляем 5, при финальном выводе плюсуется пятерка только к горизонтальному выражению? Цикл же повторяется 6 раз для print( i, a[ i ] ) и после значение списка увеличивается на 5, после опять выводится... т.е. должно быть 43,70,8,48,8,59,81

  • @ВадимКовтун-р4е
    @ВадимКовтун-р4е 2 года назад

    👍

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

    Добрый день. Смотрю Ваши уроки, у меня такой вопрос, можно ли запихнуть в цикл for 2 списка
    списки с датами и временем, то есть список start и end, после чего проверить их на пересечение между собой ?

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

    Следующий раунд:
    n,k = map(int,input().split())
    a = list(map(int, input().split()))
    count=0
    for i in range(len(a)):
    if a[i]>=a[k-1] and a[i]>0:
    count+=1
    print(count)

    • @АнтонМеренков-р6я
      @АнтонМеренков-р6я 4 года назад

      Евгений, а для чего необходимо a[k - 1]? Почему не a[k]?

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

      @@АнтонМеренков-р6я так Вы попробовали бы и сами бы поняли :)
      Т.к. в питоне нумерация индексов начинается с нуля, нужно проверять k-1, т.е. не с единицы, а с нуля. Например с входными данными:
      5 5
      6 4 3 2 1
      будет проверяться условие a[i]>=a[5] and a[i]>0, при этом возникнет ошибка - выход за предел списка, т.к. в списке [a] нет значения с индексом 5. a[0]==6, a[1]==4, a[2]==3, a[3]==2, a[4]==1, a[5] не существует.
      Не знаю как объяснить понятнее.

    • @АнтонМеренков-р6я
      @АнтонМеренков-р6я 4 года назад

      @@COMBINATORS спасибо! Все предельно ясно. Оплошность с моей стороны, конечно:)

    • @АндрейДанилов-ю5э
      @АндрейДанилов-ю5э 4 года назад

      Задача проверку не проходит

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

      @@АндрейДанилов-ю5э проходит

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

    непонятно почему при проверке в строке на маленькую/большую букву не говорится что таким образом можно пробежаться по алфавиту ('a'

  • @АндрейП-ъ7ь
    @АндрейП-ъ7ь 4 года назад

    Артем как сделать проверку значений на четность из списка 5000 -10000 значений следующим образом.
    А=[1,5,8,4,4,2,9,7,1,0,3,8,9,1,6,9,0,0,6,9,8,2,0,1,1,9,9,8,4,2,1,6,8,9,7,2,1,3…..]
    обход начинается с 10 индекса … 1 2 3 4 5 6 7 8 9 10 l 11 12 13 14 15 16 17 18 19 20
    а10 ( 3 ) сравниваем с а11 ( 8) - не совпало по четности
    а9 ( т.е. а10-1) сравниваем с а12 - не совпало по четности
    а12 сравниваем с а13 не совпало по четности
    а7 (т.е. а10-3) сравниваем с а14 не совпало по четности
    а14 сравниваем с а15 не совпало по четности
    а5 (т.е.а10-5) сравниваем с а16 не совпало по четности
    а16 сравниваем с а17 не совпало по четности
    а3 т.е. (10-7) сравниваем с а18
    условно прошло совпадение , цикл пошел заново c
    а18 сравниваем с а19 не совпало по четности
    а17 ( 18- 1 ) сравниваем с а20 ,,,,,, пока не совпадет, и после выводит индекс первого числа на интервале которого произошло более 5 не совпадений только те совпадения

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

      я ничего не понял из этого большого текста

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

    Задача Башни
    N=int(input())
    l=list(map(int,input().split()))
    d=[]
    h=1
    count=0
    for i in range(len(l)):
    if l[i] not in d:
    count+=1
    else:
    h+=1
    d.append(l[i])
    print(h,count, sep=' ')
    ошибка на 6-ом тесте. Вижу, где она. нужна дополнительная проверка количества одинаковых чисел в списке d после else:
    Но что-то не понимаю, как реализовать. Опять через for in?

  • @УалиБулатов
    @УалиБулатов 2 года назад

    Спасибо вам большое за уроки. Одно только иногда не понятно, где они применяются???

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

    Что не так в коде?
    Задача I_love_%username%
    n = int(input('enter h mc matches in general: '))
    for i in range(n+1):
    b = int(input('scores: '))
    n = [b]
    if n[i] and n[i+1]:
    e = max(n[i], n[i+1])
    print(e)

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

      1.зачем вводить баллы в цикле, когда требуется, чтобы пользователь вводил все числа через пробел? нужно взять и перед циклом в новую переменную засунуть все баллы (дать это сделать пользователю. через пробел), и потом сделать из него список ("переменная"=list("переменная")).
      2.с range тоже беда. счёт ведётся с нуля. выйдет за рамки диапазона это ваше for. вместо n+1 нужно записать туда n. или начать с 1.
      3. что мы ищем? количество "удивительных" результатов, т.е. результатов, выходящих за рамки диапазона. нужна переменная-счётчик. ещё для удобства нужно перед циклом добавить две переменные, одна из которых будет максимальным числом, другая - минимальным, и обнулить их
      4. в цикле, если i не равно нулю (в задаче говорится, что первый результат - а для программистов это нулевой - не "удивительный"), если число в списке больше максимума, приравниваем число к максимуму + используем переменную счётчик (типа "переменная"="переменная"+1). если меньше минимума, то приравниваем к минимуму + опять к счётчику +1.
      5. в конце после цикла вводим пользователю число в счётчике - количество "удивительных" результатов.
      как-то так))

  • @НикитаБоксов
    @НикитаБоксов 4 года назад

    Задача 16.
    Неправильный ответ на тесте 9.
    Всю голову сломал, нет идей что у меня не так:
    n = int(input())
    z = 1
    b = []
    result = []
    for i in range(n):
    h, m = map(str,input().split())
    b.append((h+m))
    z = b.count((h+m))
    result.append(z)
    print(max(result))

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

      после результатов был подсказ, что типа если два клиента приходит одновременно, у них обоих должна быть свободная касса. 2 клиента - 2 свободные кассы. совпадение часов и минут, все дела. для этого у h и m должны быть свои отдельные списки

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

    Police:
    __________________
    a=int(input())
    b=list(map(int,input().split()))
    pol=0
    x=0
    for i in range(a):
    if b[i]>0:
    pol+=b[i]
    else:
    if pol

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

    я вот так написал и не надо прибавлять еденицу
    a=[1,1,2,2,3,4,4,68,99,33,11]
    chet = []
    nechet = []
    for i in a:
    if i % 2 == 0:
    chet.append(i)
    else:
    nechet.append(i)
    print(chet)
    print(nechet)

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

    12 / Швидкий математик
    __________________________
    n=input()
    m=input()
    for i in range(len(n)):
    if int(n[i])!=int(m[i]):
    print(1,end='')
    else:
    print(0,end='')

  • @nomionz4150
    @nomionz4150 5 лет назад

    На гитхабе нашел такое решение задачи 155А, чтобы проверить со своим
    n = int(input())
    p = list(map(int, input().split()))
    print(sum(1 for i in range(1, n) if max(p[:i]) < p[i] or min(p[:i]) > p[i]))
    Я пытался найти информацию, но видимо я очень плохо ищу. У меня есть вопросик. Если вместо 1 перед for поставить 2, то конечный результат удвоится, а если 3 то утроится. Это же должна быть сумма, но почему получается умножение? Иии я удивился, что такая запись возвращает не элемент списка, но я думаю, это сам когда-нибудь пойму)))

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

    Тренировки Егора. У меня лютейшая дичь получилась, может кто сделал на много проще?
    n= int(input())
    a = list(map(int, input().split()))
    count=1
    chest,biceps,back=0,0,0
    for i in range(len(a)):
    if count==1:
    chest+=a[i]
    count+=1
    elif count==2:
    biceps+=a[i]
    count += 1
    elif count==3:
    back+=a[i]
    count =1
    if chest > biceps > back:
    print('chest')
    if biceps > chest > back:
    print('biceps')
    if back > chest > biceps:
    print('back')

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

      Я не знаю, как короче. Есть вопрос, зачем писать chest+=a[i] если можно написать chest+=i или я что-то не понимаю...
      ведь a[i] это будет индекс числа, а не число

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

      @@NikolaiKim a[i] будет числом в данном случае, а просто i - индекс. А так как нам не индексы складывать нужно, а общее число повторений для каждой группы мышц, то и берем a[i], то есть значение из списка по индексу [i].

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

      @@COMBINATORS спасибо

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

      Твой ответ правильный только до 3 ввода.
      Вот правильный:
      n=int(input())
      a=list(map(int,input().split()))
      count=1
      c=[] #chest
      f=[] #biceps
      h=[] #back
      for i in range(len(a)):
      if i%3==0:
      c.append(a[i])
      elif i%3==1:
      f.append(a[i])
      elif i%3==2:
      h.append(a[i])
      if sum(h)sum(f):
      print('chest')
      elif sum(h)sum(c):
      print('biceps')
      else:
      print('back')

  • @РомаРоманов-ь5с
    @РомаРоманов-ь5с 3 года назад

    На 9:20 ошибка! В списки chet и nechet добавляются значения переменной i а не элементы списка a. Поэтому у тебя и чётные и нечётные есть и там и там))

    • @РомаРоманов-ь5с
      @РомаРоманов-ь5с 3 года назад

      Исправил:
      a = [ 1,2,3,4,32,4,5,3,5 ]
      chet = [ ]
      nechet = [ ]
      for i in range ( len ( a )):
      if a [ i ] % 2 == 0:
      chet.append( a [ i ] )
      else:
      nechet.append( a [ i ] )
      print ( chet )
      print ( nechet )

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

      а ничего что я индексы элементов добавляю?)

    • @РомаРоманов-ь5с
      @РомаРоманов-ь5с 3 года назад +1

      @@egoroffchannel , блин всё перепутал... я думал мы элементы списка делим на чётные и нечётные и складываем в переменные chet и nechet, а оказалось что индексы складываем. Пардон)) Я перезанимался, надо перерыв сделать))

  • @Руки-Крюки-е1т
    @Руки-Крюки-е1т 2 года назад

    Здравствуйте,подскажите почему вы называете переменную i - иты? Ведь в английском языке это буква (ай)

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

    Всё классно, но "Y" - тоже гласная

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

      почти

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

      @@balamski7954 почти беременная - это 'да' или 'нет'?

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

      @@osvab000 есть слово yesterday, и есть слово gym.

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

      @@osvab000 но справедливости ради, в задаче "Упражнение на строки" всё-таки указывается, что y - гласная.

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

    Здравствуйте! Вроде бы понятно, но не до конца.. Например, есть список [0, 1, 2, 3, 4, 5, 6], в котором нужно переставить элементы местами так, чтобы менялись местами элементы с индексами 0 и 1, 2 и 3 и т.д. Если кол-во элементов в списке нечетное, то последний элемент должен остаться на своем месте.
    Пишу:
    a = [0, 1, 2, 3, 4, 5, 6]
    i = 0
    for i in range(len(a) // 2):
    a[i], a[i + 1] = a[i + 1], a[i]
    i += 2
    print(a)
    Получаю результат: [1, 2, 3, 0, 4, 5, 6], а должен быть [1, 0 , 3, 2, 5, 4, 6]. Не могу никак понять, что делаю не так.. Гуру питона, подскажите, пожалуйста, новичку

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

      Подсказка: строчка i+=2 здесь ничего не значит

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

      @@egoroffchannel, можете подсказать, пожалуйста, как тогда правильно задать шаг индекса в данном случае, чтобы работало, как ожидается? Понимаю, что задача элементарная, но уже не первый день ищу информацию, которая поможет разобраться. В ваших видео все доступно изложено, но конкретно с этой задачей возникает проблема..

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

      @@olyaivanova833 видео про range у меня посмотрите

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

      @@egoroffchannel кажется, разобралась наконец) спасибо) сделала так:
      a = [0,1,2,3,4]
      n = len(a) - 1
      for i in range(0, n, 2):
      a[i], a[i + 1] = a[i + 1], a[i]
      print(a)
      Результат получаю ожидаемый

  • @евгенийклевцов-к1у
    @евгенийклевцов-к1у 2 года назад

    Полицейские-рекруты
    c=int(input())
    a=list(map(int,input().split()))
    q=0
    b=[]
    for i in a:
    q=q+i
    if q

  • @user-nz8xv1xp1h
    @user-nz8xv1xp1h 5 лет назад +1

    Подскажите плиз, как суммировать соседние элементы списка, и вывести их в отдельный список?

    • @Руки-Крюки-е1т
      @Руки-Крюки-е1т 2 года назад

      Стало интересно решить эту задачку,скорее всего она уже вам не нужна,но всё же я выложу здесь своё решение))
      a = [1,2,3,4,5,6,7,8,9]
      n = len(a)
      spisok = []
      for i in range(n-1):
      spisok.append (a[i]+a[i+1])
      print(spisok)

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

    11:14

  • @Ilya-dr5el4sz9f
    @Ilya-dr5el4sz9f 4 года назад

    Подскажите как можно уменьшить этот код? на выходе должно выходить ['one', 'two', 1, 2, 3]
    l=[]
    a=('one','two',[1,2,3])
    l.append(a[0])
    l.append(a[1])
    for i in a[2]:
    l.append(i)
    print(l)

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

      l=[]
      a=('one','two',[1,2,3])
      for i in a:
      if type(i)==list:
      l.extend(i)
      else:
      l.append(i)
      print(l)

  • @СергейНазаров-т3ш
    @СергейНазаров-т3ш 3 года назад

    Праздник Равенства ☭
    Решил как-то так)
    a=int(input("Введите количество жителей:"))
    c=[]
    s=0
    for i in range(a):
    b=int(input("Введите благосостояние жителей:"))
    c.append(b)
    m=max(c)
    for i in c:
    s=s+m-i
    print(s)

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

    А зачем создавай еще одну переменную, если len(a) можно записать в range??

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

      я посчитал, что в примере, где рассматривается обращение к соседним элементам, использование побочной переменной более наглядно. А так, конечно и без нее можно обойтись

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

    Коллеги, вопрос по задаче 14 (башни). Не отрабатывает сценарий, если ввести тупо 0, если введу 2 нуля, то все ок.
    Ссылка: github.com/FreeToKyle/PythonSyntax/blob/main/CodeForce

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

      print("Error") эта строчка вообще не нужна
      а так, вам надо найти какое максимальное количество подряд идет одинаковых чисел - это самая высокая башня, и сколько всего разных чисел - это количество башен

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

    редактирую текст в pycharm и команда count выдает ошибку

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

    Задача 2: Полицейские-рекруты
    f = int(input())
    crime=0
    cops=0
    s=list(map(int,input().split()))
    if s[0]0:
    cops = cops + s[i + 1]
    else:
    if cops+s[i + 1]>0:
    cops = cops + s[i + 1]
    else:
    crime = crime + (cops + s[i + 1])
    cops = 0
    print(crime*-1)
    Задача 3: I_love_%username%
    n = int(input())
    x = list(map(int,input().split()))
    Wonderful=[]
    if x[1]!=x[0]:
    Wonderful.append(x[0])
    Wonderful.append(x[1])
    for i in range(n-2):
    if x[i+2]>max(Wonderful) or x[i+2]

  • @МатвейЛ-х6п
    @МатвейЛ-х6п 4 года назад

    Здравствуйте, возможно ли при a = list(map(int, input().split())) команде (ввожу какое-то число n(1122),) реализовать [1,1,2,2]-разбить число в списке по разрядам. Это реально?

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

      вводишь строку, и тут 2 варианта
      1) превращаешь ее в список и потом при помощи map каждый элемент списка в число
      2) генератором списка проходишься по элементам строки и превращаешь в число

    • @МатвейЛ-х6п
      @МатвейЛ-х6п 4 года назад

      @@egoroffchannel , благодарю

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

    Здравствуйте, может кто подскажет где я допускаю ошибку, уже 2й день прыгаю по форумам не могу ничего подобного найти. Создаю список с поочередным вводом значений, а на выходе при попытке перемножить вместо искомого получается дублирование чисел... q=input()
    w=input()
    e=input()
    a=[q, w, e]
    a.sort()
    print(a)
    for x in a:
    x=x*7
    print(x)

  • @БогданКоваль-о3д
    @БогданКоваль-о3д 3 года назад

    А как комментироваться сразу много строк? У меня при выделении всех строки и их комментирования, они сразу же пропадают.

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

    топ

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

    Удалить каждый третий символ:
    s = input()
    s1 = ''
    for i in range(len(s)):
    if i%3 != 0:
    s1 += s[i]
    print(s1)

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

      Полицейские-рекруты:
      n = int(input())
      s = map(int, input().split())
      p, count = 0, 0
      for i in s:
      p += i
      if p < 0:
      count += 1
      p = 0
      print(count)

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

      I_love_%username%:
      n = int(input())
      b = map(int, input().split())
      count = 0
      bmin, bmax = 10001, -1
      for i in b:
      if i > bmax:
      bmax = i
      count += 1
      if i < bmin:
      bmin = i
      count += 1
      print(count - 2)

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

      I_love_%username%:
      n = int(input())
      b = list(map(int, input().split()))
      count = 0
      bmin, bmax = b[0], b[0]
      for i in b:
      if i > bmax:
      bmax = i
      count += 1
      if i < bmin:
      bmin = i
      count += 1
      print(count)

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

      Следующий раунд:
      n, k = map(int, input().split())
      a = list(map(int, input().split()))
      count = 0
      for i in a:
      if i >= a[k - 1] and i > 0:
      count += 1
      print(count)

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

      Праздник равенства:
      n = int(input())
      a = list(map(int, input().split()))
      max, sum = 0, 0
      for i in a:
      if i > max:
      max = i
      sum += i
      print(max * len(a) - sum)

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

    Во втором уроке, (вывод Empty) если список пустой. Можно использовать обработчик ошибок. Возможно можно было сразу сказать об этом в видео. Вот код:
    a = input().split() # вводим строку и разбиваем по пробелам
    n = len(a) # длинна строки
    b = [] # пустой список
    for i in range (n): # в цикле по длине строки проверяем что число > 0 и добавляем его в новый список
    if int(a[i])>0:
    b.append(int(a[i]))
    try:
    print (min(b)) # выводим минимальное значение из списка
    except ValueError:
    print('Empty') # если у нас ошибка (список пустой), перехватываем ее и выводим Empty

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

    не смешите мои подковы
    s=map(int, input().split())
    s=list(s)
    z=[]

    for i in s:
    if i not in z:
    z.append(i)
    c=4-len(z)
    print(c)

  • @СтаниславНикитенко-п2к

    Ребят может кто делал задачу A. Полицейские-рекруты, поделитесь решениями.
    я сделал вот так, тесты на сайте все проходит но n не куда не привязывал и не проверял сходится она с дальнейшим вводом или нет)
    n = int(input())
    a = list(map(int, input().split()))
    prestuplenie = 0
    policai = 0
    for i in a:
    if i < 0 and policai 0:
    policai -= 1
    elif i > 0:
    policai += i
    print(prestuplenie)

    • @lex-un-der
      @lex-un-der 4 года назад

      Друг вот что вышло у меня:
      n=int(input())
      s=0
      p=0
      a=list(map(int,input().strip().split()))
      while len(a)>n:
      a.pop()
      for i in a:
      if i>0:
      p+=1
      elif i0:
      s=s
      p=p-1
      elif i0:
      print('0')
      else:
      print(abs(s))

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

      Вот тебе рабочий вариант:
      n=int(input())
      a=list(map(int,input().split()))
      vori=0
      police=0
      for i in range(n):
      if a[i]0:

      police=police+a[i]
      elif police0:
      police=police+a[i]

      print(abs(vori))

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

    Зачем тут нужна переменная "n" n = len(a) ?
    a = [1,2,3,4,32,4,5,3,5]
    chet = []
    nechet = []
    n = len(a)
    for i in range(n):
    if a[i]%2==0:
    chet.append(i)
    else:
    nechet.append(i)
    print(chet)
    print(nechet)

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

      чтоб цикл шел от начала до конца списка. функция len() возвращает длину

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

      @@leta5163 спасибо!

  • @Токсичный-р5ф
    @Токсичный-р5ф 4 года назад

    Где найти больше практики?уроков?

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

    подскажите пожалуйста, как вводить динамическое количество значений.
    Например
    x = int(input()) - икс может быть любым значением. от икса зависит сколько значений я должен ввести дальше.
    я знаю только одну такую команду
    a, b, c = map(int, input().split()) - но количество вводных (a,b,c) статично.
    я говорю об этой задаче. codeforces.com/problemset/problem/200/B
    P.s. сорян если задаю совсем тупой вопрос. может быть хотя бы объясните ( можно с матами ) как воспринимать и описывать эти вводные в коде.

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

      a = list(map(int, input().split()))
      все, что ты ведешь, сохраниться списком в в переменную a

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

      @@egoroffchannel Как всегда все элементарно xD Спасибо.

  • @playingJokerx
    @playingJokerx 8 месяцев назад

    9:44 ошибка!

  • @БогданЩебетин
    @БогданЩебетин 2 года назад

    Никто не заметил, что в четных и не четных появились новые числа, а старые затерлись, что в четных оказалась 5, а не четных 8.
    Ведь нужно не .append(i + 1), а .append(a[i]).
    for i in range(len(a)):
    if a[i] % 2 == 0:
    chet.append(a[i])
    else:
    ne_chet.append(a[i])

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

    Кто подскажет? А как можно вводить список СЛОВ с клавиатуры?

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

      words = input('Введите слова, разделяя их пробелом: ')
      print(words.split(' ')) # заменяя символ в одинарных кавычках, можно менять разделитесь ввода

  • @БактыгульКазакбаева-и6э

    цифра 8 счетный ж?

  • @ДжонниБанан
    @ДжонниБанан 4 года назад

    +

  • @СергейТихомиров-ц5й

    я один обратил внимание, что в примере с четными и нечетными числами ошибка в выводе? ruclips.net/video/iopPsTT7Pes/видео.html не вывелось 32 и получилась 5 в четных.