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

Функция max() возвращает неверные данные

30.03.2023, 01:19. Показов 1153. Ответов 7

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def top_5(mass):
    top_5 = list()
    top_5.append(max(mass))
    top_5_index = list()
    top_5_index.append(mass.index(max(mass)))
    while (len(top_5) < size_gr.size_group()):
        temp = min(mass)
        temp_index = mass.index(min(mass))
        for i in range(len(mass)):
            if (float(temp) <= float(mass[i]) and (i not in top_5_index)):
                temp = mass[i]
                temp_index = i
 
        top_5.append(temp)
        top_5_index.append(temp_index)
 
    return top_5
Написал такой код который возвращает массив топ 5 из mass, но при тесте заметил что функция max() например выдает 9 когда в массиве есть 10, как это исправить и как это можно обьяснить
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.03.2023, 01:19
Ответы с готовыми решениями:

Функция возвращает старые данные
Доброго всем дня! Растолкуйте пожалуйста, в чем трабл: есть модуль, который возвращает список о текущей погоде. def...

Не работают циклы, функция возвращает неверные значения
Уважаемые коллеги, помогите найти ошибку (сам файл и его изображения прикреплены). Описание функции: Функция должна возвращать...

Android SQLite функция MAX возвращает не верное значение
И так, функция MAX(_id) при запросе к БД выдаёт не верное значение. А если точнее то если количество записей &lt;127 всё работает...

7
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
30.03.2023, 04:13
Лучший ответ Сообщение было отмечено Faith725 как решение

Решение

функция max() например выдает 9 когда в массиве есть 10, …как это можно обьяснить
Если в функцию передается массив строк…
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
30.03.2023, 07:37
Faith725, что это? Пытаюсь запустить твой код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def top_5(mass):
    top_5 = list()
    top_5.append(max(mass))
    top_5_index = list()
    top_5_index.append(mass.index(max(mass)))
    while (len(top_5) < size_gr.size_group()):
        temp = min(mass)
        temp_index = mass.index(min(mass))
        for i in range(len(mass)):
            if (float(temp) <= float(mass[i]) and (i not in top_5_index)):
                temp = mass[i]
                temp_index = i
 
        top_5.append(temp)
        top_5_index.append(temp_index)
 
    return top_5
    
print(top_5([2,4,65,2,1,8,1,2,6,9,22,11]))
Вывод:

File "/home/main.py", line 19, in <module>
print(top_5([2,4,65,2,1,8,1,2,6,9,22,11]))
File "/home/main.py", line 6, in top_5
while (len(top_5) < size_gr.size_group()):
NameError: name 'size_gr' is not defined

Что такое size_gr??? И у тебя одним именем обозначена и функция, и локальная переменная...

Тебе нужно пять максимумов? Если массив небольшой, просто отсортируй его встроенной функцией и возьми пять с конца:


Python
1
2
3
4
def top_5(arr):
    return sorted(arr)[-1:-5:-1]
 
print(top_5([2,4,65,2,1,8,1,2,6,9,22,11]))
1
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
30.03.2023, 08:14
можно через модуль:
Python
1
2
3
4
5
6
7
8
import heapq
 
 
def tops(arr: list, n: int) -> list:
    return heapq.nlargest(n, arr)
 
 
print(tops([2, 4, 65, 2, 1, 8, 1, 2, 6, 9, 22, 11], 5))
1
1 / 1 / 0
Регистрация: 15.10.2022
Сообщений: 14
30.03.2023, 14:55  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Что такое size_gr???
Это сколько в группе человек(если хотите проверить код возьмите например 5) и извиняюсь за некорректный код. Но проблема осталась 10 считается меньше 9
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
30.03.2023, 14:57
Цитата Сообщение от Faith725 Посмотреть сообщение
Но проблема осталась 10 считается меньше 9
- у меня 10 > 9. Свой код выкинь. Он убийственный. Тебе выше написали, что если сортировать не числа, а строки, то да "9" > "10".

Если очень хочется сортировать строки, то можно так:

Python
1
2
3
4
5
def top_5(arr):
    tmp=sorted(list(map(int,arr)))[-1:-5:-1]
    return list(map(str,tmp))
 
print(top_5(["2","4","65","2","10","8","1","2","6","9","22","11"]))
1
1 / 1 / 0
Регистрация: 15.10.2022
Сообщений: 14
30.03.2023, 15:03  [ТС]
Пофиксил проблему оказывается я передавал массив, который был как массив строк
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
30.03.2023, 15:05
Faith725, о чем тебе сразу же и написали.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.03.2023, 15:05
Помогаю со студенческими работами здесь

Функция max 3, по трем целым возвращает наибольшее из них
Здравствуйте, мне нужно сделать данное задание: функция max 3, по трем целым возвращает наибольшее из них. Алгоритм тут понятен: 1)a==b...

Функция возвращает некорректные данные
Привет! Сразу к делу: не понимаю, почему функция возвращает неверное значение. Вот код метода: inline Vec2 &lt;float&gt;...

Функция иногда возвращает ложные данные
Имеется web сервис для проверки статуса заказа, при тестировании всплыл баг, иногда функция запроса из базы выдает неверные данные. ...

Функция IF не возвращает нужные данные в VBA Excel
Доброе время суток! Я написал макрос для подсчета показателей в VBA Excel. После ввода всех данных, макрос в зависимости от показателя...

Показать в программе где входные и выходные данные функции и как передаются? Что возвращает функция?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru