我正在尝试编写一个名为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()))