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

TypeError: '>' not supported between instances of 'map' and 'int'

11.08.2019, 07:31. Показов 10539. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте столкнулся с этой ошибкой, мне кажется я уже все что мог перевернул, переделал - ничего.( Помогите пожалуйста!

Суть программы в том, чтобы найти максимальное и минимальное число, далее из всех чисел убрать максимальное и минимальное число и найти среднее арифметическое оставшихся чисел.

Всего чисел 6.

Входные данные:

5.8 5.5 5.7 5.9 6 5.7

Выходные данные:

5.7750 # (Среднее арифметическое)
5.5000 # (Минимальное)
6.0000 # (Максимальное)

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a = map(float, input().split())
max = -1
min = 11
arif = 0
 
for i in range(5):
    if a > max:
        max = a
        print(max * '%.4f')
 
    if a < man:
        min = a
        print(min * '%.4f')
    
    arif += a
    
print(((arif - (min + max)) / 4) * '%.4f')
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.08.2019, 07:31
Ответы с готовыми решениями:

TypeError: '>' not supported between instances of 'NoneType' and 'int'
Почему выдает ошибку в строке 53? import black_jack import games #Класс BJ_Card #расширяет функциональность своего базового...

TypeError: '<' not supported between instances of 'str' and 'int'
Я писал код и столкнулса с проблемой. Версия питона 3.7.2 сам код x = input ('x=') if x&lt;-7: y=5*x-1 else: if x&gt;=-7...

TypeError: '<' not supported between instances of 'int' and 'str'
Всем привет такая проблема этот код для бинарного описка выдает ошибку в чем причина? def binary_search_iterative(array, element): ...

17
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.08.2019, 07:45
Atakishiev, первым делом переименуй переменные, чтобы они не совпадали с зарезервированными словами (max, min)
1
0 / 0 / 0
Регистрация: 10.08.2019
Сообщений: 10
11.08.2019, 10:01  [ТС]
Переименовал, но ошибка осталась та же. Только вместо int показывает float.

TypeError: '>' not supported between instances of 'map' and 'float'
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
11.08.2019, 10:27
Лучший ответ Сообщение было отмечено Atakishiev как решение

Решение

Atakishiev, ну так
1) код в студию!
2) текст ошибки в каком месте не ясен?

Добавлено через 1 минуту
Цитата Сообщение от Atakishiev Посмотреть сообщение
a = map(float, input().split())
переменная а у тебя это объект мап! зачем ты мап пытаешься сравнить с числом? може тебе надо не мап, а лист и брать из него по 1 элементу?

Добавлено через 2 минуты
Цитата Сообщение от Atakishiev Посмотреть сообщение
for i in range(5):
вот тут ты должен лист перебирать полученный в а , а вместо этого ты пишешь range(5), хотя я же могу не 5 а 10 чисел ввести.
То ли ты скопипастил код ничего в нем не понимая, то ли не понимаешь сути задачи
0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
11.08.2019, 11:42
Господа, я Вас правильно понял?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import random
def finder(n):
    mlist=[random.randint(-10,10)  for i in range(n)] #
    print(mlist)# выводим список
    print(max(mlist))#получаем мax
    print(min(mlist))#получаем мin
    mlist.remove(max(mlist))# и max
    mlist.remove(min(mlist))# удаляем мin
    print(mlist)# результат
    print(sum(mlist)*len(mlist))# среднее
    return mlist# возврат
 
 
if __name__ == '__main__':# точка входа
    finder(n=12) # рьработака
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
11.08.2019, 11:46
Цитата Сообщение от Dax Посмотреть сообщение
Господа, я Вас правильно понял?
к сожалению, нет
1) сделай чтоб функция принимала лист, а не формировала его внутри себя, да еще и из интов (автору нужны флоты)
2) выводи только то, что нужно автору (смотри шапку)
3) раз нужен только вывод -не нужно ничего возвращать
4) открой учебник и посмотри как находят среднее-арифметическое)) опять не проверял код?)))
1
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
11.08.2019, 12:00
Welemir1, спасибо, ошибку со средним увидел, там же деление)),а вот о том, что list должен приниматься - не словил сразу
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
def finder(n):
 
    print(mlist)# выводим список
    print(max(mlist))#получаем мax
    print(min(mlist))#получаем мin
    mlist.remove(max(mlist))# и max
    mlist.remove(min(mlist))# удаляем мin
    print(mlist)# результат
    print(sum(mlist)/len(mlist))# среднее
 
 
 
