如何使用递归使用python给出列表中的最小整数?
我试图编写一个名为如何使用递归使用python给出列表中的最小整数?,python,list,recursion,user-input,Python,List,Recursion,User Input,我试图编写一个名为my_minimum的递归函数,它接收一个整数列表作为参数,并返回存储在列表中的最小值。我可以让用户输入用空格分隔的整数。然而,它给了我一个与我试图实现的目标完全无关的数字 例如,如果用户列表是:67894534233456778,它应该给我3而不是23 def my_minimum(A, n): # if size = 0 means whole list # also if it has been traversed if (n == 1):
my_minimum
的递归函数,它接收一个整数列表作为参数,并返回存储在列表中的最小值。我可以让用户输入用空格分隔的整数。然而,它给了我一个与我试图实现的目标完全无关的数字
例如,如果用户列表是:67894534233456778
,它应该给我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()))
你在比较字符串,而不是数字<按字典法,代码>“23”在
“3”之前。如果你想用数字来比较它们,把它们转换成整数。这是一个学术练习吗?你通常不会为此使用递归。不,我只是想复习一下我的递归技巧,并决定在一个简单的问题上尝试一下。明白了!我觉得我的递归需要一些润色!