如何找到输入数字的最大值

时间:2013-04-03 02:35:20

标签: python max

如何找到输入数字的最大值?这是我到目前为止所拥有的。它给了我一个错误信息:'“int”对象不可迭代'

def greatest(num):
    for index in range(10):
        num=input('Enter the number of units sold')
    print max(num)

4 个答案:

答案 0 :(得分:2)

您可以将它们全部放入列表中,然后在列表中运行max()或(如果您不需要其他任何列表)只需保持自己的最大值有类似的东西:

def greatest(num):   # why num here??
    maxnum = -1
    for index in range(10):
        num = input ('Enter the number of units sold')
        if num > maxnum:
            maxnum = num
    print maxnum

答案 1 :(得分:1)

您需要在列表或其他可迭代数据结构中累积数字:

def greatest():
    data = [input('Enter the number of units sold') for _ in range(10)]
    print max(data)

答案 2 :(得分:1)

您需要在数据结构中保存您从用户那里获得的那些数字,然后在完成收集后找到最大数字。现在你只是在每次迭代中覆盖num的值,这根本没有帮助,因为你无法检查以前的输入数字。这就是为什么你从max收到错误,期望迭代的东西。到目前为止,你可以使用这样的东西,

def greatest():
    l = []
    for index in range(10):
        l.append(input('Enter the number of units sold'))
    return max(l)

但这会更好:

def greatest():
    return max(input('Enter the number of units sold') for _ in xrange(10))

答案 3 :(得分:0)

错误消息是因为max为您提供了一系列数字中最大的数字,而input返回了一个数字。

你可能想要做的是:

def greatest(num):
    numbers = []
    for index in range(10):
        numbers.append(input('Enter the number of units sold'))
    print max(numbers)