if __name__ == '__main__':# точка входа
    n=int(input())
    mlist = [random.uniform(-10.1, 10.1) for i in range(n)]
    finder(n)
Добавлено через 5 минут
пошаговый вывод, это , как раз, свидетельство того, что код проверяется, да и автору легче будет понять,, как сделано, некоторые - сразу просят каждую строку комментировать, вот я и перестраховался.
Автору сразу вот так было бы желательно
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
import random
def finder(n):
    print(mlist)# выводим список
    print(max(mlist))#получаем мax
    print(min(mlist))#получаем мin
    # mlist.remove(max(mlist))# и max
    # mlist.remove(min(mlist))# удаляем мin
    # print(mlist)# результат
    print(sum(mlist)/len(mlist))# среднее
if __name__ == '__main__':# точка входа
    n=int(input())
    mlist = [random.uniform(-10.1, 10.1) for i in range(n)]
    finder(n)
0
11.08.2019, 12:02

Не по теме:

Dax, просто из интереса -в чем код пишешь? если в пичарме то перед копированием оного нажимай Ctrl+Alt+L - автоматически расставит пробелы, отступы, а то у тебя странное оформление.

0
Эксперт Python
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
11.08.2019, 12:09
Welemir1, спасибо, учту.

Добавлено через 4 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
 
 
def finder(n):
    print(mlist)  # выводим список
    # print(max(mlist))#получаем мax
    # print(min(mlist))#получаем мin
    # mlist.remove(max(mlist))# и max
    # mlist.remove(min(mlist))# удаляем мin
    # print(mlist)# результат
    print(sum(mlist) / len(mlist))  # среднее
 
 
if __name__ == '__main__':  # точка входа
    n = int(input())
    mlist = [random.uniform(-10.1, 10.1) for i in range(n)]
    finder(n)
Форматирование и тор поправил, код подходит))?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
11.08.2019, 12:12
Цитата Сообщение от Dax Посмотреть сообщение
код подходит))?
автора задачи ждем для оценки
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.08.2019, 13:43
Цитата Сообщение от Dax Посмотреть сообщение
код подходит))?
Тут есть еще нюанс - убрать по одному минимуму и максимуму, или все?
Судя по ожидаемому результату - по одному, но все-таки...
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
11.08.2019, 14:35
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def del_elem (elem):
    for i in reversed(range(len(lst))):
        if lst[i] == elem:
            lst.pop(i)
 
lst = list(map(float, input().split()))
min_el = min(lst)
max_el = max(lst)
 
for el in (min_el,max_el):
    del_elem (el)
    
print('%.4f' % (sum(lst) / len(lst)),'# (Среднее арифметическое)')
print('%.4f' % min_el,'# (Минимальное)')
print('%.4f' % max_el,'# (Максимальное)')
1
0 / 0 / 0
Регистрация: 10.08.2019
Сообщений: 10
11.08.2019, 14:36  [ТС]
Приношу свои извинения, так как не указал всевозможные функции. В задаче можно было использовать только циклы и условия. Благодарю всех, вы очень помогли. Согласно всем условиям задачи я справился с заданием.

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
a = map(float, input().split()) # Объединяем все числа в одну строку
 
# Далее идут переменные, благодаря которым будут производиться нужные вычисления
Max = -1.0 # Для максимального числа
Min = 11.0 # Для минимального числа
arif = 0.0 # Для нахождения среднего арифметического числа
 
for i in a: # Достаем из map каждое число
    
    # Находим максимальное число
    if i > Max:
        Max = i
    
    # Находим минимальное число
    if i < Min:
        Min = i
    
    # Находим сумму всех чисел
    arif += i
 
# Из суммы вычитаем минимальное и максимальное число, чтобы найти сумму оставшихся 4-х чисел согласно условию задачи. Далее находим среднее арифметическое этих чисел
arif = (arif - (Min + Max)) / 4
 
