如何使用递归使用 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()))