如何使用python使用递归来给出列表中的最小整数



我正在尝试编写一个名为my_minimum的递归函数,该函数接收一个整数列表作为参数,并返回列表中存储的最小值。我可以让用户输入用空格分隔的整数。然而,它给了我一个与我试图实现的目标完全无关的数字。

例如,如果用户列表是: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()))

相关内容

  • 没有找到相关文章

最新更新