发布网友 发布时间:2024-10-02 07:06
共1个回答
热心网友 时间:2024-10-25 22:52
你的代码有几处问题:
list.append(num) 和 list.append(int(num)) 重复了,只需要后者就够了。
list.remove(num)多余了,你并没有把那个数字加到过list里面,所以没有必要移除。
print "Maximum is", largest 这段应该写到loop外面来,使得程序走完整个list之后print最大值,而不是找到一个比前面一个数字大的就立刻print出来。后面minimum也是这个问题。
以下是改好的代码:
largest = None
smallest = None
list = []
while True:
num = raw_input("Enter a number: ")
if num == "done" : break
try:
list.append(int(num))
except:
print "Invalid input"
for i in list:
if largest is None:
largest = list[0]
elif largest < i:
largest = i
print "Maximum is", largest
for i in list:
if smallest is None:
smallest = list[0]
elif smallest > i:
smallest = i
print "Minimum is", smallest
另外有两个小建议:
最好不要把list作为变量名,因为list在python里是预先定义好的,这样写会覆盖原来的定义。
可以把找最大最小值的代码写进一个function里面,然后最后调用一次印出结果。这样会整洁明了一些
希望对你有帮助。