如何找到输入数字的最大值?这是我到目前为止所拥有的。它给了我一个错误信息:'“int”对象不可迭代'
def greatest(num):
for index in range(10):
num=input('Enter the number of units sold')
print max(num)
答案 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)