在python中显示最小/最大输入。获取类型错误:';int";

在python中显示最小/最大输入。获取类型错误:';int";,python,typeerror,Python,Typeerror,我正在介绍python类,我的代码显示输入值的最小/最大值时遇到了问题。当我运行程序时,它会给我TypeError:“int”对象不是iterabl 此程序允许用户输入整数值,直到输入0。程序将显示输入的最大和最小数字 value = int(input('What is your value? ')) maxNumber = 0 minNumber = 0 while(value != 0): if(value > 0): maxNumber = max(va

我正在介绍python类,我的代码显示输入值的最小/最大值时遇到了问题。当我运行程序时,它会给我TypeError:“int”对象不是iterabl

此程序允许用户输入整数值,直到输入0。程序将显示输入的最大和最小数字

value = int(input('What is your value? '))

maxNumber = 0
minNumber = 0

while(value != 0):
    if(value > 0):
        maxNumber = max(value)
    else:
        minNumber = min(value)

    value = int(input('What is the next value? '))


print(maxNumber)
print(minNumber)

main()。我认为您的意思是在新值和当前最大值(最小值)之间取最大值(最小值):


欢迎来到StackOverFlow。当您请求
input()
时,您请求的是用户的字符串输入。然后通过
int()
方法将其转换为
int
对象。不能遍历
int
对象,但可以遍历列表、元组和dict。您应该做的是在循环中接受用户输入,然后在用户输入0时退出循环,或者
中断
。下面是一些代码:

values = []  # A list of values that will store the inputs.
while True:  # A loop that will indefinitely run.
    value = int(input("Enter a number"))
    if value == 0:
        break
另一种方法是:

values = []  # A list of values that will store the inputs. 
value = None  # A placeholder for inputs that will be used within the loop.
while value != 0:  # Checks if the last input was 0 every iteration.
    value = int(input("Enter a number: "))
最后需要做的就是使用
min()
max()
方法,这些方法从iterable对象返回最小值和最大值

maxNumber = max(values)
minNumber = min(values)
print(maxNumber)
print(minNumber)

“最大值”和“最小值”返回传递给它们的可数或多个值的最大值/最小值。修复代码的一种快速方法是:

maxnumber = max(value, maxnumber)

minnumber = min(value, minnumber)


你认为
min(1)
会返回什么“?你想做什么?如果用户输入1、10和5,你认为
minNumber
应该是什么?谢谢大家。如果有机会,我会尝试一下。另外,由于您已将minnumber初始化为0,因此除非您提供负数,例如-7,否则min数将为0
maxnumber = max(value, maxnumber)

minnumber = min(value, minnumber)