Khóa học Phát triển Python Nâng cao
Chương
>
Cấp độ
Mô-đun Toán học
Mô-đun Toán Học Mở Rộng
Mục tiêu
Tính toán diện tích đất mới cho trang trại bằng cách sử dụng thêm các hàm được nhập từ module math.
Băng qua cầu, phần phụ trợ có một số văn phòng được sử dụng để đo đạc khu đất chưa được hợp nhất nối liền hai phần khác nhau của trang trại. Ở đây, chúng ta sẽ tìm một số kích thước và đo đạc khu đất, sẽ rất hay nếu sắp xếp chúng và ghi chép dữ liệu lại. Bạn có thể làm điều này bằng cách sử dụng module math; ở cấp độ này, chúng ta sẽ được giới thiệu một bộ các hàm mới để xử lý dữ liệu. Bạn sử dụng câu lệnh import math và math. trước các hàm để dùng bộ hàm này:
math.radians(): Chuyển đổi độ sang radian / góc.math.floor(): Làm tròn số xuống số cơ bản.math.ceil(): Làm tròn số lên số lớn hơn.math.atan2(): Trả về arctan giữa hai số theo đơn vị radian.math.isclose(): Kiểm tra xem hai số có gần bằng nhau không, trả về true/false.math.fsum(): Cộng các số thực (số thập phân) trong một danh sách hoặc iterable lại với nhau.math.dist(): Tính khoảng cách giữa hai điểm, các giá trị cần là danh sách hoặc iterable.
Bắt đầu thu thập dữ liệu thô từ các biểu đồ bằng cách đi đến dấu X sáng trên thảm đỏ và xanh lam. Sử dụng hàm read() để xác định các kích thước thô cần thiết để đo đạc. Những đo đạc này đã được lưu vào bốn hằng số biến có tên: red_x, red_y, blue_x và blue_y
Khi cả hai bộ dữ liệu đã được xác định, hãy đi đến dấu X tối trên thảm cam và đối diện bàn làm việc. Sử dụng math.radians() và math.ceil() để chuyển đổi các biến blue_x và blue_y sang dạng radian và làm tròn chúng lên. Dùng float() để đảm bảo các hằng số này là số thập phân có thể thay đổi. Ví dụ, đối với biến blue_x: chuyển sang radian blue_x = math.radians(float(blue_x)) và làm tròn giá trị blue_x = math.ceil(float(blue_x)). Làm tương tự với blue_y tại dấu X này, sau đó, sử dụng hàm write() có sẵn và thêm các biến blue_x và blue_y để ghi lại chúng.
Đi đến dấu X tối trên thảm xanh lá và sử dụng math.radians() và math.floor() để chuyển đổi các biến red_x và red_y sang dạng radian và làm tròn chúng xuống. Ví dụ, đối với biến red_x: chuyển sang radian red_x = math.radians(red_x) và làm tròn giá trị blue_x = math.floor(red_x). Làm tương tự với red_y tại dấu X này, sau đó, sử dụng hàm write() có sẵn và thêm các biến red_x và red_y để ghi chép chúng.
Đi đến dấu X màu vàng và đối diện bàn làm việc, ở đây chúng ta sẽ tạo hai biến mới, data_a và data_b. Chúng ta sẽ lưu các giá trị arctan của mỗi bộ bằng cách sử dụng hàm math.atan2. Đối với data_a, chúng ta sử dụng các biến blue_x và blue_y để đưa vào hàm, như sau: data_a = math.atan2(blue_x,blue_y). Đối với data_b, làm tương tự nhưng với red_x và red_y. Sau đó, sử dụng hàm write() có sẵn và thêm các biến data_a và data_b để ghi lại dữ liệu.
Bây giờ, khi các bàn làm việc bên dưới đã được xử lý, hãy đi đến dấu X tối trên thảm tím, tạo một biến có tên comparison và sử dụng nó với hàm math.isclose(), sử dụng data_a và data_b làm đối số, như sau: comparison = math.isclose(data_a, data_b). Sử dụng hàm write() có sẵn với biến comparison tại dấu X này.
Di chuyển đến dấu X trên thảm trắng, tạo một danh sách có tên data_list và thêm data_a và data_b theo thứ tự. Tạo một biến có tên total và sử dụng hàm math.fsum() với data_list làm đối số, như sau: total = math.fsum(data_list). Sử dụng biến total với hàm write() có sẵn tại dấu X này.
Di chuyển đến dấu X tối trên thảm vàng và đối diện bàn làm việc, chuyển đổi data_a và data_b thành các giá trị danh sách riêng lẻ, ví dụ đối với data_a làm: data_a = [data_a]. Làm tương tự với data_b để chuyển đổi cả hai biến thành iterable nhằm sử dụng với hàm math.dist(). Tạo một biến có tên distance và dùng nó để lưu giá trị của math.dist(), sử dụng data_a và data_b làm đối số. Sử dụng biến distance với hàm write() có sẵn để hoàn thành cấp độ.