Сортировка словаря с несколькими значениями на основе sum [duplicate]

Ваш Java-файл скомпилирован с другой версией (более поздняя версия компилятора), чем версия (более низкая версия исполнения), которую вы пытаетесь запустить.

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

Следовательно, вы показываете эту ошибку при попытке выполнить свою программу. Неподдерживаемая версия major.minor x.x

Q: Я создал приложение в Java 7, но когда мои пользователи пытаются его запустить, они получают ошибку Unsupported major.minor version 51.0. Что это значит и что я могу с этим поделать?

A: Если вы скомпилируете приложение с помощью javac в Java 7, то итоговые файлы классов будут иметь номер версии версии 51.0. Версии Java до 7 не распознают этот номер, поэтому вашим пользователям придется перейти на Java 7 до запуска вашего приложения. Если вы не используете Java 7 API, вы можете попытаться скомпилировать ваше приложение с помощью javac -target 1.6, чтобы создать 1.6-совместимый файл класса. Если ваше приложение развернуто с помощью webstart, вы можете указать минимальную требуемую версию. Для получения дополнительной информации см. Документы в Java Web Start и JNLP. Эта проблема исчезнет, ​​как только мы запустим autoupdate для Java 7 для конечных пользователей, в настоящее время имеющих Java 6 на своих рабочих столах. Временная шкала для этого еще не определена, мы хотим дать разработчикам время для разработки любых проблем между их кодом и JDK 7. Сначала

(Источник: oracle.com [/ д0].)

6
задан Eric Leschinski 12 May 2015 в 00:25
поделиться

3 ответа

Вероятно, вы переопределили свою функцию «sum» как целочисленный тип данных. Поэтому справедливо сказать вам, что целое число не является чем-то, что вы можете передать диапазону.

Чтобы исправить это, перезапустите свой интерпретатор.

Python 2.7.3 (default, Apr 20 2012, 22:44:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> data1 = range(0, 1000, 3)
>>> data2 = range(0, 1000, 5)
>>> data3 = list(set(data1 + data2)) # makes new list without duplicates
>>> total = sum(data3) # calculate sum of data3 list's elements
>>> print total
233168

Если вы затеняете встроенный sum, вы можете получить сообщение об ошибке, которое вы видите

>>> sum = 0
>>> total = sum(data3) # calculate sum of data3 list's elements
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

Также обратите внимание, что sum отлично работает на set, нет необходимости преобразовывать его в list

17
ответ дан Eric Leschinski 18 August 2018 в 15:30
поделиться

В интерпретаторе легко его перезапустить и исправить такие проблемы. Если вы не хотите перезапускать интерпретатор, есть еще один способ его исправить:

Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> l = [1,2,3]
>>> sum(l)
6
>>> sum = 0 # oops! shadowed a builtin!
>>> sum(l)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
>>> import sys
>>> sum = sys.modules['__builtin__'].sum # -- fixing sum
>>> sum(l)
6

Это также полезно, если вам присвоено значение любому другому встроенному, например dict или list

3
ответ дан Burhan Khalid 18 August 2018 в 15:30
поделиться

Это означает, что где-то еще в вашем коде у вас есть что-то вроде:

sum = 0

Что скрывает встроенную сумму (которая является вызываемой) с int (которая isn «т).

15
ответ дан lvc 18 August 2018 в 15:30
поделиться
  • 1
    Показанный код - это вся программа. Хотелось бы, чтобы все было так просто. Любые другие идеи? – mattste 26 June 2012 в 07:33
  • 2
    @mattste перезагрузите ваш интерпретатор python и попробуйте. – jamylak 26 June 2012 в 07:37
  • 3
    Работает сейчас. Спасибо за помощь! – mattste 26 June 2012 в 07:40
  • 4
    помогите мне много. спасибо – songhir 19 November 2013 в 03:40
Другие вопросы по тегам:

Похожие вопросы: