2014-12-18 2 views
-1

안녕하세요 저는 파이 계산기를 만들려고합니다. 사용자가 원하는만큼 많은 파이가 인쇄됩니다. 사용자 입력이 정수가되도록 노력하고 있습니다. 어떻게해야하는지 또는 작동하는지 모르겠다. 그게 효과가 있을지 모르겠습니다. 하지만 사전에 도와주세요. 이 정수로 구문 분석이 아니라면 당신이 던져지는 예외 괜찮 있다면사용자 입력이있는 Pi 계산기

picalc = input("How many digits: ") 
    def make_pi(): 
     q, r, t, k, m, x = 1, 0, 1, 1, 3, 3 
     for j in range(picalc): 
      if 4 * q + r - t < m * t: 
       yield m 
       q, r, t, k, m, x = 10*q, 10*(r-m*t), t, k, (10*(3*q+r))//t - 10*m, x 
      else: 
       q, r, t, k, m, x = q*k, (2*q+r)*x, t*x, k+1, (q*(7*k+2)+r*x)//(t*x),x+2 


    digits = make_pi() 
    pi_list = [] 
    my_array = [] 

    for i in make_pi(): 
     my_array.append(str(i)) 

    my_array = my_array[:1] + ['.'] + my_array[1:] 
    big_string = "".join(my_array) 
    print (big_string) 

답변

1

당신은 int(picalc)를 사용할 수 있습니다.

그렇지 않으면 합법적이지 않은 경우 입력을 다시 시도하도록 try-catch 구문을 만들 수 있습니다.

+0

권하고 싶은 것은 잠시 동안 반복해야한다는 것입니다. 루프를 반복 할 때 사람이 정수를 입력 할 때입니다. 그렇지 않으면 정수를 입력하라는 메시지를 계속 표시합니다. – CyanogenCX

+0

정말 고마워요. –

+0

CyanogenCX는이 코드 조각이 큰 프로젝트의 일부였습니다.이 코드 조각이 프롬프트의 프로그램 시작 부분으로 돌아 갔을 때 끝났지 만 감사했습니다. –

관련 문제