Là một người không chuyên về toán và tự mình tham gia lập trình, tôi nhận thấy những lỗ hổng trong kiến thức chung của mình ít liên quan đến năng khiếu mà liên quan nhiều hơn đến khả năng tiếp xúc
Dưới đây là ba toán tử số học [toán học] tiện dụng mà bạn có thể không biết, nhưng sẽ hữu ích trong hành trình lập trình của bạn
Toán tử lũy thừa
Toán tử lũy thừa
The division result of 5/2 = 2.50
The division result of 5//2 = 2.00
The division result of 5//2.00 = 2.00
The division result of 5.00//2 = 2.00
6 thay thế dấu mũ truyền thống The division result of 5/2 = 2.50
The division result of 5//2 = 2.00
The division result of 5//2.00 = 2.00
The division result of 5.00//2 = 2.00
7 từ máy tính khoa học cũThay vì nhân một biến với nhau ba lần để lập khối nó hoặc sử dụng một thư viện bên ngoài như
The division result of 5/2 = 2.50
The division result of 5//2 = 2.00
The division result of 5//2.00 = 2.00
The division result of 5.00//2 = 2.00
8 trong JavaScript, chỉ cần sử dụng dấu hoa thị kép để nâng toán hạng bên trái thành lũy thừa của bên phảix = 5
x_cubed = x ** 3
x_to_the_eighth = x ** 8
Toán tử chia số nguyên
Bạn đã bao giờ cần cắt bớt một giá trị bằng cách xóa các chữ số thập phân của nó chưa?
Dấu gạch chéo kép trong Python được gọi là toán tử chia số nguyên. Về cơ bản, nó sẽ chia trái cho phải và chỉ giữ nguyên thành phần số
x = 8
y = 3
z = x // yprint[z] # 2
Toán tử mô đun
Nếu toán tử chia số nguyên cho chúng ta toàn bộ, thì chúng ta cũng cần một cách để tìm phần
Mô đun là một phép toán bị bỏ qua trong lớp toán, nhưng có thể rất hữu ích trong lập trình và khoa học dữ liệu. Khi sử dụng toán tử mô đun
0, phần còn lại của phép chia được trả về3
Learn Data Science with
x = 10
y = 4
z = x % yprint[z] # 2
Nếu bạn gặp khó khăn khi nghĩ cách sử dụng toán tử mô đun, tôi thường sử dụng nó nhất để kiểm tra số nguyên lẻ hoặc số chẵn
x = 11if x % 2:
print["odd number"]
else:
print["even number"]
Bằng cách trả lại phần còn lại từ phép chia 2, phần còn lại sẽ là 0 [số chẵn] hoặc 1 [số lẻ]
Toán tử Double Slash [//] trong Python dùng để thực hiện phép chia tầng. Nó chia số thứ nhất cho số thứ hai và làm tròn kết quả xuống số nguyên [hoặc số nguyên] gần nhất
firstNum // secondNum
Toán tử Dấu gạch chéo kép [//] trong Python
Mã ví dụ đơn giản
num1 = 12
num2 = 9
num3 = num1 // num2
print["floor division of", num1, "by", num2, "=", num3]
đầu ra
Learn Data Science with
0. Toán tử này sẽ chia đối số thứ nhất cho đối số thứ hai và làm tròn kết quả xuống số nguyên gần nhất, làm cho nó tương đương với hàm13
Learn Data Science with
Xem bên dưới để biết ví dụ nhanh về điều này
x = 80
y = 3
z = x // yprint[z] # 2
Ngoài
________số 8Cái nào giống như
x = 82
y = 3
z = x // yprint[z] # 2
Ngoài
________số 8/ vs // — phép chia vs phép chia tầng
Kết quả của phép chia thông thường [sử dụng toán tử
2] là $\frac{15}{4} = 3. 75 đô la, nhưng sử dụng3
Learn Data Science with
0 đã tăng lên 3 đô la. 75 đô la xuống còn 3 đô la3
Learn Data Science with
Kết quả của phép chia thông thường luôn là số float, trong khi nếu một trong các toán hạng là số float trong phép chia sàn, thì đầu ra sẽ là số float
Sau đây là một ví dụ về điều này
x = 86
y = 3
z = x // yprint[z] # 2
Ngoài
x = 87
y = 3
z = x // yprint[z] # 2
Chia tầng bằng số âm
Khi toán hạng là số âm, phép chia sàn sẽ trả về số nguyên lớn nhất nhỏ hơn hoặc bằng kết quả của phép chia thông thường. Hãy sử dụng các toán hạng giống như trước đây để cho thấy nó hoạt động như thế nào
x = 88
y = 3
z = x // yprint[z] # 2
Ngoài
x = 89
y = 3
z = x // yprint[z] # 2
Nhìn vào kết quả của phép chia thông thường khi cả hai số đều dương, $\frac{15}{4}=3. 75$, phép chia sàn trả về $3$, vì đó là số nguyên lớn nhất nhỏ hơn hoặc bằng $3. 75$. Khi một trong các toán hạng là âm, kết quả của phép chia bình thường là âm [$-3. 75$], vì vậy số nguyên lớn nhất nhỏ hơn hoặc bằng là $-4$
Chúng ta sẽ xem xét việc phân chia tầng có thể hữu ích ở đâu đồng thời xem xét các cách tiếp cận khác mà chúng ta có thể sử dụng để đạt được kết quả tương tự
Các trường hợp sử dụng phân chia tầng
Khi sử dụng Python, bạn sẽ thường gặp lỗi các hàm không tương thích với số float. Ví dụ: giả sử bạn muốn sử dụng hàm phạm vi với thương của hai số
x = 100
y = 4
z = x % yprint[z] # 2
Ngoài
x = 101
y = 4
z = x % yprint[z] # 2
Để chương trình của chúng tôi hoạt động chính xác, trước tiên chúng tôi cần chuyển đổi thương số thành loại số nguyên, chúng tôi có thể đạt được điều này với toán tử
03
Learn Data Science with
03
Learn Data Science with
Ngoài
13
Learn Data Science with
Một lĩnh vực khác mà bạn có thể muốn sử dụng toán tử sàn là khi đánh chỉ mục danh sách
23
Learn Data Science with
Ngoài
33
Learn Data Science with
Một cách để giải quyết vấn đề này là sử dụng toán tử chia tầng
43
Learn Data Science with
Ngoài
53
Learn Data Science with
Tùy thuộc vào ứng dụng của bạn, sàn một số không nhất thiết phải là lựa chọn tốt nhất. Trong phần tiếp theo, chúng ta sẽ xem xét các hàm khác nhau có thể cho kết quả tương tự
Các cách tiếp cận thay thế cho //
Đôi khi, bạn sẽ thấy mình đang làm việc với các bộ dữ liệu chứa cả số nguyên và số thực, chẳng hạn như nếu bạn đang sử dụng dữ liệu lộn xộn
Trong những trường hợp đó, toán tử
0 sẽ tạo ra kết quả không nhất quán, xuất ra cả số thực và số nguyên. Do đó, nếu chương trình của bạn phụ thuộc vào số nguyên, thì việc sử dụng toán tử3
Learn Data Science with
0 sẽ yêu cầu các bước bổ sung để đảm bảo đầu ra nhất quán3
Learn Data Science with
Có một số cách khác để thao tác thương của hai số để hoạt động phù hợp với chương trình của bạn. Ví dụ: không phải lúc nào bạn cũng muốn làm tròn giá trị xuống, vì vậy, sử dụng các phương pháp tiếp cận khác nhau có thể giúp bạn kiểm soát nhiều hơn kết quả
lựa chọn 1. môn Toán. sàn nhà[]
1 đạt được kết quả tương tự như toán tử chia sàn, làm tròn đối số của nó xuống số nguyên gần nhất3
Learn Data Science with
Một điểm khác biệt đáng kể khi sử dụng
1 là nó luôn xuất ra một số nguyên, bất kể kiểu dữ liệu đầu vào là gì. Khi làm việc với cả số nguyên và số float,3
Learn Data Science with
1 hữu ích hơn vì nó cung cấp đầu ra nhất quán hơn3
Learn Data Science with
Sau đây cho thấy cách chúng ta có thể tính kết quả của phép chia thông thường
x = 82
y = 3
z = x // yprint[z] # 2
Ngoài
________số 8Giống như khi sử dụng toán tử sàn,
x = 860 vẫn sẽ làm tròn xuống khi đầu vào là số âm
y = 3
z = x // yprint[z] # 2
Lựa chọn 2. môn Toán. trần nhà[]
Ngoài ra, đối với
1, chúng ta cũng có thể sử dụng3
Learn Data Science with
x = 862, sẽ luôn làm tròn lên đến số nguyên gần nhất thay vì xuống
y = 3
z = x // yprint[z] # 2
Ví dụ
83
Learn Data Science with
Ngoài
93
Learn Data Science with
Theo cách tương tự với
x = 860,
y = 3
z = x // yprint[z] # 2
x = 864 luôn cung cấp đầu ra dưới dạng kiểu số nguyên, bất kể kiểu dữ liệu đối số.
y = 3
z = x // yprint[z] # 2
x = 864 sẽ làm tròn số âm lên, vì vậy kết quả là
y = 3
z = x // yprint[z] # 2
x = 866 sẽ cho kết quả là
y = 3
z = x // yprint[z] # 2
x = 867
y = 3
z = x // yprint[z] # 2
Tùy chọn 3. int[]
Để khắc phục nhanh, bạn có thể chuyển một
x = 868 thành một
y = 3
z = x // yprint[z] # 2
x = 869. Truyền số float cho ________ 170 dẫn đến một số nguyên trong đó mọi thứ bị cắt sau khi nhập số thập phân float
y = 3
z = x // yprint[z] # 2
Trong ví dụ sau, $\frac{15}{4}=3. 75 đô la, nhưng chuyển sang một số nguyên sẽ cắt bỏ $. 75$
x = 820
y = 3
z = x // yprint[z] # 2
Ngoài
________số 8x = 870 hoạt động tương tự như
y = 3
z = x // yprint[z] # 2
1, ngoại trừ3
Learn Data Science with
x = 870 làm tròn số âm lên thay vì xuống một cách hiệu quả
y = 3
z = x // yprint[z] # 2
x = 822
y = 3
z = x // yprint[z] # 2
Ngoài
x = 823
y = 3
z = x // yprint[z] # 2
Tùy chọn 4. vòng[]
Ngoài các hàm
x = 874, chúng ta cũng có thể sử dụng
y = 3
z = x // yprint[z] # 2
x = 875 để làm tròn giá trị và sau đó xuất kết quả dưới dạng số nguyên
y = 3
z = x // yprint[z] # 2
Sự khác biệt với
x = 875 là nó sẽ sử dụng cách làm tròn thông thường, tôi. e. rằng bất kỳ số thập phân nào. 5 và lớn hơn được làm tròn lên
y = 3
z = x // yprint[z] # 2
Sau đây minh họa cách sử dụng của
x = 875
y = 3
z = x // yprint[z] # 2
x = 824
y = 3
z = x // yprint[z] # 2
Ngoài
93
Learn Data Science with
Chúng tôi cũng có thể chỉ định số lượng điểm thập phân đầu vào sẽ được làm tròn
Ví dụ dưới đây cho thấy cách chúng ta có thể làm tròn kết quả của
x = 878 chia cho
y = 3
z = x // yprint[z] # 2
x = 879 [
y = 3
z = x // yprint[z] # 2
x = 880] đến 1 chữ số thập phân
y = 3
z = x // yprint[z] # 2
x = 826
y = 3
z = x // yprint[z] # 2
Ngoài
x = 827
y = 3
z = x // yprint[z] # 2
Thêm một
x = 881 sau dấu phẩy thông báo rằng chúng tôi muốn kết quả có 1 dấu thập phân, nhưng chúng tôi có thể sử dụng bất kỳ số nào. Ví dụ: chúng ta có thể làm tròn giá trị của số pi đến chín chữ số thập phân
y = 3
z = x // yprint[z] # 2
x = 828
y = 3
z = x // yprint[z] # 2
Ngoài
x = 829
y = 3
z = x // yprint[z] # 2
Bản tóm tắt
Toán tử chia tầng [
0] chủ yếu được sử dụng khi bạn yêu cầu một số nguyên hoặc cần trả về số nguyên nhỏ nhất nhỏ hơn hoặc bằng đầu vào3
Learn Data Science with
Nếu toán hạng đều là số nguyên thì đầu ra sẽ là số nguyên. Nếu một trong hai toán hạng là số float thì đầu ra sẽ là số float
Các dòng sử dụng toán tử
0 rất dễ đọc và thành ngữ, nhưng trong trường hợp bạn đang làm việc với các tập dữ liệu lộn xộn và không nhất quán, thì tốt hơn nên sử dụng3
Learn Data Science with
1,3
Learn Data Science with
x = 862,
y = 3
z = x // yprint[z] # 2
x = 870 hoặc
y = 3
z = x // yprint[z] # 2
x = 875
y = 3
z = x // yprint[z] # 2
Bắt đầu học miễn phí
Nhận thông tin cập nhật trong hộp thư đến của bạn
Tham gia cùng hơn 7.500 người học khoa học dữ liệu
Bài viết gần đây
Ưu đãi khóa học tốt nhất cho Thứ Sáu Đen và Thứ Hai Điện Tử 2022Hàm sigmoidchấm sản phẩm7 khóa học về trí tuệ nhân tạo [AI] tốt nhất năm 2022Các khóa học Python tốt nhất theo phân tích dữ liệu
Trong số khoảng 3000 dịch vụ, đây là những khóa học Python tốt nhất theo phân tích này
xem bài viếtNhận thông tin cập nhật trong hộp thư đến của bạn
Tham gia cùng hơn 7.500 người học khoa học dữ liệu
Gặp gỡ các tác giả
Nhà khoa học dữ liệu Alfie Grace
Alfie tốt nghiệp Thạc sĩ Kỹ thuật Cơ khí tại Đại học College London. Anh ấy hiện đang làm Nhà khoa học dữ liệu tại Square Enix. Tìm anh ấy trên LinkedIn