在python中显示最小/最大输入。获取类型错误:';int";
我正在介绍python类,我的代码显示输入值的最小/最大值时遇到了问题。当我运行程序时,它会给我TypeError:“int”对象不是iterabl 此程序允许用户输入整数值,直到输入0。程序将显示输入的最大和最小数字在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
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)