Python для начинающих. Урок 16 | Словари

Поделиться
HTML-код
  • Опубликовано: 11 дек 2023
  • В этом уроке мы рассмотрим основные методы для работы со словарями.
    ------
    Наш чат: t.me/+EscIrZ6YtZ02NTVi
    ------
    Telegram: t.me/plugar_inf
    Группа в ВК: plugar_inf
    ------
    Не забываем подписываться!
    #python #начинающим #ityoutubersru

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

  • @plugar_inf
    @plugar_inf  5 месяцев назад +8

    Домашнее задание:
    I)
    Создайте русско-английский словарь, который содержит 10 слов с переводом. На основе этого словаря, сделайте так, чтобы пользователь мог добавить 5 слов с переводом, вводом с клавиатуры. То есть, при запуске программы, она запрашивала бы сначала русское слово, а затем перевод и добавляла этот элемент в словарь.
    II)
    Используя словарь из 1 задания, необходимо с помощью методов keys() и values() выбрать и вывести ключи, длина которых меньше 6 символов. После чего, вывести все значения ключей, длина которых больше 5 символов.

    • @user-fv6wz9hd5l
      @user-fv6wz9hd5l 5 месяцев назад +1

      Задание вытекает из первого по словарям
      # Создайте русско-английский словарь, который содержит 10 слов с переводом. На основе этого словаря,
      # сделайте так, чтобы пользователь мог добавить 5 слов с переводом, вводом с клавиатуры.
      # То есть, при запуске программы, она запрашивала бы сначала русское слово,
      # а затем перевод и добавляла этот элемент в словарь
      # Используя словарь из 1 задания, необходимо с помощью методов keys() и values() выбрать и вывести ключи,
      # длина которых меньше 6 символов. После чего, вывести все значения ключей, длина которых больше 5 символов.
      slru = ["собака", "щенок", "кошка", "котенок", "попугай", "хомяк", "шиншилка", "морская_свинка", "мышь", "крыса"]
      sleu = ["dog", "puppy", "cat", "kitten", "parrot", "hamster", "chinchilla", "guinea_pig", "mouse", "rat"]
      sltr = dict(zip(slru, sleu))
      i = input("vvedi slovo na russkom: ")
      sltrLowKey = []
      sltrLongValue = []
      if i in slru:
      print("Слово", i, "переводится как", sltr[i])
      else:
      slru.append(i)
      sleu.append(input("takogo slova v slovare net, dabavte perevod: "))
      print(sltr)
      print(slru)
      print(sleu)
      for f, r in sltr.items():
      if len(f) < 6:
      sltrLowKey.append(f)
      if len(r) > 5:
      sltrLongValue.append(r)
      print(sltrLowKey)
      print(sltrLongValue)
      все работает но появился странный баг - при вводе руками перевода все без проблем, если же использовать Ctrl+V получается косяк и элемент сохраняется пустым

    • @user-wb9ph9cz8w
      @user-wb9ph9cz8w 5 месяцев назад +1

      |)
      sl = {
      'дом' : 'home',
      'телефон' : 'phone',
      'сад' : 'garden',
      'деревня' : 'village',
      'лес' : 'forest',
      'собака' : 'dog',
      'кошка' : 'cat',
      'лопата' : 'shovel',
      'стол' : 'table',
      'стул' : 'chair'
      }
      while len(sl) < 15:
      sl[input('Введите слово на русском:
      ')] = input('Введите слово на английском:
      ')
      print(sl)
      ||)
      sl = {
      'дом' : 'home',
      'телефон' : 'phone',
      'сад' : 'garden',
      'деревня' : 'village',
      'лес' : 'forest',
      'собака' : 'dog',
      'кошка' : 'cat',
      'лопата' : 'shovel',
      'стол' : 'table',
      'стул' : 'chair'
      }
      for i in sl.keys():
      if len(i) < 6:
      print(i)
      for x in sl.values():
      if len(x) > 5:
      print(x)

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

      1)
      dictionary = {
      "яблоко": "apple",
      "мама": "mom",
      "кот": "cat",
      "дом": "house",
      "вода": "water",
      "книга": "book",
      "солнце": "sun",
      "стул": "chair",
      "школа": "school",
      "машина": "car"
      }
      a = 0
      while True:
      for i in dictionary.items():
      print(i)
      n = input("Вы желаете добавить слово с переводом(лимит 5) или найти перевод слова?")
      if n == "добавить":
      while True:
      m = input("Введите слово на русском языке ").lower()
      if m == "":
      for i in dictionary.items():
      print(i)
      break
      n = input("Введите перевод этого слова на английском языке").lower()
      dictionary[m] = n
      a+=1
      elif n == "Найти перевод слова":
      m = input("Введите интересующее вас слово на русском языке")
      if m in dictionary :
      print("Ответ: ", dictionary[m])
      else:
      print("Слово либо не найдено,либо неправильно написано")
      else:
      print("Слово не распознано,повторите попытку")
      2)
      dictionary = {
      "яблоко": "apple",
      "мама": "mom",
      "кот": "cat",
      "дом": "house",
      "вода": "water",
      "книга": "book",
      "солнце": "sun",
      "стул": "chair",
      "школа": "school",
      "машина": "car"
      }
      keys1 = []
      keys2 = []
      for i in dictionary.keys():
      if len(i) < 6:
      keys1.append(i)
      for m in dictionary.values():
      if len(m) > 5:
      keys2.append(m)
      print("ключи, длина которых меньше 6 символов: ",keys1)
      print("значения ключей, длина которых больше 5 символов: ",keys2)

    • @katetish1002
      @katetish1002 5 месяцев назад

      I)
      s1 = ['кот', 'мышь', 'собака', 'животное', 'стол', 'книга', 'кровать', 'медведь', 'птица', 'зима']
      s2 = ['cat', 'mouse', 'dog', 'animal', 'table', 'book', 'bed', 'bear', 'bird', 'winter']
      sl = dict(zip(s1, s2))
      sl2 = {input('Введите слово на русском: ').lower(): input('Введите перевод на английском к этому слову: ').lower() for i in range (5)}
      a = list(sl2.keys())
      b = list(sl.keys())
      for i in a:
      for k in b:
      if i == k:
      print('Слово', i, 'уже есть в словаре')
      del sl2[i]
      sl.update(sl2)
      print(sl)

    • @sir1962
      @sir1962 5 месяцев назад

      # Наш словарь (лень было 10 элементов делать))
      En_Ru_sl = {
      'apple': 'яблоко',
      'bananas': 'банан',
      'white': 'белый'
      }
      # Здесь пользователь определяет сколько он хочет добавить новых переводов
      num_new_words = int(input('Скільки слів ви хочете добавити в словарь? '))
      # Ввод новых слов и их переводы
      Ru_words = []
      En_words = []
      for k in range(num_new_words):
      En_words.append(input('введіть англійське слово: '))
      Ru_words.append(input('введіть перевод слова: '))
      # Соединяем старый словарь с новыми словами и выводим его
      all_sl = En_Ru_sl | dict(zip(En_words, Ru_words))
      print("Наш словарь:", all_sl)
      # Определяем и выводим ключи и значения с определенными свойствами
      keys1 = [i for i in all_sl.keys() if len(i) > 6]
      values1 = [k for k in all_sl.values() if len(k) < 5]
      print("Всі ключі в яких більше 6 символів: ", keys1)
      print("Всі значення в яких не більше 5 символів: ", values1)

  • @HelloWorldCream
    @HelloWorldCream 5 месяцев назад +5

    За неделю я посмотрел все твои 16 уроков, задания выполнил все. Жду следующие уроки!

  • @ArtyomBorodin18
    @ArtyomBorodin18 5 месяцев назад +1

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

  • @tobapu3801
    @tobapu3801 25 дней назад

    Круто! Очень помогает при подготовке

  • @user-pu9tf7jt7s
    @user-pu9tf7jt7s 2 месяца назад +1

    Всё классно, буду изучать, понравилось.

  • @user-zc4ij9mc7k
    @user-zc4ij9mc7k 5 месяцев назад +2

    Иван Викторович Вы самый крутой учитель!!!!!💪💪💪 Ребята, не забываем жать лайкос!!!👍👍👍👍👍

  • @anastasiacherkashova5990
    @anastasiacherkashova5990 Месяц назад

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

  • @schoolinfovids4782
    @schoolinfovids4782 5 месяцев назад

    В каком-то Вашем разборе 24 задачи из ЕГЭ мне очень понравился Ваш фокус с функцией get. Вот пример кода:
    slovar[s[j+1]] = slovar.get(s[j+1],0)+1
    Долго разбирался что это значило, но оказалось все очень просто, но хитро :)

  • @user-wb9ph9cz8w
    @user-wb9ph9cz8w 5 месяцев назад +1

    Спасибо Ивану Викторовичу за его неоценимую работу))

  • @user-mz6js2sw6d
    @user-mz6js2sw6d 2 месяца назад

    огонь!

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

    Спасибо ❤

  • @user-fb2tx5pu4m
    @user-fb2tx5pu4m 4 месяца назад +1

    Добрый день !
    Иван Викторович
    Я вот недавно начал ваш урок про пайтон который вышел 3 года назад и каждый день проходил по одному уроку сегодня прошел 4 урок .Что посоветуете бросить тот и занятся новым уроком который вышел недавно или продолжить старый ?

  • @akuwep
    @akuwep 5 месяцев назад

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

  • @user-zz1jw6lc4x
    @user-zz1jw6lc4x 4 месяца назад

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

  • @Web..223
    @Web..223 5 месяцев назад +2

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

    • @KiryushE2
      @KiryushE2 4 месяца назад +1

      Можно без него, если ты можешь запомнить названия функций и их значение

  • @kakrus_mem
    @kakrus_mem 5 месяцев назад +1

    На какую тему будет следующая лекция?

  • @martdii
    @martdii 4 месяца назад

    Еще один классный урок позади, спасибо огромное))) Решение д.з.:
    1)
    sl = {
    "кот" : "cat",
    "мышь" : "mouse",
    "собака" : "dog",
    "животные": "animals",
    "черепаха" : "turtle",
    "енот" : "raccoon",
    "медведь" : "bear",
    "белка" : "squirrel",
    "лиса" : "fox",
    "хомяк" : "hamster"
    }
    while len(sl) < 15:
    sl.setdefault(input('введите русское слово в словарь'), input('и его значение'))
    print(sl)
    2)
    sl = {
    "кот" : "cat",
    "мышь" : "mouse",
    "собака" : "dog",
    "животные": "animals",
    "черепаха" : "turtle",
    "енот" : "raccoon",
    "медведь" : "bear",
    "белка" : "squirrel",
    "лиса" : "fox",
    "хомяк" : "hamster"
    }
    a = []
    b = []
    c = [sl.keys()]
    for i in range(len(c)):
    d = [j for j in c[i]]
    for j in range(len(d)):
    if len(d[j]) < 6:
    a.append(d[j])
    h = [sl.values()]
    for i in range(len(h)):
    k = [j for j in h[i]]
    for j in range(len(k)):
    if len(k[j]) > 5:
    b.append((k[j]))
    print(a)
    print(b)

    • @user-pm8qb9hz7k
      @user-pm8qb9hz7k 4 месяца назад +1

      Второе перемудрили, можно короче
      key = []
      val = []
      for i in sl.keys():
      if len(i) < 6:
      key.append(i)
      for i in sl.values():
      if len(i) > 5:
      val.append(i)
      print(key)
      print(val)

    • @martdii
      @martdii 4 месяца назад

      ну да, есть такое. спасибо:)@@user-pm8qb9hz7k

  • @armansaginbaev9062
    @armansaginbaev9062 5 месяцев назад

    можете помочь
    elements = [1, 3, 9, ‘hello’, ‘world’, 15, 12, ‘word’, 156, ‘dog’, 9, ‘book’, 9] =>из списка определяем количество одинаковых значений и вычислите количество элементов

  • @LS-oh6po
    @LS-oh6po 5 месяцев назад

    Иван Викторович, планируется ли лекция по рекурсии? Много страждущих

  • @KEN4IKedits01
    @KEN4IKedits01 5 месяцев назад

    Здравствуйте!Будет ли в этом году решение вариантов ОГЭ 2024 ?

    • @plugar_inf
      @plugar_inf  5 месяцев назад

      добрый день! Периодически провожу

  • @noon482
    @noon482 5 месяцев назад +1

    Будет видео про шифрование файла через функцию или рассказ про библиотеки wincrypt32 и сryptography?

    • @plugar_inf
      @plugar_inf  5 месяцев назад

      Хмм, мне даже стало интересно

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

      ​@@plugar_infя проходил ваш курс python для начинающих где стрим записанный, на уроке 19 у меня возникла ошибка modulenotfound no module named 'films_urls' и я не понимаю что делать я немного поискал в интернете но не нашёл решения

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

      ​@@plugar_infхотел сказать, я не правильно написал ошибку, он не может найти film.urls

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

      ​@@plugar_infтам films urls, я это уже писал, но у меня почему то показывает что не писал, и ещё и комментарии изменить нельзя и я не вижу что я пишу

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

      films.urls

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

    почему выдает ошибку установки петона???????

  • @your__god
    @your__god 4 месяца назад

    Когда следующий урок выйдет?

    • @plugar_inf
      @plugar_inf  4 месяца назад

      На этой недели постараюсь

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

    Python Installation Failed ПОМОГИТЕ РЕШИТЬ ЭТУ ПРОБЛЕМУ

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

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

    • @plugar_inf
      @plugar_inf  5 месяцев назад

      Добрый! Учту в следующих видео

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

      Сколько в планах всего уроков?@@plugar_inf

    • @plugar_inf
      @plugar_inf  5 месяцев назад

      @@user-lu9mr5mn3j 25+

  • @salamon2359
    @salamon2359 5 месяцев назад

    Иван Викторович вы на обучите Джанго и Фаст апи

    • @plugar_inf
      @plugar_inf  5 месяцев назад +1

      По Джанго есть плейлист на канале

  • @SKY-jh5sh
    @SKY-jh5sh 5 месяцев назад

    Первый!

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

    Python Installation Failed

  • @bgavh6858
    @bgavh6858 5 месяцев назад

    Поставил лайк. Но, этот урок немного сложноват. Наверное много методов и функций. Или я уже старый. 45 лет

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

    Так стопе с 3.7 словари как бы стали упорядоченными вообще то

    • @plugar_inf
      @plugar_inf  5 месяцев назад

      Да, с 3.7 сохраняется порядок вставки, но мы не можем, к примеру, обращаться к элементу по его порядковому номеру. Плюс придется большинству поддерживать код, написанный до 3.7. По этим причинам оставил в ролике неупорядоченную коллекцию)))

  • @madex4336
    @madex4336 5 месяцев назад

    я тебя найду ваня