Python для начинающих. Урок 11 | Списки

Поделиться
HTML-код
  • Опубликовано: 10 ноя 2024
  • Сегодня начнем изучать списки в Python. Узнаем как они хранятся в памяти и поговорим о способах создания списков, а также о генераторах списка.
    ------
    Наш чат: t.me/+EscIrZ6Y...
    ------
    Telegram: t.me/plugar_inf
    Группа в ВК: plugar_inf
    Rutube: rutube.ru/chan...
    ------
    Не забываем подписываться!
    #python #начинающим #ityoutubersru

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

  • @plugar_inf
    @plugar_inf  Год назад +24

    Домашнее задание:
    I)
    Написать программу, создающую список из введенной пользователем строки цифр (без пробелов). Вывести все элементы строки, которые имеют нечетные индексы.
    II)
    Напишите программу, которая получает на вход натуральное число. Создать и вывести список, заполненный квадратами четных чисел, делящихся на 5, от 1 до введенного числа.
    III)
    Написать программу, определяющую является ли введенный номер билета - "счастливым".
    Билет называют «счастливым», если в его номере сумма первых трех цифр равна сумме последних трех.
    Номер билета может быть от 000000 до 999999.

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

      1)
      x = list(input("Введите строку цифр без пробелов: "))
      for i in range(len(x)):
      if i % 2 != 0:
      print(x[i])
      2)
      a = int(input('Введите число: '))
      spisok = [i ** 2 for i in range(0, a + 1, 2) if i % 5 == 0]
      print(spisok)
      (теоретически ее можно решить и с использованием метода append)
      for i in range(1, a + 1):
      if i % 2 == 0 and i % 5 == 0:
      spisok.append(i ** 2)
      3)
      x = input("Введите номер билета (от 000000 до 999999): ")
      y = [int(y) for y in str(x)]
      s1 = sum(y[:3])
      s2 = sum(y[3:])
      if len(y) != 6:
      print('Введен неверный формат билета')
      else:
      if s1 == s2:
      print('У вас счастливый билет')
      else:
      print('У вас несчастливый билет')
      Если без функции sum, то после else:
      for i in y[0:3]:
      s1 += int(i)
      for i in y[3:]:
      s2 += int(i)

    • @Bespectacled_0.o
      @Bespectacled_0.o Год назад +3

      1)
      pol = list(input('Write number:'))
      print(pol[1::2])
      2)
      num = int(input('Write a number:'))
      sp= [i**2 for i in range(1,num+1)if i%2==0 and i%5==0]
      print(sp)
      3)
      Сам решение придумать не смог, подсмотрел его у пользователя сверху и разобрал чтобы понять, и думаю это идеальное решение, хоть и понял принцип не смог придумать альтернативный способ решения.

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

      III)
      Чисто 3 задание, думаю первые два были не сложные.
      Без заморочек и с дополнением по-рандому.
      from random import *
      a=(str(randint(000000,999999)))
      s1=0
      for i in a[:3]:
      s1+=int(i)
      s2=0
      for g in a[3:]:
      s2+=int(g)
      if s1==s2 :
      print('Билет «счастливый»!')
      else:
      print('Увы, вы не выиграли')

    • @МаксимКуличенко-с7ц
      @МаксимКуличенко-с7ц Год назад +12

      3)
      n = list(input('Напишите номер билета (от 000000 до 999999): '))
      if n[0] + n[1] + n[2] == n[3] + n[4] + n[5]:
      print('Билет счастливый')
      else:
      print('Билет обычный')
      вот и всё, что требовалось

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

      @@МаксимКуличенко-с7ц Размер приходит с опытом )

  • @IvanSNEGR
    @IvanSNEGR Год назад +7

    Спасибо, благодаря вашим видео сдал ОГЭ в прошлом году почти на высший балл!

  • @Bespectacled_0.o
    @Bespectacled_0.o Год назад +4

    Как повезло что вы ведете эти уроки, я как раз сейчас начал питон изучать. Уже успел разочароваться что 2 недели продолжения этих уроков не было, а тут вижу уведомление о новом видео) Спасибо за огромное за ваш труд!

  • @svetlanakosheleva1153
    @svetlanakosheleva1153 Год назад +4

    Иван Викторович, вдохновения Вам, Вы - преподаватель от Бога! Ждем новых знаний, пониманий и навыков с Вашей помощью :)

  • @Человек-ы8ы
    @Человек-ы8ы 10 месяцев назад +2

    Спасибо вам большое! Благодаря вам я разобрался со списками

  • @ArtyomBorodin18
    @ArtyomBorodin18 Год назад +4

    Иван Викторович, спасибо большое за урок!

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

    Лучший!!! Все по полочкам и понятно

  • @MsXayter
    @MsXayter 9 месяцев назад +1

    Спасибо! Отличная подача материала.

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

    Большое спасибо, очень доходчиво!

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

    Супер, спасибо!!!

  • @РемонтквартирвОдессе
    @РемонтквартирвОдессе 8 месяцев назад

    супер . все разжевано , все понятно

  • @ГеннадийСкворцов-п6о
    @ГеннадийСкворцов-п6о 8 месяцев назад +1

    Класс

  • @ЕгорАбрамов-ч3г
    @ЕгорАбрамов-ч3г Год назад

    Спасибо, Иван Викторыч

  • @bogdan_ua6619
    @bogdan_ua6619 9 дней назад

    Отличные уроки, с вами и на курсы не надо, ещё бы курс по SQL так записали, вообще шик был бы

  • @alexlivingstone3419
    @alexlivingstone3419 10 месяцев назад +1

    лучший учитель по питону!

  • @ИгнатИгнатов-з2т
    @ИгнатИгнатов-з2т 2 месяца назад

    Класс, интересно было, спасибо тебе!

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

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

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

    Спасибо большое за урок

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

    Пишу хороший комментарий, т.к. урок очень понравился. Честно говоря, мне нравятся все уроки ИВ😀

  • @Ефрем-э8м
    @Ефрем-э8м 9 месяцев назад +1

    whil True:
    print("Иван Викторовичь красава!")

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

    Спасибо!!!!!

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

    Задача 2
    s=int(input("Enter number"))
    sp = [i ** 2 // 5 for i in range(1, s, 1) if i % 2 == 0]
    print(sp)

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

    Для тех кто пришел освежить память:
    1) Рассмотри генератор списка
    2) Что такое срез
    3) Копирование списков / обращение ко списку

  • @4681alex
    @4681alex Год назад

    Харош)

  • @АртурВалиев-п3ф
    @АртурВалиев-п3ф 3 месяца назад

    прос имбовый курс

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

    супер!

  • @Sergei_P.
    @Sergei_P. Год назад

    Шикарная подача материала))

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

    спасибо

  • @weftuh9663
    @weftuh9663 3 дня назад

    2.
    a = int(input())
    x = [a ** 2 for a in range(0, a+1) if a > 0 and a % 2 == 0 and a % 5 == 0]
    print(x)

  • @weftuh9663
    @weftuh9663 3 дня назад

    1. x = list((input()))
    b = [x for x in x if x.strip()]
    print(b[0::2])

  • @АнатолийУкусов
    @АнатолийУкусов 9 месяцев назад

    17:52 вот это, конечно, очень интересно. Если я не ошибаюсь, в си++ Иначе. Там, кажется, скопируется именно значение. Потом в си ++ это будет как будто бы эти переменные живут каждой своей жизнью. Тут же в питоне, похоже, у переменых будет вечная связь. Вечная духовная связь😂 потому что общие ссылки. Интересно, наверное, у них каким-то своим образом можно так скопировать чтобы передать значение, но разорвать эту ненужную связь?

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

    Одну задачу пытался недавно решить, и пока решал, узнал многое из того, что Иван Викторович рассказывает в этом уроке. Но саму задачу так и не решил. Делюсь - может кому-то ДЗ из этого урока будет мало и захочется мозги размять.
    Есть список натуральных чисел от 1 до N (в реальности это группа людей). Надо составить из них пары дежурных, чтобы выполнились 2 условия:
    1. После того, как пара отдежурила, они отдыхают до тех пор, пока не отдежурят все остальные.
    2. А потом снова составляем пары, но чтобы они не повторялись с прошлыми.
    В итоге должен отдежурить каждый с каждым.
    P.S.: Вручную решить легко, а вот на Python...

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

      А можно формулировку задачи по конкретнее, что нужно вывести? Что должна принимать программа? Нужно вывести все возможные пары дежурных?

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

      Программа принимает число N. Выводит список всех уникальных пар (неповторяющихся) с соблюдением 2-ух условий:
      1) каждый человек должен попадать в дежурство равномерно (т.е. не так, что я отдежурил 2 дня подряд, а потом 2 недели отдыхаю);
      2) каждый должен отдежурить с каждым.
      Другими словами, надо отсортировать все уникальные пары.
      Поконкретнее задачу, к сожалению, сформулировать нельзя. Разве если так: под этими номерами будут реальные люди, и надо, чтобы среди них не возникало недовольств, типа я чаще дежурю, чем он, он больше отдыхает, чем я, и т.п. И должна быть полная ротация при составлении пар, т.е. чтобы пары не повторялись.
      И вообще нет гарантии, что существует чёткое математическое решение. Но хотя бы приблизительно равномерность соблюсти желательно.

  • @deniseheinle5327
    @deniseheinle5327 9 месяцев назад +1

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

  • @АнатолийУкусов
    @АнатолийУкусов 9 месяцев назад

    16:20 иногда бывает, что даже самое длинное обширное объяснение с терминами понятнее , чем какой-нибудь сложный пример, который, кажется, элементарным тому, кто всё уже просёк, но непонятен новичку. "Раз на раз не приходится" есть такая советская комедия.
    Даже не о конкретном курсе, а вообще про все учебные курсы которые я видел.

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

    Иван, спасибо за урок. Вопрос: если на список ссылаются две переменные, то изменяя элемент одной из них - у второй переменной тоже меняется, а у копии нет, это вы наглядно показали. Но если вставить эту же строку (s1 = boys[:]) после строки с изменением (pupils[0] = 1), то и эта копию подвергнется изменению, почему так?

  • @АнатолийУкусов
    @АнатолийУкусов 9 месяцев назад

    21:31 в си++. Помню, была конкатинация. А тут прям целый набор работы со словами. Всё-таки меня не покидает ощущение, что питон ориентирован именно на текст.

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

    В вашем замечательном курсе хочу порекомендовать почаще закомменчивать то, что вы объяснили минуту назад, а не удалять ( ''' ''' или #).
    У учеников после урока останется весь конспект в файле и вообще будет формироваться привычка комментить

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

    Про вложенные списки мало объяснено на примерах. Обязательно надо было объяснить к примеру:
    Как из этих списков вывести значение 2 ?
    a = ['a', 1, 'cd', ['sd', 12, 2, 'h']]
    a = ['a', 1, 'cd', ['sd', 12, [2, 'h']]]
    a = [[['a', 1, 'cd', ['sd', 12], 2, 'h']]]]]
    Согласитесь, что это разной вложенности списки ...

  • @Lacey-p9e
    @Lacey-p9e 2 месяца назад

    1)sp = list(input('Enter anything: '))
    for i in range(len(sp) + 1):
    if i % 2 != 0:
    print(i)
    2) sp = str.split(input('Enter anything: '))
    for i in sp:
    i = int(i)
    if i % 2 == 0 and i % 5 == 0:
    i = i ** 2
    print(i)
    else:
    print('Данное число не подходит под заданные условия')
    3) думаю...

  • @АнатолийУкусов
    @АнатолийУкусов 9 месяцев назад

    10:42 ага, то есть в предыдущем случае были только чётные значения квадратов. А в этом случае будут только квадраты частных чисел - почувствуйте разницу.
    Какая же это змеюка гибкая
    У меня, кстати, одновременно возник вопрос: а как сделать так, чтобы значения квадратов из предыдущего выражения были ограничены диапазоном от 0 до 100. Где что надо тогда прописать?

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

    ❤❤❤❤

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

    у него с каждым уроком борода всё больше отрастает

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

    При установке PyCharm вы говорите, чтобы путь до папки(т.е имя пользователя) был написан только латинскими буквами. При этом не подсказываете как изменить его , если папка указана на кирилице?? как же изменить ?

  • @ПавелДубовцов
    @ПавелДубовцов Год назад +1

    А можно в генератора использовать if elif else?!

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

    Помогите, пожалуйста, я немного не понимаю! Есть такая программа, то есть пользователь сам задает начало, конец и шаг ренджа, и хочу чтоб под номером, например, i = 8 стоял элемент 3. Почему он не понимает эту запись? Выдает тру или фолз.
    start = int(input())
    end = int(input())
    step = int(input())
    spisok = [i == 3 if i == 8 else i**2 for i in range(start, end, step)]
    print(spisok)

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

      Разобрался, надо просто 3 написать тогда. Думаю, это потому что выходит, что число на этой позиции от номера не зависит

  • @Алексей-й4з6ш
    @Алексей-й4з6ш 6 месяцев назад

    К концу видео совсем запутался. Лучше по учебнику

  • @АнатолийУкусов
    @АнатолийУкусов 9 месяцев назад

    0:24 действительно, монтипайтон, это какой-то цирк. В данном случае цирк с массивами.

  • @СергейИгонин-п3п
    @СергейИгонин-п3п Год назад +1

    warning! pupils != people
    )))

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

    Вашу жену зовут Оля или Соня?)

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

    Ура! Один вопрос, а зачем он нужон, этот Пайтон? СиШарп - понятно, Плюсы - понятно, Джава - понятно. А это куда?

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

      Егэ

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

      Куда угодно, просто яп для ЕГЭ подходит

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

      @@YBmurt_123 это тоска

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

      @@mrchooseman92 ты кодил на этом пайтоне? Лишний пробел в коде равен ошибке. Искал когда-нибудь невидимый лишний пробел в коде? 🙂

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

      @@dmitriypermyakov5402 как раз таки на нем и делаю ЕГЭ)