2016-08-14 19 views
-1

これまで私が行ってきたことです。合計スコアと平均スコアを見つけるのに助けが必要です。各生徒の合計スコアを計算して保存し、クラス全体の平均スコアを計算します。

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

あなたはいくつかの問題を持っている

(私は、あなたは、Python 3を使用していると仮定しています)。

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) 

この行は、2つの問題があります。 strintを連結しようとすると、常にTypeErrorが発生します。次に、listを連結し、name + resultのタイプを予想します。これらは2 TypeErrorです。


あなたはこの単純なを維持したい場合は、別のコンテナ、最初のインデックスは名前であり、第二は、スコアであるタプルのおそらくリストにデータを格納考える必要があります。

次に、リストを反復して合計と平均を計算することができます。

関連する問題