0
knowledge= [100,90]
knowledge=sum(knowledge)
for n in knowledge:
    print ('Your average is' + knowledge/n*100)

thinking= [96,90,97]
thinking=sum(thinking)
for n in thinking:
    print ('Your average is' + thinking/ n*100)

平均を計算する非常に単純な計算機を構築しようとしています。マークを入力する代わりに、ユーザーにマークを入力するように求める方法を知りたいです。その後、マークが追加され、マークの数 * 100 で除算されます。私が間違っていることを知りたいです。また、印刷された値を追加して、各カテゴリの価値を掛ける方法についても考えていました。たとえば、知識は 60% の価値があり、思考は 40% の価値があります。

4

4 に答える 4

1

ちょうどどうですか:

mean = sum(knowledge)/len(knowledge)

また、numpy パッケージを使用できる場合:

import numpy
scores_list = [10,120,50,80,500,40]
scores_array = numpy.array(scores_list)
scores_mean = numpy.mean(scores_array)
scores_std = numpy.std(scores_array)
scores_min = numpy.min(scores_array)
scores_max = numpy.max(scores_array)
于 2013-10-03T04:37:23.753 に答える
1

ここで何が混乱しているのかわかりません。

>>> thinking= [96,90,97]
>>> average=sum(thinking)/float(len(thinking))
>>> average
94.33333333333333
>>> round(average, 2)
94.33
>>> average=sum(thinking)/len(thinking)
>>> average
94
于 2013-10-03T04:40:08.197 に答える
1

あなたが間違っているのは、知識をリストから[100,90]intに変更することです190

for n in 190は有効なステートメントではありません

さらに

thinking% n*100 は と同じではありません。thinking/n*100最初はモジュロ演算子 ( %) を使用しており、除算演算子 ( /)を使用する必要があります。

于 2013-10-03T04:40:19.103 に答える
1
knowledge= [100,90]
knowledge=sum(knowledge)

knowledgeは整数になったため、 を実行しようとするとfor n in knowledge、整数を反復処理しようとしていますが、これは実行できません。

あなたの print ステートメントには、%d文字列の書式設定を行うための for がないと思います。

print ('Your average is %d' + % knowledge % n*100)

これは 2 番目のループでも同じです。


リストの平均を取得するには、次のようにしますsum(thinking)/len(thinking)(またはsum(thinking)/float(len(thinking))、フロートを扱っている場合)

于 2013-10-03T04:41:31.340 に答える