# Выводим все числа с 4-мя знаками после запятой согласно условию задачи
print("%.4f" % arif)
print("%.4f" % Min)
print("%.4f" % Max)
Я постарался написать понятные комментарии почти в каждой строке, чтобы тем кто столкнулся с такой же проблемой смогли решить её.
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
11.08.2019, 14:41
Atakishiev, у вас привязан код к определенным данным
Python
1
2
Max = -1.0 # Для максимального числа
Min = 11.0 # Для минимального числа
не нужны эти переменные с заданными значениями. их нужно получить из входных данных
0
0 / 0 / 0
Регистрация: 10.08.2019
Сообщений: 10
11.08.2019, 14:47  [ТС]
Semen-Semenich, Я не могу их получить, так как не могу использовать зарезервированные слова(max, min). Поэтому взял числа, которые не входят в диапазон от 0 до 10, так как этот диапазон указан в условии задачи. Если есть другие пути решения, было бы интересно на них взглянуть.
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
11.08.2019, 15:47
Цитата Сообщение от Atakishiev Посмотреть сообщение
так как не могу использовать зарезервированные слова(max, min
ну вообще это это функции. вот вам самописные мин и мах но можно это все просто в коде найти без функций
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def min_el (lst):
    min_ = lst[0]
    for el in lst:
        if el < min_:
            min_ = el
    return min_
 
def max_el (lst):
    max_ = lst[0]
    for el in lst:
        if el > max_:
            max_ = el
    return max_
Цитата Сообщение от Atakishiev Посмотреть сообщение
которые не входят в диапазон от 0 до 10, так как этот диапазон указан в условии задачи
вот именно. а если измениться диапазон то вам нужно будет менять эти значения вне диапазона а если вы не знаете какой диапазон будет на входе? вот вам и тупик.вот вам пример без стандартных функций( исключение input,range и float но и их можно самому написать но это уже другая тема)
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
def min_el (lst):
    min_ = lst[0]
    for el in lst:
        if el < min_:
            min_ = el
    return min_
 
def max_el (lst):
    max_ = lst[0]
    for el in lst:
        if el > max_:
            max_ = el
    return max_
 
def len_(lst):
    result = 0
    for _ in lst:
        result += 1
    return result
    
def del_elem (elem):
    for i in range(len_(lst))[:-1]:
        if lst[i] == elem:
            lst.pop(i)
 
def arithmetical(lst):
    numerator = 0
    for num in lst:
        numerator += num 
    return numerator / len_(lst)
        
lst = [float(i) for i in input().split()]
min_el = min_el (lst)
max_el = max_el (lst)
 
for el in (min_el,max_el):
    del_elem (el)
    
print('%.4f' % arithmetical(lst),'# (Среднее арифметическое)')
print('%.4f' % min_el,'# (Минимальное)')
print('%.4f' % max_el,'# (Максимальное)')
и не привязано к конкретным данным на входе, главно чтоб это были числа через пробел
в
0
0 / 0 / 0
Регистрация: 10.08.2019
Сообщений: 10
11.08.2019, 15:58  [ТС]
Semen-Semenich, Я же ответил, что нельзя использовать ничего, кроме условий и циклов. Функции запрещены.
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
11.08.2019, 16:03
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
вот вам самописные мин и мах но можно это все просто в коде найти без функций
я вам тоже уточнил. то есть все что внутри функций пишется просто в коде а там вам условия и циклы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.08.2019, 16:03
Помогаю со студенческими работами здесь

TypeError: '<=' not supported between instances of 'list' and 'int'
if __name__ == '__main__': qwe = zxc = p = Pool(5) p.map(main, qwe, zxc) TypeError: '&lt;=' not supported...

TypeError: '>' not supported between instances of 'int' and 'NoneType'
import random &quot;&quot;&quot; Simple algorithms BinarySearch Sort bubble &quot;&quot;&quot; def binarySearch(alias,seek): start=0 ...

TypeError: '<' not supported between instances of 'str' and 'int'
Добрый день, друзья! Подскажите, пожалуйста, что мне надо поменять в программе, чтобы список сортировался по возрастанию? a = a = a + ...

TypeError: '>' not supported between instances of 'NoneType' and 'int' ?
def f(N): n = bin(N) if N%2==0: n+=n else: n= '1'+n+'1' return int(n,2) m=1000

Ошибка TypeError: '>=' not supported between instances of 'str' and 'int'
vremya=input('Сколько сейчас время?') if vremya &gt;= 4-00 and vremya &lt;=9-59: print('Доброе утро!') elif vremya &gt;= 10-00 and...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью 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 , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru