2011-03-29 4 views
0

다음은 본문에서 제기 된 질문입니다.카오스 도움말의 개선 된 버전을 작성하십시오.

사용자가 두 개의 초기 값과 반복 수를 입력 할 수있게 해주는 개선 된 버전의 Chaos 프로그램을 작성한 다음, 값이 시간에 따라 어떻게 변하는 지 보여주는 멋지게 형식화 된 표를 인쇄합니다. 예를 들어, 시작 값이 .25 및 .26이고 10 회 반복되는 경우 테이블은 다음과 같이 보입니다.

다음은 헤더로 인덱스 0.25 0.26을, 두 열에 10 반복을 갖는 테이블입니다.

여기 내 초기 카오스 프로그램입니다.

# File: chaos.py 

def main(): 
    print ("This program illustrates a chaotic function") 
    x=eval (input("enter a number between 0 and 1: ")) 
    for i in range (10): 
     x = 3.9 * x * (1-x) 
     print (x) 

main() 

제 질문은 .. 내가 그것을 위의 질문을 수행하기 위해 변경 할 방법입니다

마음에 걸릴에 대답하는 것은이 사상 처음으로 프로그래밍 클래스 인 경우 바랍니다.

+2

'eval (input())'을하지 마십시오. 대신에'float (input())'을 사용하십시오. –

+0

ok 프로그램을 실행할 때 실제로 out을 변경하지 않았고 두 개의 초기 값을 사용할 수 없었습니다. –

답변

0

당신은 이미 가지고있는 기능을 복제하면됩니다. 사용자에게 x 값을 요청하는 대신 y 값을 요청하십시오.

루프에서 y 값에 대한 x 값과 동일한 작업을 수행해야합니다. 인쇄 할 때 두 개의 값 (x와 y)을 쉼표로 구분하여 한 번에 인쇄 할 수 있다는 것을 기억하십시오.

또한 PiotrLegnica가 말한 것처럼 eval (input (...)) 대신 float (input (...))를 사용해야합니다. 사용자가 부동 소수점 숫자 (0에서 1 사이)를 입력해야한다는 것을 알기 때문에 eval을 호출 할 필요가 없습니다. eval을 호출하면 주어진 명령을 실행할 때 위험 할 수 있습니다. 지금은 중요하지 않을 수도 있지만 사용 습관을 갖지 않는 것이 좋습니다.

+0

그 덕분에 도움이되었지만 프로그램을 실행할 때 읽는 것이 더 쉽다는 것을 어떻게 알 수 있습니까? –

+0

@kris 싱어 :'print (x, "|", y)'또는 비슷하게 간단한 것을 사용할 수 있습니다. –

관련 문제