如何找到输入数字的最大值?这是我到目前为止所拥有的。它给了我一条错误消息:'"int" object is not iterable'
def greatest(num):
for index in range(10):
num=input('Enter the number of units sold')
print max(num)
您可以将它们全部放入一个列表中,然后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
您需要在列表或其他可迭代数据结构中累积数字:
def greatest():
data = [input('Enter the number of units sold') for _ in range(10)]
print max(data)
您需要将那些从用户那里获得的数字保存在数据结构中,然后在完成收集后找到最大值。现在,您只是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))
错误消息是因为max
为您提供了一系列数字中的最大数字,而input
返回一个 int。
你可能想要做的是:
def greatest(num):
numbers = []
for index in range(10):
numbers.append(input('Enter the number of units sold'))
print max(numbers)