如何找到每行数字中最小的数字?不使用 min()

How to find the smallest number in each line of numbers? Without using min()

所以我需要为包含这些数字的文件中的每一行找到最小的数字:

6,3,5
4,4,8
3,7,2
1,8,9
9,0,6

如果不使用内置的 min() 或导入任何内容,我如何能够对每一行进行排序以找到最小的数字?这是我目前所拥有的:

for line in input_file:
    lines = line.split(' ')
    lines = line.replace('\n',"").replace(',',"")

    for i in range(len(lines)):
        total = int(lines[i])

        print total
        if total > maximum:
            maximum = total
            print 'hey', maximum
print 'HI', maximum

我不使用 python,但这里是一般方法:

for line in input_file:
    numbers = line.replace('\n',"").split(',')

    min = int(numbers[0])
    for num in numbers:
        n = int(num)
        if n < min:
            min = n
    print min

这将打印每行的最小值

Python 函数

Python 有一个内置的 min() 函数:

min([7,5,3,4])

=> 3

排序

不推荐这样做,但您可以 对列表进行排序,然后选择第一个数字。这需要更多的计算,但如果您出于某种原因想要这样做,则不会使用 min() 函数。但实际上,你应该使用它的唯一原因是如果你得到一个 class 或其他东西的分配。

list = [7,5,3,4]
list.sort()
list[0] #=> 3

你自己

如果您需要自己实现,以下应该可行:

for line in input_file:
    numbers = [int(i) for i in line.replace('\n',"").split(',')]
    min = numbers[0]
    for num in numbers:
        if num < min:
            min = num
    print min