web-dev-qa-db-ja.com

pythonでパーセンテージを計算する方法

これは私のプログラムです

print" Welcome to NLC Boys Hr. Sec. School "
a=input("\nEnter the Tamil marks :")
b=input("\nEnter the English marks :")
c=input("\nEnter the Maths marks :")
d=input("\nEnter the Science marks :")
e=input("\nEnter the Social science marks :")
tota=a+b+c+d+e
print"Total is: ", tota
per=float(tota)*(100/500)
print "Percentage is: ",per

結果

Welcome to NLC Boys Hr. Sec. School 

Enter the Tamil marks :78

Enter the English marks :98

Enter the Maths marks :56

Enter the Science marks :65

Enter the Social science marks :78 Total is:  375 Percentage is:  0.0

ただし、パーセントの結果は0。 Pythonでパーセンテージを正しく計算するにはどうすればよいですか?

8
Jothimani

Pythonの使い方を学んでいると思います。他の答えは正しいです。しかし、私はあなたの主な質問に答えるつもりです:「Pythonでパーセンテージを計算する方法」

それはあなたがやったように機能しますが、あまりPython風に見えません。また、新しいサブジェクトを追加する必要がある場合はどうなりますか?別の変数を追加したり、別の入力を使用したりする必要があります。すべてのマークの平均が必要なので、新しいマークを追加するたびに件名のカウントを変更する必要があります。混乱しているようです...

リストに新しいサブジェクトの名前を追加することだけが必要なコードをスローします。この単純なコードを理解しようとすると、Pythonコーディングスキルが少し試されます。

#!/usr/local/bin/python2.7

marks = {} #a dictionary, it's a list of (key : value) pairs (eg. "Maths" : 34)
subjects = ["Tamil","English","Maths","Science","Social"] # this is a list

#here we populate the dictionary with the marks for every subject
for subject in subjects:
   marks[subject] = input("Enter the " + subject + " marks: ")

#and finally the calculation of the total and the average
total = sum(marks.itervalues())
average = float(total) / len(marks)

print ("The total is " + str(total) + " and the average is " + str(average))

ここ コードをテストして、実験することができます。

11
JJGuerrero

整数除算を実行しています。 _.0_を数値リテラルに追加します。

_per=float(tota)*(100.0/500.0)
_

Python 2.7除算__100/500==0_。

@unwindが指摘しているように、float()呼び出しは不要です。これは、floatによる乗算/除算がfloatを返すためです。

_per= tota*100.0 / 500
_
6
Paulo Bu

これは、_(100/500)_が0を生成する整数式であるためです。

試して

_per = 100.0 * tota / 500
_

float()呼び出しの必要はありません。浮動小数点リテラル(_100.0_)を使用すると、とにかく式全体が浮動小数点になるためです。

2
unwind

私のために働いたパーセント計算:

(new_num - old_num) / old_num * 100.0
1
sridhar

遅れていることはわかっていますが、最も簡単な方法を知りたい場合は、次のようなコードを実行できます。

number = 100
right_questions = 1
control = 100
c = control / number
cc = right_questions * c
print float(cc)

あなたは、数のスコア、およびright_questionsを変更することができます。パーセントがわかります。

0
Mr. Code
marks = raw_input('Enter your Obtain marks:')
outof = raw_input('Enter Out of marks:')
marks = int(marks)
outof = int(outof)
per = marks*100/outof
print 'Your Percentage is:'+str(per)

注:raw_input()関数は、コンソールからの入力とその戻り文字列形式の値を取得するために使用されます。したがって、整数に変換する必要があります。そうしないと、変換エラーが発生します。

0
DigitalGeek