如何使用递归使用 python 给出列表中的最小整数?
How to use recursion to give the minimum integer in a list using python?
我正在尝试编写一个名为 my_minimum
的递归函数,它接收一个整数列表作为参数,returns 接收列表中存储的最小值。我能够让用户输入由 space 分隔的整数。但是,它给了我一个与我想要实现的目标完全无关的数字。
例如,如果用户列表是:67 89 45 34 23 3 45 67 78
,它应该给我 3 而不是 23。
def my_minimum(A, n):
# if size = 0 means whole list
# also if it has been traversed
if (n == 1):
return A[0]
return min(A[n - 1], my_minimum(A, n - 1))
# Driver Code
if __name__ == '__main__':
input_string= input("Enter a list element separated by space: ")
A = input_string.split()
n = len(A)
print(my_minimum(A, n))
这是一个字符串比较问题,不是你的递归问题。字符串 "3"
比较大于字符串 "23"
,就像 "B"
按字典顺序排在 "AA"
之后。
如果您想要整数排序,请尝试将您的字符串转换为整数:
A = list(map(int, input_string.split()))
我正在尝试编写一个名为 my_minimum
的递归函数,它接收一个整数列表作为参数,returns 接收列表中存储的最小值。我能够让用户输入由 space 分隔的整数。但是,它给了我一个与我想要实现的目标完全无关的数字。
例如,如果用户列表是:67 89 45 34 23 3 45 67 78
,它应该给我 3 而不是 23。
def my_minimum(A, n):
# if size = 0 means whole list
# also if it has been traversed
if (n == 1):
return A[0]
return min(A[n - 1], my_minimum(A, n - 1))
# Driver Code
if __name__ == '__main__':
input_string= input("Enter a list element separated by space: ")
A = input_string.split()
n = len(A)
print(my_minimum(A, n))
这是一个字符串比较问题,不是你的递归问题。字符串 "3"
比较大于字符串 "23"
,就像 "B"
按字典顺序排在 "AA"
之后。
如果您想要整数排序,请尝试将您的字符串转换为整数:
A = list(map(int, input_string.split()))