私は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.")
問題は、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)
Dr jimbobの回答を読んだ後のメモのように-私の回答は、あなたがしないでくださいがhigh
を見つけるときに-1を考慮したいと考えていますおよびlow
。
これは、maxとminに1つの整数引数を渡すたびに発生し、pythonはそれをどうするかわかりません。
Etherは少なくとも2つの引数を渡します:
least_number = min(number1, number2,...,numbern)
または反復可能:
least_number = min([number1, number2, ...,numbern])
これが doc です
番号を番号のリストに変更する必要があります。例えば。、
print "Welcome to The Number Input Program."
numbers = []
number = int(raw_input("Please enter a number: "))
while (number != -1):
numbers.append(number)
number = int(raw_input("Please enter a number: "))
high = max(numbers)
low = min(numbers)
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.")
別の答え 、 min
および max
で言及されているように、複数の引数を取ることもできます。リストを省略するには、
print "Welcome to The Number Input Program."
number = int(raw_input("Please enter a number: "))
high = low = number
while (number != int(-1)):
number = int(raw_input("Please enter a number: "))
high = max(high, number)
low = min(low, 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.")