Python có làm tròn phép chia số nguyên không?

Phép chia số nguyên là một phép toán số học trong đó phép chia được thực hiện, nhưng phần dư bị loại bỏ để lại cho chúng ta chỉ một số nguyên

Trong các ngôn ngữ lập trình khác, sự kết hợp của phép chia cộng với một thứ gì đó gần giống với hàm “sàn”…

Khi

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
2 được sử dụng giữa hai số, bạn sẽ luôn nhận được kết quả chính xác [chính xác như Python có thể quản lý]

Không giống như một số ngôn ngữ lập trình,

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
2 trong Python không hoạt động khác đi khi được sử dụng giữa các số nguyên; . Trong Python 2, phép chia giữa hai số nguyên sẽ cho kết quả giảm xuống số nguyên gần nhất

Nhưng trong Python 3, phép chia giữa hai số nguyên luôn trả về một số dấu phẩy động với kết quả chính xác

Toán tử
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 giữa các số nguyên

Toán tử

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 là toán tử chia tầng trong Python. Khi
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 được sử dụng giữa hai số nguyên, bạn sẽ luôn nhận lại một số nguyên

Toán tử

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 cung cấp phép chia trong khi làm tròn kết quả xuống số nguyên gần nhất. Đây thường được gọi là phép chia số nguyên hoặc phép chia sàn

Khi sử dụng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 với số dấu phẩy động, bạn sẽ nhận lại số dấu phẩy động

Tuy nhiên, giống như với số nguyên, số dấu phẩy động đó cũng sẽ được làm tròn xuống số nguyên gần nhất

Khi nào bạn nên sử dụng
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 trong Python?

Nếu bạn đã từng thấy mã như thế này

Sau đó, bạn có thể đã chứng kiến ​​cơ hội sử dụng toán tử

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1. Nếu bạn đang chia và sau đó ngay lập tức chuyển đổi kết quả thành một số nguyên, bạn có thể sử dụng toán tử
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 để thay thế

Trong hàm

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
05 này, chúng tôi đang sử dụng hàm
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
06 để đảm bảo giá trị
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
07 là một số nguyên

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
3

Các số chúng tôi đang chia đều là số nguyên, vì vậy chúng tôi có thể sử dụng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 để buộc một kết quả số nguyên

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]

Điều này hiệu quả hơn một chút so với chia để lấy một số dấu phẩy động chính xác và sau đó đặt số dấu phẩy động đó để quay lại một số nguyên

Lưu ý rằng
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 luôn làm tròn xuống

Trước khi bạn bắt đầu thay thế tất cả các cách sử dụng của

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
70 trong mã của mình bằng
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
71, bạn nên lưu ý rằng hai cách này hoạt động khác nhau khi kết quả của phép chia là một số âm

Giả sử chúng ta chia và kết quả là

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
72

Khi sử dụng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
2 và
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
06, chúng tôi sẽ kết thúc với
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
75 nhưng khi chia cho
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1, chúng tôi sẽ nhận được thay vào đó là
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
77

Toán tử

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 luôn làm tròn xuống. Nó hoạt động ít giống như và giống như
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
60

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
0

Cũng nên nhớ rằng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
71 trả về số dấu phẩy động khi
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
62 hoặc
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
63 là số dấu phẩy động

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
7

Vì vậy, rất có thể bạn sẽ chỉ muốn sử dụng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 để chia giữa các số nguyên dương

Sử dụng
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
65 để thay thế

Điều gì sẽ xảy ra nếu bạn muốn cả phép chia số nguyên [với

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1] và phần còn lại của phép chia đó [với
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
67]

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
6

Thay vì sử dụng riêng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 và
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
67, bạn có thể sử dụng hàm
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
65 để nhận cả hai kết quả cùng một lúc

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
0

Về lý thuyết, điều này có thể được tối ưu hóa để thực hiện cả hai thao tác cùng một lúc, nhưng trên thực tế, CPython không thực hiện tối ưu hóa đó nên điều này chủ yếu là về khả năng đọc

Đôi khi

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
65 có thể làm cho mã dễ đọc hơn đáng kể. Ví dụ ở đây, chúng tôi đang sử dụng khéo léo
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 và
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
67 để tính giờ, phút và giây

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
4

Nhưng chúng ta có thể sử dụng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
65 hai lần để thay thế

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
6

Tôi thấy rằng cách tiếp cận

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
65 rõ ràng hơn nhiều so với cách sử dụng thay thế của
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 và
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
67. Nếu bạn cần cả thương [để sử dụng thuật ngữ toán học] và phần còn lại của phép chia, hãy cân nhắc sử dụng
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
65

Ghi chú. nếu bạn tò mò về cú pháp

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
09 ở trên, hãy xem

Sử dụng
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1 để chia số nguyên

Đối với hầu hết các cách sử dụng phép chia trong Python, bạn có thể sẽ sử dụng

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
2 vì câu trả lời chính xác thường được mong muốn

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
4

Nhưng trong những khoảnh khắc hiếm hoi khi bạn muốn phân chia tầng [a. k. a. phép chia số nguyên], bạn sẽ muốn toán tử

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
6

Nếu bạn muốn cả số dư

def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
67 và phép chia số nguyên
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
1, hãy ghi nhớ hàm
def split_in_half[sequence]:
    """Return two halves of given sequence [list, string, etc]."""
    mid_point = len[sequence] // 2
    return sequence[:mid_point], sequence[mid_point:]
65 của Python

Phép chia số nguyên có làm tròn xuống không?

Phép chia số nguyên làm tròn về 0 . Điều này có nghĩa là, ví dụ, kết quả của phép chia số nguyên 7/5 sẽ có số thực 1. 4 là kết quả trung gian và được làm tròn theo hướng 0 sẽ cho kết quả là 1.

Python xử lý phép chia số nguyên như thế nào?

Trong Python 3. x, toán tử dấu gạch chéo ["/"] thực hiện phép chia đúng cho tất cả các loại kể cả số nguyên và do đó, e. g. 3/2==1. 5. Kết quả là loại dấu phẩy động ngay cả khi cả hai đầu vào là số nguyên. 4/2 sinh 2. 0.

Python có tự động làm tròn xuống không?

Số nguyên của Python làm tròn xuống theo mặc định . Có vẻ như bạn cần làm tròn đến số nguyên gần nhất. ngăn xếp chồng lên nhau. com/questions/31818050/… Bạn có cần làm tròn lên hoặc làm tròn số đến số nguyên gần nhất không?

Chủ Đề