Как решить задачу Python, операции со словарем
Изучаю python, застрял на такой задаче:
A
some_iterableхранит слова из предложения. Используйте понимание словаря для создания нового словаря, в котором ключами будут слова изsome_iterable, написанные прописными буквами, а значениями-те же слова, написанные строчными буквами. Распечатайте этот словарь.
Вы можете использовать
upper()иlower()методы для строк, чтобы преобразовать все символы в верхний и нижний регистры соответственно.
пробовал решить так:
some_iterable = input().split()
some_iterable = {}
for key, value in some_iterable.items():
some_iterable(k).upper
some_iterable(v).lower
print(some_iterable)
Ответы (3 шт):
Похоже, у вас проблемы не со словарями, а с общим непониманием того, что именно вы делаете. Читаем первые три строки:
some_iterable = input().split()
some_iterable = {}
for key, value in some_iterable.items():
Первая строка - читаем вход, делим на слова, результат загоняем в переменную some_iterable.
Вторая строка - стираем нафиг все, что было в переменной some_iterable и создаем другую переменную с тем-же именем, но теперь будем считать, что она у нас типа "словарь".
Третья строка - из этой, заведомо пустой, определенной в предыдущей строке переменной начинаем что-ты пытаться вытягивать.
Дальше что-то комментировать не приходиться. Все ошибки - на глазах. Исправляйте. И все остальное заработает.
Вы затираете some_iterable во второй строке, попробуйте так:
some_iterable = input().split()
result_dict = {word.lower(): word.upper() for word in some_iterable}
print(result_dict)
Для
>? мама МЫЛА РаМу
выдаст:
{'мама': 'МАМА', 'мыла': 'МЫЛА', 'раму': 'РАМУ'}
а так чем не устраивает?
some_iterable = input().split()
res = dict((word.lower(), word.upper()) for word in some_iterable)