通过在Python 2中使用2个变量来找到N数中最低的最佳算法是什么?

时间:2014-04-20 19:52:40

标签: python algorithm

我是Python新手。我只是编写了一个简单的函数,通过使用2个变量找到输入数字中最大的数字。

def find_greatest():
    m = 0
    while(True):
        n = raw_input('Enter number: ')
        n = float(n)
        if (n>=m):
            m = n
            greatest = n
        elif (n==-1):
            print('Greatest number is ' + str(greatest))
            break

我不想使用列表或词典。现在我想要的只是通过在上面的代码中进行一些更改来使用2个变量来找到最低的数字。

2 个答案:

答案 0 :(得分:0)

这通常不是做您想做的事情的好方法,但仅仅将n >= m更改为n <= m无法工作的原因是因为n == -1检查需要成为if声明中的第一张支票。

如果你坚持这样做,试试这样的事情:

def find_smallest():
    smallest = None
    while(True):
        n = raw_input('Enter number: ')
        try:
            n = float(n)
        except ValueError:
            print 'Enter a valid positive number.'
            continue

        if (n == -1.0):
            if smallest is None:
                print('Cannot find smallest. No numbers were entered.')
            else:
                print('Smallest number is {}'.format(smallest))
                break

        if n < 0:
            print('Enter a positive number.')
            continue
        else:
            smallest = n

答案 1 :(得分:0)

也许是这样的:

def foo():
    m = 0
    n = 0
    Input = raw_input('Enter numbers:\n')
    numbers = Input.split(",")
    n, m = float(numbers[0]), float(numbers[1])
    if n > m:
        return n
    elif m > n:
        return m
    else m == n:
        print "Numbers are equal\n"

更清晰的代码。 因此,对于最小数字,您只需要反向比较运算符