Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 33

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

23.12.2020, 09:47. Показов 1833. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru