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

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

30.03.2023, 01:19. Показов 1139. Ответов 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
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
30.03.2023, 04:13
Лучший ответ Сообщение было отмечено Faith725 как решение

Решение

функция max() например выдает 9 когда в массиве есть 10, …как это можно обьяснить
Если в функцию передается массив строк…
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 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
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 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
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru