Python max和min

Spe*_*ast 8 python max min

我对Python很陌生,让我对我的问题感到愤怒的是我觉得它很简单.我在第8行继续收到错误.我只是希望这个程序能够获取用户输入的数字并打印出最大的数字最小的,如果它们输入负1,我希望它取消循环.

'int' object is not iterable 是错误.

print "Welcome to The Number Input Program."

number = int(raw_input("Please enter a number: "))

while (number != int(-1)):
    number = int(raw_input("Please enter a number: "))

high = max(number)
low = min(number)

print "The highest number entered was ", high, ".\n"
print "The lowest number entered was ", low, ".\n"

raw_input("\n\nPress the enter key to exit.")
Run Code Online (Sandbox Code Playgroud)

Nat*_*ate 17

问题是,这number是一个int. max并且min都需要列表(或其他可迭代的东西) - 所以相反,你必须添加number到这样的列表:

number = int(raw_input("Please enter a number: "))
num_list = []

while (number != int(-1)):
    num_list.append(number)
    number = int(raw_input("Please enter a number: "))

high = max(num_list)
low = min(num_list)
Run Code Online (Sandbox Code Playgroud)

就像在读博士jimbob的答案后,说明-我的回答假设你希望找到时计入-1 highlow.

  • `int(-1)`没用.`-1`已经是`int` (9认同)
  • 完全正确,应该修复.然而,在问题中就是这样,而且我坚信提供的答案代码尽可能少地偏离问题代码. (8认同)
  • 这是我的荣幸.只是你知道(因为你是新来的),如果你选择答案,习惯上"接受"它 - 即答案左侧的小复选标记.请参阅[常见问题解答中的部分](http://meta.stackoverflow.com/faq#howtoask)或[此帖子上的meta](http://meta.stackexchange.com/questions/5234/how-does-accepting - 回答 - 工作)了解更多详情. (3认同)

sou*_*eck 9

这是因为每次你将一个整数参数传递给max和min并且python不知道如何处理它.

以太网传递至少两个参数:

least_number = min(number1, number2,...,numbern)
Run Code Online (Sandbox Code Playgroud)

或者是可迭代的:

least_number = min([number1, number2, ...,numbern])
Run Code Online (Sandbox Code Playgroud)

这是文档