Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/75: Рейтинг темы: голосов - 75, средняя оценка - 4.71
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 307
1

Напишите функцию, которая принимает массив и индекс i и возвращает произведение всех элементов массива

06.03.2019, 20:43. Показов 13498. Ответов 14
Метки нет (Все метки)

Напишите функцию, которая принимает массив и индекс i и возвращает произведение всех элементов массива, находящихся на индексах от 0 до i.
Функцию написал, а снизу решил проверку сделать. Однако выдает ошибку в 1-ой строке def = masi(mas, i): SyntaxError: invalid syntax. Подскажите, как это исправить. Заранее огромное спасибо))
Python
1
2
3
4
5
6
7
8
9
10
11
def = masind(mas, i):
    for i in mas:
        y = x[i]*x[i+1]
        return y
 
a = int(input())
b = int(input())
c = int(input())
mas = range(a, b, c)
z = masind(mas)
print(z)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2019, 20:43
Ответы с готовыми решениями:

Напишите функцию, которая принимает номер месяца и язык (русский или английский), а возвращает его название
Пример 1 Ввод print(month_name(3, "en")) Вывод march Пример 2

Напишите функцию, которая создает, заполняет и возвращает матрицу заданного размера
Напишите функцию, которая создает, заполняет и возвращает матрицу заданного размера. При этом (в...

Напишите функцию is_sorted, которая берет список как параметр и возвращает True
Напишите функцию is_sorted, которая берет список как параметр и возвращает True, если список...

Как реализовать функцию, которая принимает и возвращает в массив уникальные значения из исходного массива
Объясните пожалуйста, как реализовать функцию uniq, которая принимает, как аргумент, массив, и...

14
1032 / 567 / 242
Регистрация: 15.01.2019
Сообщений: 2,175
Записей в блоге: 1
06.03.2019, 20:52 2
Лучший ответ Сообщение было отмечено catauggie как решение

Решение

Цитата Сообщение от catauggie Посмотреть сообщение
def = masind(mas, i):
равно уберите. правда, у вас дальше ошибки полетят

Добавлено через 4 минуты
catauggie, очень много ошибок

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def masind(mas, i):
    prod = 1
    for j in mas[:i]:
        prod *= j
    return prod
 
a = int(input())
b = int(input())
c = int(input())
 
mas = [i for i in range(a, b, c)]
 
i = int(input())
z = masind(mas, i)
print(z)
1
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 307
06.03.2019, 21:07  [ТС] 3
Спасибо еще раз. Для меня важна любая помощь, ведь я только начал изучать Python (уже 4-ый день, кстати).
Если Вам не трудно, не могли бы Вы мне подсказать, как вы исправили код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def masind(mas, i): #Здесь задается функция
    prod = 1           #Что это?
    for j in mas[:i]:  #Здесь j вместо i для того, чтобы использовать разные переменные, верно? А почему mas[:i]?
        prod *= j      #Это, наверное, умножение последующего элемента на текущий, верно?
    return prod       #Возврат результата
 
a = int(input())  #ввод переменной
b = int(input())
c = int(input())
 
mas = [i for i in range(a, b, c)]    #Появление массива от a до b через шаг c. А к чему i for i ?
 
i = int(input())   #Это у нас количество индексов, элементы которых мы хотим перемножить, верно? 
z = masind(mas, i)   # ну хотя бы здесь мне понятно))
print(z)
Буду благодарен, если хоть на часть вопросов ответите. Мне действительно хочется понять что к чему.Спасибо за внимание)))
0
1032 / 567 / 242
Регистрация: 15.01.2019
Сообщений: 2,175
Записей в блоге: 1
06.03.2019, 21:47 4
Лучший ответ Сообщение было отмечено catauggie как решение

Решение

catauggie,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def masind(mas, i): #Здесь задается функция
    prod = 1           #Переменная, в которой будет накапливаться произведение чисел
    for i in mas[:i]:  #Можно вместо j использовать тот же i. Это, скорее, чтобы не запутаться. mas[:i] - срез списка. (ведь в списке может быть много чисел, а произведение нужно только i элементов, по-этому делается срез)
        prod *= i      #умножение последующего элемента на текущий. накапливание произведения.
    return prod       #Возврат результата
 
