Я новичок в jython, и мне интересно создать функцию, которая работает со списком. В основном то, что я пытаюсь сделать с помощью приведенной ниже функции, - это создать функцию, которая будет перебирать весь мой список, затем находить наименьшее значение в этом списке и возвращать переменную с наименьшим числом. Хотя я продолжаю получать возврат функции min по адресу 0x26 каждый раз, когда я выполняю main(), я получаю одно и то же сообщение, но кажется, что функция min по адресу 0x26 будет учитываться up ex: 0x27, 0x28... Не уверен, почему это так. Поскольку мой список содержит только целые числа от минимума 0 до максимума 99.
Вот исходный код:
def min(dataset): #defining a function minimum, with input dataset(the list we are using)..
min = dataset[0]
for num in range(0, len(dataset)):
if dataset[num] < min:
min = dataset(num)
return min
minimum = min(dataset)
print(str(minimum))
Вот код целиком. Хотя в настоящее время у меня есть способ найти минимальные/максимальные значения в списке. Я хочу перейти к функции, так как хочу знать, как правильно использовать функцию.
def main( ):
dataset = [0]
file = open("D:\numbs.dat", "r")
for line in file: #loop for writing over every line to a storage loc.
num = int(float(line)) #converting int to string
dataset.append(num) #appending the data to 'dataset' list
max = dataset[0] #setting an imaginary max initially
low = dataset[0] #setting an imaginary low initially
for i in range(0, len(dataset)): #for loop to scan thru entire list
if dataset[i] > max: #find highest through scan and replacing each max in var max
max = dataset[i]
if dataset[i] < low: #find lowest through scan and replacing each max in var max
low = dataset[i]
#printNow(dataset) #printing the list in its entirety
#printNow("The maximum is " +str(max)) #print each values of lowest and highest
#printNow("The lowest is " +str(low))
def min(dataset): #defining a function minimum..
min = dataset[0]
for num in range(0, len(dataset)):
if dataset[num] < min:
min = dataset(num)
return min
minimum = min(dataset)
print(str(minimum)) #test to see what output is.
Как упоминалось выше, существует цикл for для нахождения максимальных/минимальных значений. Хотя я пытался сделать то же самое для функции, которую я пытаюсь создать...
содержимое numbs.dat можно найти здесь (1001 запись):
Дайте мне знать, что, черт возьми, я делаю неправильно. Спасибо!
@ohGosh добро пожаловать в переполнение стека. Вы почти у цели. Есть несколько проблем с вашей программой