0
我必须根据用户输入计算一组值的平均等级,并在计算平均值之前删除最低等级。除了代码降低最低值外,我拥有一切。我尝试使用min函数,但是当在循环内部打印时,我得到“TypeError:'int'对象不可迭代。”任何想法如何解决这个问题?谢谢!在Python中检测用户输入中的最低值3.6
numuser=eval(input("How many users are there?: "))
numgrade=eval(input("How many grades will there be for each user?: "))
usercount=0
gradecount=0
while usercount <= numuser:
name=input("Please enter the user's first and last name: ")
gradetot=0
while gradecount < numgrade:
gradeval=eval(input("Please enter the grade: "))
gradetot=gradetot+gradeval
gradecount=gradecount+1
low = min(gradeval)
tot = gradetot-low
print("The average grade for", name, "is :", tot/gradecount)
numuser=numuser-1
usercount=usercount+1
gradecount=0
不要使用'eval()'!使用'int()'转换为整数。 – Cfreak
至于你的问题。如果你想使用'min()'来获得最低成绩,你需要做一个列表。您正在通过循环将'gradeeval'重置为整数。或者,您可以使用另一个变量,并且每次都设置它低于前一个变量。 – Cfreak
感谢您的回复。如果数字取决于用户的输入,我会如何将它列入清单? (对不起,如果这是一个愚蠢的问题,有史以来第一次编码!) – Hannah