La fuente de la confusión es qué hace format () y para qué sirve el signo% en ese código. Pero no calcula el porcentaje por ti. Simplemente toma los valores que le da como argumentos y los inserta en la parte que dice% {..}.
El método str.format () es un poco difícil de explicar y, para ser honesto, yo mismo no lo entiendo completamente.
Existe una alternativa que funciona perfectamente bien para casos como estos, pero str.format () es mejor. Le sugiero que utilice la calculadora de porcentaje a través de esta para obtener más resultados sobre cómo calcular el porcentaje .
La alternativa es utilizar el operador de formato de cadena. Eso puede sonar un poco confuso, pero suena similar al método str.format () porque hace lo mismo en una forma menos sofisticada y menos poderosa.
La forma en que funciona es:
>>> "blah blah% s"% "BlaH"
'blah blah BlaH'
>>>
Para calcular el porcentaje, primero obtiene la proporción dividiendo la parte por el todo. Esto se representa como un decimal menor que 1. Ejemplo, 0.25.
Luego, multiplique la razón por 100 para expresar esa razón en forma de porcentaje.
Entonces esa línea debería convertirse en.
proporción = mujeres /
impresión total ("Mujeres es% 0.2f %%"% (proporción * 100))