Форум сайта python.su
Напишите код, в котором у пользователя запрашивается целое число, а потом строится словарь, ключами которого являются числа от 2 до того числа, котороё ввёл пользователь, а значениям - списки, состоящие из кубов и квадратов этих чисел.
То есть если пользователь ввёл число 5, то словарь должен получиться таким: {2:, 3:, 4:, 5:}
Офлайн
а твой код где ?
Или с нуля надо ? Если да то сделаю за 10 $
Офлайн
print((lambda r : dict(zip(r, map(lambda n : [n**2, n**3], r))))(range(2, int(input('number? ')) + 1)))
Офлайн
num = int(input('enter integer: ')) d = {x: [pow(x, 3), pow(x, 2)] for x in range(2, num+1)} print(d)
#Ответ: enter integer: 10 {2: [8, 4], 3: [27, 9], 4: [64, 16], 5: [125, 25], 6: [216, 36], 7: [343, 49], 8: [512, 64], 9: [729, 81], 10: [1000, 100]}
Офлайн
Формально это половинчатое решение, ибо в тз явно не указано, что введённое число не может быть меньше 2х.
Офлайн
dimy44, ну можно тогда так например дополнить:
num = int(input('enter integer: ')) if num > 2: d = {x: [pow(x, 3), pow(x, 2)] for x in range(2, num+1)} else: d = {x: [pow(x, 3), pow(x, 2)] for x in range(2, num-1, -1)} print(d)
#Ответ: enter integer: 5 {2: [8, 4], 3: [27, 9], 4: [64, 16], 5: [125, 25]} enter integer: -5 {0: [0, 0], 1: [1, 1], 2: [8, 4], -1: [-1, 1], -5: [-125, 25], -4: [-64, 16], -3: [-27, 9], -2: [-8, 4]}
Офлайн
или так
step = (num >= 2 or -1) d = {x: [pow(x, 3), pow(x, 2)] for x in range (2, num + step, step)}
Офлайн
и зачем помогать людям что ничего не делают сами ?
почему вы не думаете про образовательный моменты ?
Офлайн
SingularityДа все они думают, пусть теперь попробует объяснить преподу как это работает
почему вы не думаете про образовательный моменты ?
Офлайн
sergeek
print((lambda r : dict(zip(r, map(lambda n : , r))))(range(2, int(input('number? ')) + 1)))
PooH
и зачем помогать людям что ничего не делают сами ?
почему вы не думаете про образовательный моменты ?
Офлайн