0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 33

Найти среднее количество трудозатрат на добычу каждой полезных ископаемых во всем объеме почвы в каждом пласте

23.12.2020, 09:47. Показов 1837. Ответов 1

Студворк — интернет-сервис помощи студентам
Задача: Найти среднее количество трудозатрат на добычу каждой полезных ископаемых во всем объеме почвы в каждом пласте (слое почвы).

Алгоритм программы работает таким образом, что программа перевибирае массив слой за слоем и в каждом слое выделяет один материал (оставим только определенную полезное ископаемое), после чего программа считает среднюю стоимость труд затрат на произведение полезного ископаемого в данном слое. Причем программа обращает внимание на труд затраты необходимые чтобы добраться до необходимого нам слоя (прокапывая все что выше заданного слоя) и так программа просчитает все слои которые мы будем рассматривать.

Нужно сравнить выполнение по времени программы без numpy и с ним
Вроде сделал
проблема с numpy не знаю что дальше делать?? выдает такую ошибку AttributeError: module 'numpy' has no attribute 'averange'
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import numpy as np
import random
import time
 
def create_arr(m, n, k):
    arr = [[[random.randint(0, 7) for i in range(m)] for j in range(n)] for l in range(k)]
    return arr
 
def print_arr(arr):
    print("(")
    for k in arr:
        print("\t(")
        for i in k:
            print("\t\t(", end="")
            for j in i:
                print(j, end=" ")
            print(")")
        print("\t)")
    print(")")
 
def labor_coasts_minerals_np(arr):
    coord = np.averange(arr == 7)
    ii = coord[:,2:] # координаты по длинне
    jj = coord[:,1:2] # координаты по ширине
    min_i = np.amin(ii)
    min_j = np.amin(jj)
    max_i = np.amax(ii)
    max_j = np.amax(jj)
    print("Coor (%d;%d) (%d;%d)" % (min_i, min_j, max_i, max_j))
    avg = (max_i + min_i + max_i + min_i) / 4
    print("averange = ", avg)
 
def labor_coasts_minerals (arr):
    min_i = m
    max_i = 0
    min_j = n
    max_j = 0
    for l in range(k):
        for j in range(n):
            for i in range(m):
                if arr[l][j][i] == 7:
                    if i >= max_i:
                        max_i = i
                    if i <= min_i:
                        min_i = i
                    if j >= max_j:
                        max_j = j
                    if j <= min_j:
                        min_j = j
    print("Coor (%d;%d) (%d;%d)" % (min_i, min_j, max_i, max_j))
    avg = (max_i + min_i + max_i + min_i) / 4
    print("averange = ", avg)
 
 
if __name__ == '__main__':
    m = 15 # Довжина
    n = 10 # Ширина
    k = 6 # Висота
 
    print("\t\tWITHOUT NP") # без numpy
    arr = create_arr(m, n, k)
    print_arr(arr)
    start_time = time.time()
    labor_coasts_minerals (arr)
    print("Time: %s seconds" % (time.time() - start_time))
 
    print("\n\t\tWITH NP") # З  numpy
    np_arr = np.array(arr) # Приводимо до вигляду ndarray
    # print(type(my_arr))
    start_time = time.time()
    labor_coasts_minerals_np(np_arr)
    print("time: %s seconds" % (time.time() - start_time))
Добавлено через 25 минут
"average" - сменил....далее такое:
line 23, in labor_coasts_minerals_np
ii = coord[:2:] # координаты по длинне
IndexError: invalid index to scalar variable.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.12.2020, 09:47
Ответы с готовыми решениями:

Найти среднее количество ископаемых с numpy
Нужно найти среднее количество ископаемых с numpy и без него и сравнить время выполнения.без numpy сделал.....можете подтолкнуть на мысль...

Установите ссответствие между названиями стран и запасами отдельных видов полезных ископаемых
8. Установите ссответствие между названиями стран и запасами отдельных видов полезных ископаемых: 1. Чили 2. Саудовская Аравия 3....

Установите ссответствие между названиями стран и запасами отдельных видов полезных ископаемых
8. Установите ссответствие между названиями стран и запасами отдельных видов полезных ископаемых: 1. Чили 2. Саудовская Аравия 3....

1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
24.12.2020, 11:04
Даже не знаю, что вам посоветовать.
Пройти базовый курс numpy - надо, но пока рано. Почитать про индексацию в питоне вообще. ":2:" - некорректно по синтаксису.
Плюс, конечно, неплохо бы понимать, что вы вообще делаете с точки зрения типов.
Цитата Сообщение от Damage99 Посмотреть сообщение
coord = np.averange(arr == 7)
ii = coord[:,2:] # координаты по длинне
averange поправили, окей. average - это среднее. По чему, по булеву массиву?
Если по массиву целиком - то получите скаляр. Что вы собрались брать у скаляра по индексам?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2020, 11:04
Помогаю со студенческими работами здесь

Придумать список некоторых объектов, например, названия товаров в магазинах; виды полезных ископаемых, которые добывают
Придумать список некоторых объектов, например, названия товаров в магазинах; виды полезных ископаемых, которые добывают в различных...

Придумать список некоторых объектов, например, названия товаров в магазинах; виды полезных ископаемых, которые добывают в различных странах; фамилии с
Придумать список некоторых объектов, например, названия товаров в магазинах; виды полезных ископаемых, которые добывают в различных...

В двумерном массиве A из m строк и n столбцов найти сумму элементов в каждой строке и среднее значение в каждом столбце
1)найти сумму элементов в каждой строке 2)Найти среднее значение в каждом столбце m=3 n=4 A -4 16 -1 16 1 11 6 -6 -1 ...

Найти среднее арифметическое из минимальных значений в каждой строке и максимальных значений в каждом столбце
Дана матрица размера M*N. Найти среднее арифметическое из минимальных значений в каждой строке и максимальных значений в каждом столбце.

В каждом массиве найти количество элементов, больших, чем вдвое за их среднее арифметическое
Массив В заполнить случайными числами из отрезка (Воспользоваться методом random () класса Math). Массив С образовать из массива В, ...


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

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

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru