输入0应该是结束程序,为什么成为最小值了

img


max = 0
min = 0
while True:
i = int(input('请输入一个整数,输入0结束: '))
if i > max:
max = i
if i < min:
min = i
if i == 0:
break
print('最大值为: ',max)
print('最小值为: ',min)

你这min值默认为0是不对的,如果输入的都是大于0的值,你这min最后还是0,显然不对。应该默认一个很大的值(保证输入的的整数中有比它小的,比如
min = 0xFFFFFFFF

因为你这么写的话,会按顺序先执行前面两个if判断,最后才判断输入是否为0。你输入0的时候满足“i<min”的条件,所以把0赋给了i,然后又满足“i==0的条件”,所以退出了循环。如果你非要这么写,就把“if i == 0"的判断放在最前面。

在max=i和min=i后面各加一个break

img