Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 09.11.2021
Сообщений: 48

Не работает math.prod()

07.04.2022, 18:47. Показов 2614. Ответов 5

Студворк — интернет-сервис помощи студентам
Возникла проблема с math.prod(). Вот пример кода:

Code
1
2
3
4
5
6
7
8
9
10
import math
 
number = input('Введите целое число: ')
listed_number = list(number)
mapped_number = map(int, listed_number)
print('Количество цифр:', len(listed_number))
print('Сумма цифр:', sum(mapped_number))
print('Произведение цифр:', math.prod(mapped_number))
print('Наименьшая цифра:', min(listed_number))
print('Наибольшая цифра:', max(listed_number))
Программа выводит следующее:

Введите целое число: 123456789
Количество цифр: 9
Сумма цифр: 45
Произведение цифр: 1
Наименьшая цифра: 1
Наибольшая цифра: 9

Как видите, sum() сработал как надо, а math.prod() подвёл. Как это исправить?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2022, 18:47
Ответы с готовыми решениями:

Составить программу использующую функцию math.sin() и math.cos()
Интересно решить задачу но на ум ничего не приходит...

СМА Elctrolux EWX 1237 Prod. N. 914601229 01, Не работает сушка
Все доброго времени суток. В ремонте данная СМА. Со слов клиента, растянулся ремень с двигателя сушки на вентилятор, вентилятор встал. Он...

Не работает Math.h в qt
Выдаёт ошибку на Math.Sqrt()

5
 Аватар для Пифагор
2172 / 1655 / 840
Регистрация: 10.01.2015
Сообщений: 5,207
07.04.2022, 19:00
Лучший ответ Сообщение было отмечено 4disc0nnect4 как решение

Решение

4disc0nnect4, в 5ой строке преобразуйте map в list
1
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2022, 19:01
4disc0nnect4, map возвращает итератор, после строчки
print('Сумма цифр:', sum(mapped_number))
этот итератор уже удален из памяти. прочитайте про это.
1
0 / 0 / 0
Регистрация: 09.11.2021
Сообщений: 48
07.04.2022, 19:14  [ТС]
alilxxey, Понял, значит map одноразовый, спасибо
0
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2022, 19:18
4disc0nnect4, ну одноразовый - не та формулировка. Итераторы это очень крутая вещь
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.04.2022, 23:05
Итераторы можно размножать:
Python
1
2
3
4
5
6
7
8
9
10
11
12
>>> from  itertools import tee
>>> mapped_number = map(int, "123456789")
>>> it = tee(mapped_number,4) # создаем 4 независимых итератора из одного
>>> sum(it[0])
45
>>> math.prod(it[1])
362880
>>> min(it[2])
1
>>> max(it[3])
9
>>>
Добавлено через 2 минуты
Цитата Сообщение от 4disc0nnect4 Посмотреть сообщение
map одноразовый,
map очень даже многоразовый. Потому что map это не итератор, а функция. Которая возвращает итератор.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2022, 23:05
Помогаю со студенческими работами здесь

Не работает math.h
Почему-то мнения функций этой библиотеки сильно расходятся с мнениями моего калькулятора. По крайней мере функции синуса косинуса и...

СМА Zanussi FA 1023-1 prod. n. 914780218 02, Не заливает воду, постоянно работает насос
Коллеги, приветствую. В ремонте СМА, на любой программе нет залива и постоянно работает насос. На отжим выходит нормально. Питания...

Почему Math.round(Math.random() * (max - min) дает неравномерное распределение?
Если min - 0, а max - целое. Рекомендуют Math.floor(Math.random() * (max - min + 1)) вместо Math.round(Math.random() * (max - min)) для...

Как работает Math.random()
Здравствуйте, вот начал осваивать новый язык, хочу заполнить массив числами от 1 до 100 for (int i=0; i<m; i++){ for (int...

Как работает Math.Sqrt() ?
Простите, если глупый вопрос. Начал сегодня учить. Что не могу разобраться. Когда мы пишем Math.Sqrt(), это означает, мы вызываем метод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru