我对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 high和low.
这是因为每次你将一个整数参数传递给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)
这是文档