Как решить задачу 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 шт):

Автор решения: passant

Похоже, у вас проблемы не со словарями, а с общим непониманием того, что именно вы делаете. Читаем первые три строки:

some_iterable = input().split()
some_iterable = {}
for key, value in some_iterable.items():

Первая строка - читаем вход, делим на слова, результат загоняем в переменную some_iterable.

Вторая строка - стираем нафиг все, что было в переменной some_iterable и создаем другую переменную с тем-же именем, но теперь будем считать, что она у нас типа "словарь".

Третья строка - из этой, заведомо пустой, определенной в предыдущей строке переменной начинаем что-ты пытаться вытягивать.

Дальше что-то комментировать не приходиться. Все ошибки - на глазах. Исправляйте. И все остальное заработает.

→ Ссылка
Автор решения: Jack_oS

Вы затираете some_iterable во второй строке, попробуйте так:

some_iterable = input().split()
result_dict = {word.lower(): word.upper() for word in some_iterable}
print(result_dict)

Для

>? мама МЫЛА РаМу

выдаст:

{'мама': 'МАМА', 'мыла': 'МЫЛА', 'раму': 'РАМУ'}
→ Ссылка
Автор решения: Zhihar

а так чем не устраивает?

some_iterable = input().split()
res = dict((word.lower(), word.upper()) for word in some_iterable)
→ Ссылка