Python для начинающих. Урок 16 | Словари
HTML-код
- Опубликовано: 11 дек 2023
- В этом уроке мы рассмотрим основные методы для работы со словарями.
------
Наш чат: t.me/+EscIrZ6YtZ02NTVi
------
Telegram: t.me/plugar_inf
Группа в ВК: plugar_inf
------
Не забываем подписываться!
#python #начинающим #ityoutubersru
Домашнее задание:
I)
Создайте русско-английский словарь, который содержит 10 слов с переводом. На основе этого словаря, сделайте так, чтобы пользователь мог добавить 5 слов с переводом, вводом с клавиатуры. То есть, при запуске программы, она запрашивала бы сначала русское слово, а затем перевод и добавляла этот элемент в словарь.
II)
Используя словарь из 1 задания, необходимо с помощью методов keys() и values() выбрать и вывести ключи, длина которых меньше 6 символов. После чего, вывести все значения ключей, длина которых больше 5 символов.
Задание вытекает из первого по словарям
# Создайте русско-английский словарь, который содержит 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 получается косяк и элемент сохраняется пустым
|)
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)
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)
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)
# Наш словарь (лень было 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)
За неделю я посмотрел все твои 16 уроков, задания выполнил все. Жду следующие уроки!
Спасибо, Иван Викторович!
Круто! Очень помогает при подготовке
Всё классно, буду изучать, понравилось.
Иван Викторович Вы самый крутой учитель!!!!!💪💪💪 Ребята, не забываем жать лайкос!!!👍👍👍👍👍
Большое спасибо!
В каком-то Вашем разборе 24 задачи из ЕГЭ мне очень понравился Ваш фокус с функцией get. Вот пример кода:
slovar[s[j+1]] = slovar.get(s[j+1],0)+1
Долго разбирался что это значило, но оказалось все очень просто, но хитро :)
Спасибо Ивану Викторовичу за его неоценимую работу))
огонь!
Спасибо ❤
Добрый день !
Иван Викторович
Я вот недавно начал ваш урок про пайтон который вышел 3 года назад и каждый день проходил по одному уроку сегодня прошел 4 урок .Что посоветуете бросить тот и занятся новым уроком который вышел недавно или продолжить старый ?
а где можно с вами как то связаться?
просто есть один небольшой вопрос по заданию егэ, но узнать неукого.. нужен совет
добрый день, Иван Викторович, могли бы Вы записать урок по проверке email-адреса, без посторонних библиотек, с подробным объяснением.
Иван Викторович здравствуйте! Подскажите пожалуйста, хочу начать изучать программирование на языке Пайтон, но не владею английским языком, скажите нужен английского язык?или можно без него обойтись?
Можно без него, если ты можешь запомнить названия функций и их значение
На какую тему будет следующая лекция?
Еще один классный урок позади, спасибо огромное))) Решение д.з.:
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)
Второе перемудрили, можно короче
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)
ну да, есть такое. спасибо:)@@user-pm8qb9hz7k
можете помочь
elements = [1, 3, 9, ‘hello’, ‘world’, 15, 12, ‘word’, 156, ‘dog’, 9, ‘book’, 9] =>из списка определяем количество одинаковых значений и вычислите количество элементов
Иван Викторович, планируется ли лекция по рекурсии? Много страждущих
будет
Здравствуйте!Будет ли в этом году решение вариантов ОГЭ 2024 ?
добрый день! Периодически провожу
Будет видео про шифрование файла через функцию или рассказ про библиотеки wincrypt32 и сryptography?
Хмм, мне даже стало интересно
@@plugar_infя проходил ваш курс python для начинающих где стрим записанный, на уроке 19 у меня возникла ошибка modulenotfound no module named 'films_urls' и я не понимаю что делать я немного поискал в интернете но не нашёл решения
@@plugar_infхотел сказать, я не правильно написал ошибку, он не может найти film.urls
@@plugar_infтам films urls, я это уже писал, но у меня почему то показывает что не писал, и ещё и комментарии изменить нельзя и я не вижу что я пишу
films.urls
почему выдает ошибку установки петона???????
Когда следующий урок выйдет?
На этой недели постараюсь
Python Installation Failed ПОМОГИТЕ РЕШИТЬ ЭТУ ПРОБЛЕМУ
добрый день, а можно больше разноплановых заданий, не 3,а допустим 7, что бы хватало позаниматься и набить руку
Добрый! Учту в следующих видео
Сколько в планах всего уроков?@@plugar_inf
@@user-lu9mr5mn3j 25+
Иван Викторович вы на обучите Джанго и Фаст апи
По Джанго есть плейлист на канале
Первый!
Python Installation Failed
Поставил лайк. Но, этот урок немного сложноват. Наверное много методов и функций. Или я уже старый. 45 лет
Так стопе с 3.7 словари как бы стали упорядоченными вообще то
Да, с 3.7 сохраняется порядок вставки, но мы не можем, к примеру, обращаться к элементу по его порядковому номеру. Плюс придется большинству поддерживать код, написанный до 3.7. По этим причинам оставил в ролике неупорядоченную коллекцию)))
я тебя найду ваня
Зачем?