这里编程总初学者,需要你的指导。在
我正在从一些免费的在线课程中学习python,然后遇到了这个我已经解决了的特殊练习,但是让我困惑的是,有两种不同的方法会产生不同的结果。就这样。。在
问题是:
使用文本文件学生数据.txt(如下所示)编写一个程序,计算每个学生的最低和最高分数。把他们的名字也打印出来。在studentdata.txt:
joe 10 15 20 30 40
bill 23 16 19 22
sue 8 22 17 14 32 17 24 21 2 9 11 17
grace 12 28 21 45 26 10
john 14 32 25 16 89
我的最后一次尝试:xFile = open("studentdata.txt", "r")
for xLine in xFile:
xList = xLine.split()
min = 100
max = 0
for x in xList[1:]:
if int(x) > max:
max = int(x)
for x in xList[1:]:
if int(x) < min:
min = int(x)
print(xList[0],"\tmin: ",min,"\tmax: ",max)
xFile.close()
结果:joe min: 10 max: 40
bill min: 16 max: 23
sue min: 2 max: 32
grace min: 10 max: 45
john min: 14 max: 89
然后我将它与网站提供的答案进行了比较(我以我的风格重写了它):
^{pr2}$
这更简单,但产生的结果略有不同(但至关重要):joe min: 10 max: 40
bill min: 16 max: 23
sue min: 11 max: 9
grace min: 10 max: 45
john min: 14 max: 89
注意sue的结果是不同的。“自动”版本不能产生正确的结果。这是怎么回事?在
谢谢。在

1163

被折叠的 条评论
为什么被折叠?