a = int(input())  #ввод переменной
b = int(input())
c = int(input())
 
mas = [i for i in range(a, b, c)]    #Создание массива от a до b через шаг c. list comprehention - i - число на каждой итерации цикла, которое добавляется в список
 
i = int(input())   #В принципе верно, но я бы перефразировал. Это индекс "крайнего" элемента, который используется для среза списка
z = masind(mas, i)   # ну хотя бы здесь мне понятно))
print(z)
1
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 307
06.03.2019, 22:26  [ТС] 5
Вместо Prod можно использовать другие переменные?
0
2985 / 1806 / 499
Регистрация: 02.09.2015
Сообщений: 4,630
06.03.2019, 23:32 6
Python
1
2
3
4
5
6
7
8
9
10
11
12
from functools import reduce
 
def product(a, i):
    return reduce(lambda x, y: x * y, a[:i])
 
def main():
    a = list(map(int, input().split()))
    i = int(input())
    print(product(a, i))
    
if __name__ == "__main__":
    main()
0
1032 / 567 / 242
Регистрация: 15.01.2019
Сообщений: 2,175
Записей в блоге: 1
06.03.2019, 23:41 7
Цитата Сообщение от catauggie Посмотреть сообщение
Вместо Prod можно использовать другие переменные?
можно. главное, чтобы они конфликтов не вызывали.
1
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 307
07.03.2019, 19:39  [ТС] 8
Большое спасибо за объяснения. Интереса ради мне хочется спросить: можно ли здесь
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
a = int(input()) #ввод переменной b = int(input()) c = int(input())
вводить вещественные числа или только целые?
0
1032 / 567 / 242
Регистрация: 15.01.2019
Сообщений: 2,175
Записей в блоге: 1
07.03.2019, 21:02 9
catauggie, попробуйте в каком-то ide ввести вещественное число здесь - и выведите его принтом.
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 307
07.03.2019, 21:23  [ТС] 10
Вводил в Python IDLE, Jupyter. Но выдает ошибку несовместимости типов:
Напишите функцию, которая принимает массив и индекс i и возвращает произведение всех элементов массива

То есть это только для целых числе, или, быть может, есть какие-нибудь способы ввода вещественных чисел?
0
1032 / 567 / 242
Регистрация: 15.01.2019
Сообщений: 2,175
Записей в блоге: 1
07.03.2019, 21:26 11
catauggie, список формируется по целым числам (не знаю, может, есть какой-о способ по вещественным это делать).
максимум что можете сделать - ввести вещественное число и преобразовать его в int.
1
8 / 5 / 3
Регистрация: 06.02.2019
Сообщений: 29
07.03.2019, 21:28 12
catauggie, ввести вещественные числа можно через float. Абстрактный пример:
Python
1
a = float(input())
Но конкретно тут, да, только целые. Можно вводить вещественные сразу с округлением через round.
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 307
07.03.2019, 21:29  [ТС] 13
А в питоне вообще есть функция рандомизации чисел?
0
8 / 5 / 3
Регистрация: 06.02.2019
Сообщений: 29
07.03.2019, 21:31 14
catauggie, да, есть модуль random. Импортируете его и там уже можете сгенерировать, например, случайное целое число: random.randint
0
24 / 5 / 0
Регистрация: 20.09.2018
Сообщений: 307
07.03.2019, 21:37  [ТС] 15
Спасибо за ответ. Конечно, по сравнению с паскалем, питон намного проще в понимании ( но для меня лично). Всегда рад помощи, которую неравнодушные люди оказывают на этом сайте. Всем еще разогромное спасибо за поддержку))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2019, 21:37

Напишите функцию Substring, которая принимает строку s и возвращает подстроку
Напишите функцию Substring(string s, Integer stratind, Integer length):String, которая принимает...

Сделать функцию, которая принимает одномерный массив и возвращает индексы его максимального и минимального элементов, с указателями. С++
Сделать функцию, которая принимает одномерный массив и возвращает индексы его максимального и...

Напишите функцию, которая принимает три числа в качестве параметров и возвращает их сумму.
Напишите функцию, которая принимает три числа в качестве параметров и возвращает их сумму. Пишите...

Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел
Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел. помогите...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru