2012-03-02 1 views
-3

x 년 후에 모집단을 계산하는 프로그램을 만들고 싶습니다.모듈 식/대형 interger를 사용하는 방법

2002 년의 인구는 62 억 명으로 매년 1.3 % 증가합니다. 내가 사용

공식은

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

이 어떻게 쉽게 6.2B와 함께 작동하도록해야합니까입니까?

+0

왜 6200000000이 작동하지 않습니까? 또는 6.2E9? –

+0

@Mario - 아마도 부동 소수점 산술의 개념을 이해하지 못한다고 생각합니다. –

+1

6.2e9는 좋지만 6200000000을 좋아하지 않습니다. 한 눈에 너무 많은 0을 셀 수 있습니다. – DSM

답변

1

다음은 귀하의 코드입니다. 읽고 잘 배우십시오. 이것은 아마 당신이 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 
관련 문제