min()和max()给出错误:TypeError:'float'对象不可迭代

时间:2013-11-02 23:17:23

标签: python-3.x

markList=[]
Lmark=0
Hmark=0
while True:
    mark=float(input("Enter your marks here(Click -1 to exit)"))
    if mark == -1:  break
    markList.append(mark)

    markList.sort()
    mid = len(markList)//2
    if len(markList)%2==0:
        median=(markList[mid]+ markList[mid-1])/2
        print("Median:", median)

    else:
        print("Median:" , markList[mid])

    Lmark==(min(mark))
    print("The lowest mark is", Lmark)

    Hmark==(max(mark))
    print("The highest mark is", Hmark)

我的程序是使用列表的基本成绩计算器。我的程序要求用户将他们的成绩输入到一个列表中,然后在该列表中计算平均值并找到最低和最高分。我找到了平均值,但我似乎无法弄清楚如何找到最低和最高等级。你能告诉我告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

您的代码有两个问题:

  • ==是比较运算符,而不是作业
  • mark是您的最后一个成绩,而不是成绩列表

这些最小/最大行应为:

Lmark = min(markList)
Hmark = max(markList)

或者,因为您的列表已经排序:

Lmark = markList[0]
Hmark = markList[-1]