你的代码有几处问题:
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里面,然后最后调用一次印出结果。这样会整洁明了一些
希望对你有帮助。
1、Python @ Coursera
这个课程是为从来没接触过编程的人准备的。你只需要小学的数学水平就可以了。
2、Intro to Computer Science @ Udacity
Udacity提供了一个很棒的免费课程,引你进入Python编程和学习关于搜索引擎的许多东西,以及如何编写你自己的小型网络爬虫。
3、Pythonspot
Pythonspot是一个综合教程,划分了很多不同类别的知识板块,首先你将拥有初学者资源来帮你开始Python的学习,然后你继续保持前进你能学到更多关于使用Python开发web等。