Функция Python Min-Max - список в качестве аргумента для возврата элемента min и max - PullRequest
2 голосов
/ 07 марта 2012

Вопрос: напишите программу, которая сначала определяет функции minFromList (список) и maxFromList (список). Программа должна инициализировать пустой список, а затем запрашивать у пользователя целое число и продолжать запрашивать целые числа, добавляя каждое целое число в список, пока пользователь не введет один символ точки. Программа должна затем вызвать minFromList и maxFromList со списком целых чисел в качестве аргумента и распечатать результаты, возвращаемые вызовами функции.

Я не могу понять, как получить минимальное и максимальное значения для каждой функции отдельно. И теперь я добавил дополнительный код, поэтому я полностью потерян. Все помогает! Спасибо!

Что у меня так далеко:

def minFromList(list)

texts = []
    while (text != -1):
    texts.append(text)

high = max(texts)

return texts 

def maxFromList(list)

texts []
    while (text != -1):
    texts.append(text)

low = min(texts)

return texts



text = raw_input("Enter an integer (period to end): ")
list = []
while text != '.':
    textInt = int(text)
    list.append(textInt)
    text = raw_input("Enter an integer (period to end): ")

print "The lowest number entered was: " , minFromList(list)
print "The highest number entered was: " , maxFromList(list) 

1 Ответ

1 голос
/ 07 марта 2012

Я думаю, что часть задания, которая могла вас смущать, была об инициализации пустого списка и о том, где это сделать. Ваш основной орган, который собирает данные, хорош и делает то, что должен. Но в итоге вы сделали слишком много с вашими функциями max и min. Опять вводящая в заблуждение часть заключалась в том, что назначение заключалось в том, что вы предлагали написать собственную подпрограмму для этих функций, даже если max () и min () существуют в python и возвращают именно то, что вам нужно.

Это другая история, если вам нужно написать свои максимальные и минимальные значения и вам не разрешено использовать встроенные функции. В этот момент вам нужно будет перебрать каждое значение в списке и отследить самое большое или самое маленькое. Затем верните окончательное значение.

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

# looping over the items in a list
value = 1
for item in aList:
    if item == value:
        print "value is 1!"

# basic function with arguments and a return value
def aFunc(start):
    end = start + 1
    return end
print aFunc(1)
# result: 2

# some useful comparison operators
print 1 > 2  # False
print 2 > 1  # True

Надеемся, что этой общей информации будет достаточно для того, чтобы собрать воедино ваши пользовательские функции min и max. Хотя существуют более продвинутые и эффективные способы выполнения min и max, я думаю, для начала, простой цикл for по списку будет проще всего.

...