고급 파이썬 개발 과정
챕터
>
레벨
수학 모듈
수학 모듈 확장
목표
math 모듈에서 가져온 추가 함수들을 사용하여 농장의 새로운 토지 확장을 계산하세요.
다리를 건너면 부속 건물에 농장의 두 다른 부분을 연결하는 비편입 토지를 측량하는 데 사용되는 사무실들이 있습니다. 여기서 우리는 토지 치수와 측정값을 확인할 것이며, 이들을 정렬하여 데이터를 문서화하는 것이 좋습니다. 이 작업은 math 모듈을 사용하여 수행할 수 있으며, 이번 레벨에서는 데이터를 처리하기 위해 사용할 수 있는 새로운 함수 집합을 소개합니다. 이 집합을 사용하려면 동일하게 import math와 함수 앞에 math.를 사용하면 됩니다:
math.radians(): 각도를 라디안으로 변환합니다.math.floor(): 숫자를 내림하여 기본 숫자로 만듭니다.math.ceil(): 숫자를 올림하여 그 이상 가장 가까운 정수로 만듭니다.math.atan2(): 두 숫자 사이의 아크 탄젠트를 라디안 단위로 반환합니다.math.isclose(): 두 숫자가 서로 가까운지 확인하여 true 또는 false를 반환합니다.math.fsum(): 리스트나 이터러블에 있는 부동 소수점(소수) 숫자들을 모두 합산합니다.math.dist(): 두 점 사이의 거리를 계산합니다. 값들은 리스트나 이터러블이어야 합니다.
빨간색과 파란색 카펫 위에 있는 밝은 X 표시 방향으로 걸으며 차트에서 원시 데이터를 수집하기 시작하세요. read() 함수를 사용하여 측정에 필요한 원시 치수를 확인하세요. 이 측정값들은 이미 red_x, red_y, blue_x 및 blue_y라는 네 개의 상수 변수에 저장되어 있습니다.
두 데이터 세트가 모두 확인되면, 주황색 카펫 위에 있는 어두운 X 표시로 걸어가서 책상 쪽을 바라보세요. math.radians()와 math.ceil()을 사용하여 blue_x와 blue_y 변수를 라디안으로 변환하고 올림 처리하세요. 상수가 수정 가능한 소수점 숫자인지 확인하려면 float() 함수를 사용하세요. 예를 들어, blue_x 변수의 경우: 라디안으로 변환 blue_x = math.radians(float(blue_x)) 및 값을 올림 blue_x = math.ceil(float(blue_x))와 같이 처리합니다. 이 X 표시에서 blue_y에 대해서도 동일하게 수행한 후, 미리 작성된 write() 함수를 사용하여 blue_x와 blue_y 변수를 차트에 기록하세요.
녹색 카펫 위에 있는 어두운 X 표시로 걸어가서 math.radians()와 math.floor()를 사용하여 red_x와 red_y 변수를 라디안으로 변환하고 내림 처리하세요. 예를 들어, red_x 변수의 경우: 라디안으로 변환 red_x = math.radians(red_x) 및 값을 내림 blue_x = math.floor(red_x)와 같이 처리합니다. 이 X 표시에서 red_y에 대해서도 동일하게 수행한 후, 미리 작성된 write() 함수를 사용하여 red_x와 red_y 변수를 차트에 기록하세요.
금색 X 표시로 걸어가서 책상 쪽을 바라보세요. 여기에서는 두 개의 새로운 변수인 data_a와 data_b를 생성합니다. 이 변수들에 각 집합에 대한 아크 탄젠트를 math.atan2 함수를 사용하여 저장할 것입니다. data_a의 경우, blue_x와 blue_y 변수를 사용하여 함수에 값을 채웁니다. 예: data_a = math.atan2(blue_x,blue_y). data_b의 경우에는 red_x와 red_y를 사용하여 동일하게 수행합니다. 완료되면, 미리 작성된 write() 함수를 사용하여 data_a와 data_b 변수를 차트에 기록하세요.
이제 하단의 책상이 처리되었으므로, 보라색 카펫 위에 있는 어두운 X 표시로 걸어가세요. comparison이라는 변수를 생성하고, 인자로 data_a와 data_b를 사용하여 math.isclose() 함수를 적용하세요. 예: comparison = math.isclose(data_a, data_b). 이 X 표시에서 미리 작성된 write() 함수를 사용하여 comparison 변수를 기록하세요.
흰색 카펫 위에 있는 X 표시로 이동하여, data_list라는 리스트를 생성한 후 그 순서대로 data_a와 data_b를 추가하세요. total이라는 변수를 생성하고, 인자로 data_list를 사용하여 math.fsum() 함수를 적용하세요. 예: total = math.fsum(data_list). 이 X 표시에서 미리 작성된 write() 함수를 사용하여 total 변수를 기록하세요.
노란색 카펫 위에 있는 어두운 X 표시로 걸어가서 책상 쪽을 바라보세요. data_a와 data_b를 개별 리스트 값으로 변환하세요. 예를 들어, data_a의 경우: data_a = [data_a]와 같이 처리합니다. data_b도 마찬가지로 수행하여 두 변수를 math.dist() 함수에서 사용할 수 있는 이터러블로 변환하세요. distance라는 변수를 생성하고, 인자로 data_a와 data_b를 사용하여 math.dist()의 값을 저장하세요. 이 X 표시에서 미리 작성된 write() 함수를 사용하여 distance 변수를 기록함으로써 레벨을 완료하세요.