def Goods(t):
        max_n = t.index(max(t))
        min_n = t.index(min(t))
        return max_n,min_n
    
    t = [-125,-164,1237,809,5634,1278,8431]
    Goods(t, len(t))

Привет. Я пытаюсь найти два значения в списке и получить в результате индексный кортеж. Два значения - максимальное и минимальное.

(6, 1)
>>> print(Goods([-125,-164,1237,809,5634,1278,8431]))
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    print(Goods([-125,-164,1237,809,5634,1278,8431]))
TypeError: Goods() missing 1 required positional argument: 'n'

Я нашел ценность. Но мне нужен способ получить результаты, когда я набираю «print (Goods ([- 125, -164,1237,809,5634,1278,8431])» вот так.

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

0
comQ 4 Окт 2020 в 22:39

1 ответ

Лучший ответ

Вы не предоставили своей функции все аргументы. Должно быть:

def Goods(t, n):
    max_n = t.index(max(t))
    min_n = t.index(min(t))
    print((max_n,min_n))

buff_list = [-125,-164,1237,809,5634,1278,8431];
Goods(buff_list, len(buff_list))

Если вы хотите распечатать значения, вы должны попросить функцию что-то вернуть. То есть измените свою функцию на:

def Goods(t, n):
    max_n = t.index(max(t))
    min_n = t.index(min(t))
    return (min_n, max_n)

print(Goods(buff_list, len(buff_list)))
1
liorr 4 Окт 2020 в 19:47