Python3-而ids>;停止:类型错误:无序类型:str()>;int()

Python3-而ids>;停止:类型错误:无序类型:str()>;int(),python,python-3.x,for-loop,error-handling,while-loop,Python,Python 3.x,For Loop,Error Handling,While Loop,你好,我正在尝试运行一个程序,将返回学生的成绩和他们的平均水平。我也知道我是一个基本的无脑的一年级程序员。我可能会很害怕。然而,请尽你所能帮助我们,我们将不胜感激。 多谢各位 错误显示在第49行 这样说“ 尽管如此,我还是对问题的原因感到困惑。非常感谢您抽出时间和帮助。非常感谢您。是的,我知道我很愚蠢。函数input()返回一个字符串,因此您应该使用int()将其转换为整数以便将其值与另一个整数进行比较。还应将存储用户输入的变量命名为除ids以外的其他名称,因为您已经将其定义为列表: ids =

你好,我正在尝试运行一个程序,将返回学生的成绩和他们的平均水平。我也知道我是一个基本的无脑的一年级程序员。我可能会很害怕。然而,请尽你所能帮助我们,我们将不胜感激。 多谢各位

错误显示在第49行

这样说“

尽管如此,我还是对问题的原因感到困惑。非常感谢您抽出时间和帮助。非常感谢您。是的,我知道我很愚蠢。

函数
input()
返回一个字符串,因此您应该使用
int()将其转换为整数
以便将其值与另一个整数进行比较。还应将存储用户输入的变量命名为除
ids
以外的其他名称,因为您已经将其定义为列表:

ids = []
scores = []
grades = []
STOP = 0

id = int(input("Enter an ID:"))
while id > STOP:
    ids.append(id)
    score = eval(input("Enter a score:"))
    scores.append(score)

    grades = assigngrades(scores)
    print("after while loop")
    print("Ids:", ids, "Scores:", scores, "Grades:", grades)
    printsummary(grades, avg)

谢谢,我理解你所说的并实现了它。但是,它现在返回相同的错误,只是说“TYPEERROR:unorderable types:list()>int()“我很抱歉这是多么多余。感谢您的帮助我忘记了在重命名复制变量名称后,将
条件下的
id
编辑为
id
。现在再试一次。非常感谢,让我走得更远。现在它只是说“NameError:name'avg'未定义”。但我感谢你的帮助
 def assigngrades(scores):
     avg = sum(scores)/len(scores)
     print(avg)


     for val in scores:
      if val > avg + 10:
       grade = 'A'
      elif val > avg + 5:
       grade = 'B'
      elif val > avg -5:
        grade = 'C'
      elif val > avg - 10:
       grade = 'D'
      else:
       grade = 'F'
      grades.append(grade)
     print("in assigngrades, grades: ",grades)
     return grades



    def printsummary(grades, ave):
     print('ID        Score        Average        Grade')
     print('===========================================')
     print( )


     for val in range(len(ids)):
      print('val', val)
      print(ids,' ',scores, ' ', grades)
     return

    #main
    ids = []
    scores = []
    grades = []
    STOP = 0


    ids = input("Enter an ID:")
    while ids > STOP:
     ids.append(ids)
     score = eval(input("Enter a score:"))
     scores.append(score)
     id = (input("Enter an ID number, 0 to STOP:"))

     grades = assigngrades(scores)
     print("after while loop")
     print("Ids:", ids, "Scores:", scores, "Grades:", grades)
     printsummary(grades, avg)
ids = []
scores = []
grades = []
STOP = 0

id = int(input("Enter an ID:"))
while id > STOP:
    ids.append(id)
    score = eval(input("Enter a score:"))
    scores.append(score)

    grades = assigngrades(scores)
    print("after while loop")
    print("Ids:", ids, "Scores:", scores, "Grades:", grades)
    printsummary(grades, avg)