как использовать модульное выражение / работать с большими интергерсами - PullRequest
0 голосов
/ 03 марта 2012

Я хочу создать программу для расчета численности населения через x лет.

, где численность населения в 2002 году составляет 6,2 миллиарда человек и увеличивается на 1,3% каждый год.

Формула я будуиспользуется

population = ((1.013)**x) * 6.2B

Как мне сделать работу с 6.2B проще?

1 Ответ

1 голос
/ 03 марта 2012

Вот ваш код.Читайте и учитесь хорошо.Вероятно, это проблема, которую вы могли бы решить с помощью Google.

import math

def calculate_population(years_since_2002): #the original calculation
    population_2002 = 6.2*10**9
    final_population = int(((1.013)**years_since_2002)*population_2002)
    return final_population

def pretty_print(num,trunc=0):
    multiplier = int(math.log10(num)) #finds the power of 10
    remainder = float(num)/(10**multiplier) #finds the float after
    str_remainder = str(remainder)
    if trunc != 0:
        str_remainder = remainder[:trunc+1] #truncates to trunc digits total
    return str_remainder+'e'+str(multiplier) #can also be print
...