2017-09-28 3 views
-1

J'essaye de créer un programme pour calculer le pourcentage de mâles et de femelles dans une classe donnée le nombre de mâles et de femelles dans la classe.Pourcentage simple de python

Voici ce que j'ai:

# Calculate percentage of males and females in a class 
males = input("Enter the number of males in the class: ") 
females = input("Enter the number of females in the class: ") 
total = int(males + females) 
mperc = males*100/total 
fperc = females*100/total 
print ("The class is" mperc, "percent male and" fperc, "percent female") 

Validation me dit une syntaxe incorrecte sur 'mperc' (dans la ligne d'impression). Je suis nouveau à Pyton et je ne sais pas comment résoudre ce problème. Toute aide est la bienvenue!

Répondre

0

mperc = males*100/total échoue car vous divisez une chaîne par un int.

Vous mieux convertir votre entrée (qui sont des chaînes) à int immédiatement:

males = int(input("Enter the number of males in the class: ")) 
females ... # dito 

Sinon, total = int(males + females) concaténera chaînes et convertir seulement le résultat de la concaténation dans un int.

Si vous utilisez python2, vous pouvez utiliser des flotteurs à la place pour division entière:

males = float(input("Enter the number of males in the class: ")) 
1

La question de syntaxe dans la ligne

print ("The class is" mperc, "percent male and" fperc, "percent female") 

est parce que vous placez côte à côte chaînes et variables. Vous devez les séparer par des virgules ou les joindre comme des chaînes.

print("The class is", mperc, "percent male and", fperc, "percent female") 

devrait faire.

Les commentaires de schwobaseggl s'appliquent toujours.