Coding for KidsCoding for Kids
Cấp Độ Sáng TạoThử TháchHướng Dẫn Giáo Viên
Bình chọn tính năng
Khóa học Phát triển Python Nâng cao
Chương
>
Cấp độ

Các mô-đun toán học
Giới thiệu Mô-đun Toán học

Mục tiêu

Kiểm tra giấy chứng nhận quyền đất và ranh giới tài sản trên khu nông trại, xác minh và tính toán các con số bằng cách sử dụng các hàm của module Math.

Trong văn phòng ở mép tòa nhà chính, có một kho lưu trữ các bản vẽ kỹ thuật cũ của tòa nhà và giấy chứng nhận quyền đất. Có dự định mở rộng khu nông trại về phía đông nhưng điều quan trọng là phải sắp xếp tất cả các giấy tờ trước khi bạn quyết định xem xét bất kỳ kế hoạch xây dựng nào. Việc này sẽ được thực hiện bằng cách sử dụng module math trong python.

import math

Giống như module thống kê trước đó, module math có một tập hợp các hàm toán học mà chúng ta có thể sử dụng để mở rộng thư viện tích hợp sẵn của python:

  • math.isnan(): Kiểm tra xem giá trị nhập vào có phải là không phải số không

  • math.isinf(): Kiểm tra xem giá trị nhập vào có phải là số vô hạn không

  • math.isfinite(): Kiểm tra xem giá trị nhập vào có hữu hạn không

  • math.prod(): Nhân tất cả các đối số lại với nhau

  • math.pow(): Nhận hai đối số và trả về giá trị của đối số thứ nhất được nâng lên lũy thừa của đối số thứ hai.

  • math.trunc(): Cắt bỏ phần thập phân của số thực, biến nó thành số nguyên. (Không làm tròn, chỉ loại bỏ phần thập phân)

  • math.copysign(): Nhận hai đối số, sao chép dấu (-, +) từ đối số thứ hai và áp dụng cho đối số thứ nhất.

  • math.factorial(): Nhận một đối số và nhân các số từ nó xuống 1. Ví dụ, nếu giá trị là 5 thì sẽ thực hiện: 5 x 4 x 3 x 2 x 1 và tạo ra kết quả.

Chúng ta sẽ sử dụng các hàm này để xem xét và ghi lại một số dữ liệu nhằm chuẩn bị cho các dự án phát triển. Có ba hằng số danh sách chứa sơ đồ cho khu nông trại có tên: red_schematics, green_schematics, blue_schematics. Những sơ đồ này có các giá trị không phải số và không sử dụng được được ghi chú, hãy sử dụng các hàm toán học để xác định các phần tử, tìm ra dữ liệu sử dụng được để chúng ta có thể ghi lại.

Đầu tiên, đi đến dấu X tối trên thảm đỏ, và sử dụng một vòng lặp để duyệt qua các phần tử của hằng số danh sách red_schematics nhằm xác định các phần tử hợp lệ.

for x in red_schematics: y = math.isnan (float(x)) if y == True: player.speak("Not a Number") else: y = math.isinf(float(x)) if y == True: player.speak("Is infinite") else: player.speak(x)

Vòng lặp sẽ duyệt qua tất cả các phần tử của danh sách, hàm math.isnan() sẽ xác định các mục không phải số, còn math.isinf() sẽ xác định các giá trị vô hạn không thể sử dụng cho mục đích thu thập dữ liệu. Tạo một danh sách mới có tên red_values và sử dụng list comprehension để loại bỏ các phần tử không mong muốn bằng cách sử dụng math.isfinite() để lọc chúng, như sau: red_values = [x for x in red_schematics if math.isfinite(float(x))].

Tiếp theo, cộng tất cả các số lại với nhau bằng cách sử dụng hàm math.prod() để tính tổng tất cả các mục trong danh sách, như sau: red_values = math.prod(red_values).

Thực hiện quá trình lọc tương tự trên các dấu X tối trên thảm xanh và thảm lam, sử dụng các hằng số danh sách green_schematics, blue_schematics và hợp nhất các phần tử vào các danh sách có tên green_valuesblue_values. Đi đến dấu X vàng, đối diện với bàn và sử dụng hàm write() đã được viết sẵn trong trình soạn thảo để ghi lại dữ liệu sơ đồ hợp lệ. Khi đã ghép tất cả lại, hãy đi đến dấu X sáng và sử dụng hàm open() để truy cập vào phòng tiếp theo.

Khi vào phòng tiếp theo, có một vài bàn với một số giấy chứng nhận quyền đất và tọa độ. Đây là một ý tưởng hay để ghi lại một số dữ liệu trước khi chuyển sang kiểm tra các bổ sung mới cho khu nông trại trong khu vực đối diện qua cầu. Đi đến dấu X sáng ở phía trước thùng chứa bản đồ bên bàn đầu tiên, sử dụng hàm read() để thu thập dữ liệu chỉ mục cho giấy chứng nhận quyền đất.

Đi đến dấu X tối trên thảm tím, tạo một biến có tên purple_data và sử dụng hàm math.pow() để nhân dữ liệu bạn đã thu thập nhằm lấy thông tin tọa độ. Nâng chỉ số lên lũy thừa của 3, như sau: purple_data = math.pow( -index data- , 3 ), nhớ thêm dữ liệu chỉ mục bạn đã đọc trước đó. Sử dụng math.trunc() để loại bỏ phần thập phân từ biến, như sau: purple_data = math.trunc(purple_data). Khi hoàn tất, tại dấu X, sử dụng hàm write() đã được viết sẵn trong trình soạn thảo với purple_data để ghi lại dữ liệu lưu trữ trong biến.

Cuối cùng, đi đến dấu X sáng ở phía trước tủ hồ sơ bên cạnh bàn cao nhất. Sử dụng hàm read() để thu thập dữ liệu chỉ mục một lần nữa, dữ liệu này cần được giải mã để tiết lộ thêm thông tin tọa độ cho khu đất. Tạo một biến có tên white_data để lưu trữ giá trị dữ liệu được tìm thấy trong tệp và một biến có tên sign để lưu trữ số dấu được tìm thấy trong tệp. Đi đến dấu X tối trên thảm trắng và sử dụng hàm math.copysign() với hai biến bạn đã tạo làm đối số, và gán giá trị đó cho white_data, như sau: white_data = math.copysign(white_data,sign).

Khi hoàn tất, với white_data, sử dụng math.factorial() để tính giai thừa của chỉ số, chuyển white_data sang số nguyên và sử dụng nó với hàm, như sau: white_data = math.factorial(int(white_data)). Sử dụng hàm write() đã được viết sẵn để ghi lại white_data nhằm hoàn thành cấp độ.

Sách Mã