2 回答

TA贡献1868条经验 获得超4个赞
假设num='5'
。然后elif (int(num)>max1):
持有并分配'5'
给max1
。在下一次迭代中,max1
是一个字符串,因此会出现错误。解决方案是 - max1=int(num)
(和 相同min1
)。

TA贡献1796条经验 获得超10个赞
解决此问题的另一种方法是将输入转换为整数一次,而不是int(num)在整个代码中多次使用。这使以后更容易阅读。
这方面的一个例子是正在改变
elif (num.isdigit()==False):
至
elif (num.isdigit()==True):或elif (num.isdigit())(他们做同样的事情)。
然后你可以将字符串转换为整数 num = int(num)
例子:
min1=0
max1=0
while True:
num=input("enter a number")
if (num=='done'):
break
if num.isdigit():
num = int(num)
else:
print("sorry enter integers or done")
continue
if (num>max1):
max1=num
elif (num<min1):
min1=num
print(max1)
print(min1)
添加回答
举报