这是我到目前为止所做的。需要帮助才能找到总分和平均分数。
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
答案 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。
如果你想保持这个简单,你应该考虑将数据存储在一个不同的容器中,也许是一个元组列表,其中第一个索引是名称,第二个是分数。
然后你可以迭代列表来计算总和和平均值。