计算并存储每个学生的总分,并计算全班的平均分。

时间:2016-08-14 05:55:47

标签: python

这是我到目前为止所做的。需要帮助才能找到总分和平均分数。

name = ''
results = []
result = 0
question =1


while question <= 30:
    name = input("Enter student number "+str(question)+"'s name\n")
    result = input("Enter student number " + str(question) + "'s result\n")
    result =  int(result) #takes the var and makes it into int

    typeChecker = type(result) #checks the var type

    while typeChecker != int:
        result = input("Enter student number " + str(question) + "'s result\n")
        result =  int(result) #takes the var and makes it into int
    results += (name + result)

    print (results)

    question += 1
    pass

1 个答案:

答案 0 :(得分:1)

(我假设您使用的是Python 3)

你有一些问题。

SELECT ISNULL(NULLIF(ContactPerson, ''), 'n/a') ...

result = int(result) #takes the var and makes it into int typeChecker = type(result) #checks the var type while typeChecker != int: . . 没用。当您检查时,while的类型永远不会是result。如果用户输入了无效的号码,那么int已经被提升,而你没有抓住它。


ValueError

这一行有两个问题。在尝试连接 results += (name + result) TypeError时,它始终会引发str。然后它还会尝试连接int以及您期望的list类型。这些是2 name + result s。


如果你想保持这个简单,你应该考虑将数据存储在一个不同的容器中,也许是一个元组列表,其中第一个索引是名称,第二个是分数。

然后你可以迭代列表来计算总和和平均值。