Phép chia và phép chia tầng trong Python là gì?
Sự khác biệt là đây. Phép chia thông thường, /, sẽ thực hiện nhiệm vụ chia cho T. Phép chia sàn, //, sẽ cho bạn biết số lần một số khớp với số khác mà không có bất kỳ dấu thập phân hay phần dư nào. Thí dụ. 24/13 = 1. 867. 24//13 = 1
/ → Phép chia dấu phẩy động Show
// → Phân tầng Hãy xem một số ví dụ trong cả Python 2. 7 và trong Python 3. 5 Trăn 2. 7. 10 so với. Trăn 3. 5
Trăn 2. 7. 10 so với. Trăn 3. 5
Bây giờ nếu bạn muốn có (bằng Python 2. 7) đầu ra giống như trong Python 3. 5, bạn có thể làm như sau Trăn 2. 7. 10
Trong khi không có bất kỳ sự khác biệt nào giữa phân chia tầng trong cả Python 2. 7 và trong Python 3. 5 Phép chia cho phép bạn chia hai số và trả về một thương số, i. e. , số đầu tiên hoặc số ở bên trái được chia cho số hoặc số thứ hai ở bên phải và trả về thương. Có hai loại toán tử chia. (i) Phân chia nổi.Thương số trả về bởi toán tử này luôn là một số float, bất kể hai số có phải là số nguyên hay không. Ví dụ >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.0 (ii) Phép chia số nguyên (Phép chia tầng).Thương số được trả về bởi toán tử này phụ thuộc vào đối số được truyền. Nếu bất kỳ số nào ở dạng float, nó sẽ trả về đầu ra ở dạng float. Nó còn được gọi là Phép chia sàn bởi vì, nếu bất kỳ số nào âm, thì đầu ra sẽ được chia sàn. Ví dụ >>>5//5 1 >>>3//2 1 >>>10//3 3 Hãy xem xét các câu lệnh dưới đây trong Python Python3 11 12 13 14____115>>>5//5 1 >>>3//2 1 >>>10//3 30 >>>5//5 1 >>>3//2 1 >>>10//3 30 >>>5//5 1 >>>3//2 1 >>>10//3 32 >>>5//5 1 >>>3//2 1 >>>10//3 33 13 14____56 15>>>5//5 1 >>>3//2 1 >>>10//3 30 >>>5//5 1 >>>3//2 1 >>>10//3 30 >>>5//5 1 >>>3//2 1 >>>10//3 32 >>>5//5 1 >>>3//2 1 >>>10//3 33 đầu ra 5Đầu ra đầu tiên là tốt, nhưng đầu ra thứ hai có thể ngạc nhiên nếu chúng ta đến với thế giới Java/C++. Trong Python, toán tử “//” hoạt động như phép chia sàn cho các đối số số nguyên và số float. Tuy nhiên, toán tử chia '/' luôn trả về giá trị float
Thí dụ Python3 52 53 13 14____156____50>>>5//5 1 >>>3//2 1 >>>10//3 32 >>>5//5 1 >>>3//2 1 >>>10//3 33 13 14____56 56>>>5//5 1 >>>3//2 1 >>>10//3 30 >>>5//5 1 >>>3//2 1 >>>10//3 32 >>>5//5 1 >>>3//2 1 >>>10//3 33 Đầu ra 7Toán tử chia tầng thực sự là “//”. Nó trả về giá trị sàn cho cả đối số số nguyên và dấu phẩy động Trong hướng dẫn này, bạn sẽ học cách thực hiện phân chia tầng trong Python. Bạn sẽ sử dụng toán tử // của Python, hàm sàn từ mô-đun toán học của Python, v.v. – với các ví dụ về mã Chúng ta sẽ bắt đầu với phần tổng quan về các toán tử số học trong Python và tìm hiểu cách thức hoạt động của toán tử chia tầng //. Sau đó, chúng ta sẽ học cách sử dụng các phương thức tương đương khác bao gồm các hàm từ mô-đun toán học và toán tử để thực hiện phép chia tầng Bắt đầu nào… Toán tử số học trong PythonTrong Python, bạn có thể sử dụng các toán tử số học để thực hiện các phép toán số học đơn giản trên các số của kiểu dữ liệu 86 và 87. Các toán tử này hoạt động trên toán hạng (các số) và trả về kết quả của phép toánBảng dưới đây tóm tắt các toán tử số học trong Python và cách chúng hoạt động Toán tửCú phápResultAddition(+) 88Trả về tổng của 89 và 20Phép trừ (-) 21Trả về hiệu giữa 89 và 20Phép nhân (*) 24Trả về tích của 89 và 20Lũy thừa (**) 27Trả về kết quả của 89 được nâng lên lũy thừa của 20; Hãy lấy một vài ví dụ sử dụng các toán tử số học này. Bạn có thể thử các ví dụ này trong REPL Python hoặc trong trình chỉnh sửa Python trực tuyến của Geekflare >>>5//5 1 >>>3//2 1 >>>10//3 33 Trong ví dụ này, 89 là 18 và 20 là 5. Phép chia >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.042 trả về kết quả có cả phần phân số Số 5 đi vào 18 ba lần để lại phần còn lại của ba. Do đó, phép chia sàn, >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.045, cho thương số 3, trong khi toán tử modulo cho phần dư – cũng là 3 trong trường hợp này 8Điều này sẽ cung cấp cho bạn ý tưởng về cách hoạt động của phép chia, phép chia tầng và modulo. Tiếp theo, chúng ta sẽ tìm hiểu chi tiết về toán tử chia tầng
Phân chia tầng sử dụng toán tử //Xét một phép toán chia với số bị chia và số chia. Trong >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.042, 89 là số bị chia và 20 là số chia. Để thực hiện phép chia tầng của 89 và 20, hãy sử dụng >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.045
Toán tử chia tầng không đảm bảo đáp án luôn là số nguyên. Nếu số bị chia ( 89) hoặc số chia ( 20) là số thực thì kết quả của >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.045 là số thực. Đây là vài ví dụ 2Nếu bạn cần kết quả là một số nguyên, thì bạn cần chuyển nó thành một số nguyên một cách rõ ràng bằng cách sử dụng hàm >>>5//5 1 >>>3//2 1 >>>10//3 394 >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.04 Điều gì xảy ra dưới mui xe?Khi bạn sử dụng toán tử chia tầng //, phương thức đặc biệt (còn gọi là phương thức dunder) >>>5//5 1 >>>3//2 1 >>>10//3 395 được gọi. Do đó, bạn cũng có thể sử dụng phương thức >>>5//5 1 >>>3//2 1 >>>10//3 395 trên bất kỳ số nguyên hoặc số dấu phẩy động nào, như minh họa bên dưới >>>5//5 1 >>>3//2 1 >>>10//3 33 Phân chia tầng Sử dụng toán tử. floordiv()💡 Để thực hiện phép chia tầng trong Python, bạn cũng có thể sử dụng hàm >>>5//5 1 >>>3//2 1 >>>10//3 397 trong module >>>5//5 1 >>>3//2 1 >>>10//3 398 Mô-đun toán tử của Python chứa các định nghĩa về các hàm hiệu quả có thể thực hiện tất cả các phép tính số học. Do đó, để thực hiện phép chia tầng, bạn cũng có thể sử dụng hàm >>>5//5 1 >>>3//2 1 >>>10//3 397 từ mô-đun toán tử – thay vì toán tử // Sử dụng hàm >>>5//5 1 >>>3//2 1 >>>10//3 397 từ mô-đun toán tử tương đương với việc sử dụng toán tử chia tầng >>>5//5 1 >>>3//2 1 >>>10//3 39 Phân chia tầng Sử dụng toán học. tầng lầu()Chức năng sàn hoạt động như thế nào?
Để hiểu rõ hơn về điều này, chúng ta hãy lấy một vài ví dụ và hình dung những con số này trên một dòng số ví dụ 1. Xét số 2. 3. Số nguyên lớn nhất nhỏ hơn hoặc bằng 2. 3 là 2; . 3) sẽ trả lại 2 ví dụ 2. Bạn cũng có thể áp dụng định nghĩa tương tự khi làm việc với số âm. Xét số -1. 7. Số nguyên lớn nhất nhỏ hơn hoặc bằng -1. 7 là -2; . 7) sẽ trả về -2 Hãy xác minh các kết quả trên bằng cách sử dụng hàm >>>5//5 1 >>>3//2 1 >>>10//3 391 từ mô-đun toán học >>>5//5 1 >>>3//2 1 >>>10//3 39 Để thực hiện phép chia tầng, bạn có thể gọi hàm >>>5//5 1 >>>3//2 1 >>>10//3 391 với đối số là >>>5/5 1.0 >>>10/2 5.0 >>>-10/2 -5.0 >>>20.0/2 10.042. Khi nó cắt bớt hoặc làm tròn kết quả xuống số nguyên gần nhất, nó tương đương với phép toán chia sàn Bạn có thể nhập hàm >>>5//5 1 >>>3//2 1 >>>10//3 391 một cách rõ ràng từ mô-đun >>>5//5 1 >>>3//2 1 >>>10//3 397, như được hiển thị >>>5//5 1 >>>3//2 1 >>>10//3 37 Ngoài ra, bạn cũng có thể chỉ nhập mô-đun >>>5//5 1 >>>3//2 1 >>>10//3 397 và sau đó truy cập hàm >>>5//5 1 >>>3//2 1 >>>10//3 391 bằng cách sử dụng >>>5//5 1 >>>3//2 1 >>>10//3 370 >>>5//5 1 >>>3//2 1 >>>10//3 31 Không giống như hàm >>>5//5 1 >>>3//2 1 >>>10//3 397 từ mô-đun toán tử và toán tử chia tầng //, sử dụng >>>5//5 1 >>>3//2 1 >>>10//3 372 đảm bảo rằng kết quả là một số nguyên. Phương pháp này làm cho mã có thể đọc được và loại bỏ bước ép kiểu >>>5//5 1 >>>3//2 1 >>>10//3 34 Ví dụ về phân chia tầng trong PythonHãy kết thúc cuộc thảo luận của chúng ta bằng một ví dụ thực tế. Tìm kiếm nhị phân. ✅
Thuật toán này hoạt động bằng cách chia khoảng thời gian tìm kiếm thành một nửa ở mỗi bước. Điều này được thực hiện tùy thuộc vào việc điểm giữa của khoảng có khớp với mục tiêu hay không (tìm kiếm kết thúc khi tìm thấy kết quả khớp. ) hoặc nhỏ hơn hoặc lớn hơn mục tiêu. Vì kích thước của mảng giảm đi một nửa ở mỗi bước, điểm giữa không phải lúc nào cũng ước tính thành một số nguyên 80Xem xét việc triển khai thuật toán tìm kiếm nhị phân sau đây. Hàm >>>5//5 1 >>>3//2 1 >>>10//3 373 nhận vào một số ( >>>5//5 1 >>>3//2 1 >>>10//3 374) và một danh sách ( >>>5//5 1 >>>3//2 1 >>>10//3 375) và tìm kiếm sự xuất hiện của >>>5//5 1 >>>3//2 1 >>>10//3 374 trong >>>5//5 1 >>>3//2 1 >>>10//3 375
81Việc triển khai này đúng về mặt chức năng ngoại trừ việc chúng tôi chưa tính đến việc >>>5//5 1 >>>3//2 1 >>>10//3 311 không đánh giá thành một số nguyên khi tiến hành tìm kiếm 82Nếu chúng ta gọi hàm, chúng ta gặp phải một thông báo >>>5//5 1 >>>3//2 1 >>>10//3 312 cho biết rằng các chỉ số danh sách phải là số nguyên hoặc lát, không phải là số float 83Chúng tôi sửa đổi định nghĩa hàm để sử dụng toán tử chia tầng 84Hàm trả về chỉ mục mà mục 7 được tìm thấy, là chỉ mục một 85Phần kết luậnTôi hy vọng hướng dẫn này đã giúp bạn hiểu cách thực hiện phân chia tầng trong Python. Dưới đây là tóm tắt các phương pháp khác nhau mà bạn đã học Hai loại phân chia trong Python là gì?Trong Python, có hai kiểu phân chia. phép chia số nguyên và phép chia số thực .
Phép chia trong Python là gì?Trong Python, có hai loại toán tử chia. /. Chia số bên trái cho số bên phải và trả về một giá trị dấu phẩy động. //. Chia số bên trái cho số bên phải, làm tròn câu trả lời và trả về một số nguyên
Phân tầng dùng để làm gì?Phép chia tầng là phép chia bình thường, ngoại trừ nó trả về số nguyên lớn nhất có thể. Số nguyên này có thể nhỏ hơn đầu ra của phép chia thông thường hoặc bằng nó. Hàm sàn được biểu thị bằng ký hiệu ⌊ ⌋ theo thuật ngữ toán học
Python chia theo modulo hoặc tầng là gì?Ký hiệu % trong Python được gọi là Toán tử Modulo. Nó trả về phần còn lại của phép chia toán hạng bên trái cho toán hạng bên phải . Nó được sử dụng để lấy phần còn lại của một vấn đề chia. Toán tử modulo được coi là một phép toán số học, cùng với + , - , / , * , ** , //. |