Генератор словарей

Одним из способов легко создавать словари является использование генераторов. По аналогии с генератором списков, можно создать словарь с помощью встроенного цикла for:
squares = {n: n**2 for n in range(1, 11)}
print(squares)
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
Так же, как и в генераторах списков или множеств, все правила фильтрации и условных элементов применимы и к генераторам словарей.
names = ['Bob', 'Anna', 'Charles']
surnames = ['Brown', 'Kennedy', 'Jackson']

people = {names[i]: surnames[i] for i in range(len(names)) if names[i] != 'Anna'}
print(people)
# {'Bob': 'Brown', 'Charles': 'Jackson'}

Задание

Даны n чисел, разделенных пробелом. Требуется создать словарь, который сопоставляет число его кубу, исключая все числа, квадрат которых оканчивается на 6.
Единственная строка ввода содержит числа, разделенные пробелами.
Программа должна вывести числа, удовлетворяющие условию, вместе с их кубами.
Ввод
Вывод
5 4 8 9 6 2 0 -4
5 125 8 512 9 729 2 8 0 0
Сможете решить это в одну строку 😎?
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue