la façon de calculer le pourcentage en python
C'est mon programme
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
Résultat
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
Toutefois, le pourcentage résultat est 0
. Comment dois-je calculer le pourcentage correctement en Python?
sans rapport: si vous avez une fraction puis de l'imprimer comme des pourcentages:
print "{:.0%}".format(sum(marks) / (len(marks) * perfect_mark * 1.0))
OriginalL'auteur Jothimani | 2014-03-04
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous êtes en train d'apprendre comment Python. Les autres réponses sont à droite. Mais je vais répondre à votre question principale: "la façon de calculer le pourcentage en python"
Bien qu'il fonctionne de la manière que vous l'avez fait, il n'a pas l'air très pythonic. Aussi, ce qui arrive si vous avez besoin d'ajouter un nouveau sujet? Vous aurez à ajouter une autre variable, utiliser une autre entrée, etc. Je suppose que vous voulez que la moyenne de toutes les marques, vous devrez également modifier le nombre de sujets à chaque fois que vous ajoutez un nouveau! Semble un gâchis...
Mauvais jeter un morceau de code où la seule chose que vous aurez à faire est d'ajouter le nom du nouvel objet dans une liste. Si vous essayez de comprendre ce simple morceau de code, votre Python compétences de codage va expérimenter une petite bosse.
Ici vous pouvez tester le code et le tester.
OriginalL'auteur JJGuerrero
Vous effectuez une division entière. Ajouter un
.0
le nombre de littéraux:En Python 2.7 la division
100/500==0
.Comme l'a souligné @détendre, l'
float()
appel est superflue, puisque une multiplication ou la division par un flotteur renvoie un float:OriginalL'auteur Paulo Bu
C'est parce que
(100/500)
est une expression entière rendement de 0.Essayer
il n'y a pas besoin de la
float()
appel, puisque l'aide d'une virgule flottante littéral (100.0
) fera l'expression entière à virgule flottante de toute façon.float
conversion explicite. J'ai juste inclus parce que copier collé de l'OP. Fixation dans ma réponse.OriginalL'auteur unwind
Pour cent de calcul qui a fonctionné pour moi:
OriginalL'auteur sridhar
Remarque : raw_input() la fonction est utilisée à partir de la console et de son retour de la chaîne de valeur mise en forme. Nous avons donc besoin de convertir en entier sinon il donner d'erreur de conversion.
OriginalL'auteur DigitalGeek
Je sais je suis en retard, mais si vous voulez savoir la meilleure façon, vous pourriez faire un code comme ceci:
Vous pouvez changer le numéro de la partition, et right_questions. Il vous dira%.
OriginalL'auteur Mr. Code