2

Как написать такую программу?

Написать программу решения задачи, используя функции:

  • в основной функции ввести с клавиатуры или вычислить с помощью генератора случайных чисел 10 элементов массива действительного типа и напечатать результат вычислений

  • в вспомогательной - вычислить скалярную величину, согласно варианта задания

Задание

Моя попытка:

import math
import random
def sum(k1,i1):
    s=0
    for k in range (k1,i1):
        s=s+x[k]
    return s
def pr (i1,ik):
    p=1
    for i in range (i1,ik):
        z=sum(k1,i1)
        if (z!=0):
            g=p*(1+x[i]/z*x[k])
    return p
i1=int(input())
ik=int(input())
k1=int(input())
X=[]
for i in range (10):
    a=random.randint(0,10)
    X.append(a)
g=pr(i1,ik)
print("Massiv X")
print (X)
print("g=",g)
Oziwek
  • 51
  • список можно просто так заполнить: X = [random.randint(0,10) for i in range(10)] – gil9red May 20 '18 at 16:34

1 Answers1

1

Попробуйте так:

import random

def f(x):
    n = len(x)
    res = 1
    for i in range(n):
        res *= 1 + x[i] / sum(x[i:])
    return res

random.seed(123)        
x = [random.random() for i in range(10)]

print('Исходный список: {}'.format(x))
print('Результат функции: {:.3f}'.format(f(x)))

результат:

Исходный список: [0.052363598850944326, 0.08718667752263232, 0.4072417636703983, 0.10770023493843905, 0.9011988779516946, 0.0381536661023224, 0.5362020400339269, 0.33219769850967984, 0.8520866189293687, 0.1596623967219699]
Результат функции: 9.626
MaxU - stand with Ukraine
  • 149,321
  • 12
  • 59
  • 132