Python3 - 而 ids > 停止 : TypeError: unorderable types: str()> int()

标签 python python-3.x for-loop error-handling while-loop

您好,我正在尝试运行一个程序,返回学生的成绩和他们的平均成绩。我还知道我是一个基本的无脑第一年程序员。我可能会很可怕。但是,请尽您所能提供帮助,我们将不胜感激。 谢谢。

错误说在第 49 行。

说“

line 49, in <module>
 while ids > STOP:
TypeErrorL unorderable types: str() > int()

XXXX

 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)

尽管如此,我对问题所在感到困惑。非常感谢您抽出宝贵时间帮助查看此问题。非常感谢你。是的,我知道我很愚蠢。

最佳答案

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)

关于Python3 - 而 ids > 停止 : TypeError: unorderable types: str()> int(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52547525/

相关文章:

python - 如何配置 Django 通过 Postfix 发送邮件?

python - 无法从一些凌乱的脚本中挖掘出格式良好的 json 内容

javascript - 为什么这段代码日志返回 false?

java - 运行一个for循环直到JAVA中的String Condition

python - 大量列的性能下降。派斯帕克

python - Wx.stc.StyledTextCtrl 滚动条

python - 当我通过 pymongo 建立连接时,mongo 连接失败

python - 搜索最不像一组位串的位串

python-3.x - 如何处理 Selenium 中的延迟加载图像?

Python:将for循环中的索引合并为列表名称的一部分