web-dev-qa-db-ja.com

Python最大および最小

私は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.")
8
Speedy Bast

問題は、numberintであることです。 maxminは両方ともリスト(または他の反復可能なもの)が必要です-そのため、代わりに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

17
Nate

これは、maxとminに1つの整数引数を渡すたびに発生し、pythonはそれをどうするかわかりません。

Etherは少なくとも2つの引数を渡します:

least_number = min(number1, number2,...,numbern)

または反復可能:

least_number = min([number1, number2, ...,numbern])

これが doc です

9
soulcheck

番号を番号のリストに変更する必要があります。例えば。、

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.")
1
dr jimbob

別の答え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.")
0
serv-inc