Python max y min

Soy bastante nuevo en Python, y lo que me molesta por mi problema es que siento que es muy simple. Sigo recibiendo un error en la línea 8. Solo quiero que este progtwig tome los números que ingresó el usuario e imprima el más grande. y el más pequeño, y quiero que cancele el ciclo si ingresan en negativo 1.

'int' object is not iterable es 'int' object is not iterable es el error.

 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.") 

El problema es que el number es un int . max como el min requieren listas (u otras cosas iterables), así que en su lugar, debe agregar un number a una lista como esta:

 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) 

Solo como una nota después de leer la respuesta del Dr. Jimbob, mi respuesta asume que usted no quiere dar cuenta de -1 al encontrar high y low .

Eso es porque cada vez que pasas un argumento entero a max y min y python no sabe qué hacer con él.

Éter pase al menos dos argumentos:

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

o un iterable:

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

Aqui esta el doc

Necesitas cambiar el número a una lista de números. P.ej,

 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.") 

Como se mencionó en otra respuesta , min y max también pueden tomar múltiples argumentos. Para omitir la lista, puede

 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.")