Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用递归使用python给出列表中的最小整数?_Python_List_Recursion_User Input - Fatal编程技术网

如何使用递归使用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”之前。如果你想用数字来比较它们,把它们转换成整数。这是一个学术练习吗?你通常不会为此使用递归。不,我只是想复习一下我的递归技巧,并决定在一个简单的问题上尝试一下。明白了!我觉得我的递归需要一些润色!