每次运行代码时,我都会得到“TypeError:'int'对象不可迭代”。
所以我的问题是:如何打印/使用最后的最小和最大功能?所以如果有人让我们说类型5,7,10和-1。如何让用户知道最高分为10分,最低分为5分? (然后我想从最高数到最低数组织它。)
def fillList():
myList = []
return myList
studentNumber = 0
myList = []
testScore = int(input ("Please enter a test score "))
while testScore > -1:
# myList = fillList()
myList.append (testScore)
studentNumber += 1
testScore = int(input ("Please enter a test score "))
print ("")
print ("{:s} {:<5d}".format("Number of students", studentNumber))
print ("")
print ("{:s} ".format("Highest Score"))
print ("")
high = max(testScore)
print ("Lowest score")
print ("")
print ("Average score")
print ("")
print ("Scores, from highest to lowest")
print ("")
答案 0 :(得分:1)
您的问题是testScore
是一个整数。还有什么呢?每次通过列表,您将其重新分配给下一个整数。
如果您想将它们附加到列表中,您必须实际执行此操作:
testScores = []
while testScore > -1:
testScores.append(testScore)
# rest of your code
现在很容易:
high = max(testScores)
事实上, 在您编辑的代码版本中执行此操作:myList
中包含所有testScore
值。所以,只需使用它:
high = max(myList)
但实际上,如果你仔细考虑一下,随着时间的推移,保持“最大运行”同样容易:
high = testScore
while testScore > -1:
if testScore > high:
high = testScore
# rest of your code
在用户从未输入任何测试分数的情况下,您将获得不同的行为(第一个将提出TypeError
关于要求空列表的最大值,第二个将给出-1),但是一旦你决定了你真正想要发生的事情,其中任何一个都很容易改变。
答案 1 :(得分:0)
如果你的所有分数都在数组中。
print("The max was: ",max(array))
print("The min was: ",min(array))