powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите разобраться
8 сообщений из 8, страница 1 из 1
Помогите разобраться
    #38671870
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая тут ошибка, да и вообще, что тут делается?

print reduce(lambda x, y: x+y, filter(lambda x: x%2, map(lambda x: x*x, xrange (10**6)))) = sum(x*x for x in xrange(1, 10**6, 2))

Всё, что мы видим - это лишь иллюзия ...
...
Рейтинг: 0 / 0
Помогите разобраться
    #38671945
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо оператора присваивания должен быть оператор сравнения.

Код: python
1.
print reduce(lambda x, y: x+y, filter(lambda x: x%2, map(lambda x: x*x, xrange (10**6)))) == sum(x*x for x in xrange(1, 10**6, 2))



Результат: True


Эта строчка проверяет, равна ли сумма квадратов четных чисел от 1 до миллиона, сумме четных квадратов чисел от 1 до миллиона.
...
Рейтинг: 0 / 0
Помогите разобраться
    #38671956
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее нечетных чисел конечно же.
...
Рейтинг: 0 / 0
Помогите разобраться
    #38671989
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvano,

Спасибо
...
Рейтинг: 0 / 0
Помогите разобраться
    #38672053
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маслов Андрейanvano,

Спасибо
Что-то мой мозг закипел от определения, ещё раз:
сумма квадратов нечётных чисел равна ли сумме нечётных квадратов чисел?
...
Рейтинг: 0 / 0
Помогите разобраться
    #38672233
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маслов АндрейМаслов Андрейanvano,

Спасибо
Что-то мой мозг закипел от определения, ещё раз:
сумма квадратов нечётных чисел равна ли сумме нечётных квадратов чисел?


Левая часть возводит в квадрат ВСЕ (и четные и нечетные) числа до миллиона, а потом отбирает нечетные значения квадратов. Потом суммирует эти нечетные квадраты.

Правая часть отбирает все НЕЧЕТНЫЕ числа до миллиона, возводит их в квадрат. Потом суммирует эти квадраты.


Проверка доказывает, что полученные суммы равны.

Типа сумма "нечетных квадратов" равна сумме квадратов "нечетных чисел".
...
Рейтинг: 0 / 0
Помогите разобраться
    #38672244
anvano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще детальнее:

Левая часть:
xrange (10**6) - на выходе массив чисел от 1 до миллиона
lambda x: x*x - лямбда функция возведения в квадрат
map( xxx , yyy ) - применяет к каждому числу из массива функцию возведения в квадрат. На выходе - массив квадратов.

filter(lambda x: x%2, <массив квадратов> ) - оставляет из массива квадратов только те значения, для которых x%2 не ноль (то есть нечетные). На выходе - массив нечетных квадратов

reduce(lambda x, y: x+y , <массив нечетных квадратов> ) - тупо суммирует этот массив. На выходе - сумма нечетных квадратов


Правая часть:

xrange(1, 10**6, 2) - на выходе - массив чисел от 1 до миллиона с шагом 2, то есть все нечетные числа
sum(x*x for x in ..... ) - суммирует квадраты этих нечетных чисел


Потом значение слева и справа сравниваются. Результат сравнения (булевое True) выводится функцией print
...
Рейтинг: 0 / 0
Помогите разобраться
    #38678298
Фотография Маслов Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anvanoЕще детальнее:

Левая часть:
xrange (10**6) - на выходе массив чисел от 1 до миллиона
lambda x: x*x - лямбда функция возведения в квадрат
map( xxx , yyy ) - применяет к каждому числу из массива функцию возведения в квадрат. На выходе - массив квадратов.

filter(lambda x: x%2, <массив квадратов> ) - оставляет из массива квадратов только те значения, для которых x%2 не ноль (то есть нечетные). На выходе - массив нечетных квадратов

reduce(lambda x, y: x+y , <массив нечетных квадратов> ) - тупо суммирует этот массив. На выходе - сумма нечетных квадратов


Правая часть:

xrange(1, 10**6, 2) - на выходе - массив чисел от 1 до миллиона с шагом 2, то есть все нечетные числа
sum(x*x for x in ..... ) - суммирует квадраты этих нечетных чисел


Потом значение слева и справа сравниваются. Результат сравнения (булевое True) выводится функцией print

Спасибо
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите разобраться
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]