Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 10, 2013 22:34:48

thanqurewelcome
Зарегистрирован: 2013-10-03
Сообщения: 5
Репутация: +  0  -
Профиль  

Помогите, пожалуйста!

Напишите код, в котором у пользователя запрашивается целое число, а потом строится словарь, ключами которого являются числа от 2 до того числа, котороё ввёл пользователь, а значениям - списки, состоящие из кубов и квадратов этих чисел.
То есть если пользователь ввёл число 5, то словарь должен получиться таким: {2:, 3:, 4:, 5:}

Офлайн

#2 Окт. 10, 2013 23:17:41

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Помогите, пожалуйста!

а твой код где ?
Или с нуля надо ? Если да то сделаю за 10 $

Офлайн

#3 Окт. 10, 2013 23:22:26

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

Помогите, пожалуйста!

print((lambda r : dict(zip(r, map(lambda n : [n**2, n**3], r))))(range(2, int(input('number? ')) + 1)))

Офлайн

#4 Окт. 10, 2013 23:34:32

smoke853
Зарегистрирован: 2012-10-02
Сообщения: 123
Репутация: +  15  -
Профиль   Отправить e-mail  

Помогите, пожалуйста!

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]}

Офлайн

#5 Окт. 10, 2013 23:36:42

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Помогите, пожалуйста!

Формально это половинчатое решение, ибо в тз явно не указано, что введённое число не может быть меньше 2х.

Офлайн

#6 Окт. 10, 2013 23:59:44

smoke853
Зарегистрирован: 2012-10-02
Сообщения: 123
Репутация: +  15  -
Профиль   Отправить e-mail  

Помогите, пожалуйста!

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]}

Офлайн

#7 Окт. 11, 2013 00:14:20

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Помогите, пожалуйста!

или так

step = (num >= 2 or -1)
d = {x: [pow(x, 3), pow(x, 2)] for x in range (2, num + step,  step)}

Офлайн

#8 Окт. 11, 2013 02:05:16

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Помогите, пожалуйста!

и зачем помогать людям что ничего не делают сами ?
почему вы не думаете про образовательный моменты ?

Офлайн

#9 Окт. 11, 2013 05:01:30

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Помогите, пожалуйста!

Singularity
почему вы не думаете про образовательный моменты ?
Да все они думают, пусть теперь попробует объяснить преподу как это работает



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#10 Окт. 11, 2013 21:26:27

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Помогите, пожалуйста!

sergeek
print((lambda r : dict(zip(r, map(lambda n : , r))))(range(2, int(input('number? ')) + 1)))

Красиво

PooH
и зачем помогать людям что ничего не делают сами ?
почему вы не думаете про образовательный моменты ?

На самом деле, отвечая на сообщения ТС, помощь идёт не только ему, но ещё и многим читающим.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version