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

时间:2015-11-12 22:34:47

标签: python list sorting min minimum

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

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

2 个答案:

答案 0 :(得分:2)

我不使用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

这将为每行打印最小值

答案 1 :(得分:1)

Python函数

Python内置了min()函数:

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

=&GT; 3

排序

不建议这样做,但可以对列表进行排序,然后选择第一个数字。这是计算密集型的,但如果您出于某种原因需要,则不会使用min()函数。但实际上,你应该使用它的唯一原因是你得到一个类或类别的任务。

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