Trong ứng dụng của tôi, tôi gặp phải những điều sau đây và rất ngạc nhiên bởi kết quả:
8/-7=-2
[cả hai số nguyên].
Điều đó có nghĩa là gì?
Hỏi ngày 4 tháng 4 năm 2011 lúc 6:25Apr 4, 2011 at 6:25
1
Đối với các giá trị thực tế, tức là
1/10 = 0
1/-10 = -1
0, kết quả là khoảng 1/10 = 0
1/-10 = -1
1.Kết quả của bạn bằng cách sử dụng phân chia số nguyên đang được làm tròn xuống giá trị âm hơn của
1/10 = 0
1/-10 = -1
2. [Điều này còn được gọi là "phân chia sàn"]
Đây là lý do tại sao bạn sẽ nhận được những câu trả lời hơi bối rối của:
>>> 8/[-7]
-2
>>> 8/7
1
Lưu ý: Đây là "cố định" trong Python 3, trong đó kết quả của
3 sẽ là 1/10 = 0
1/-10 = -1
1. Vì vậy, nếu bạn không có lý do để sử dụng Python 2, bạn nên nâng cấp. ;] This is "fixed" in Python 3, where the result of 1/10 = 0
1/-10 = -1
1/10 = 0
1/-10 = -1
3 would be 1/10 = 0
1/-10 = -1
1. So if you have no reason to be using Python 2, you should upgrade. ;]Trong Python 3, nếu bạn vẫn muốn phân chia số nguyên, bạn có thể sử dụng toán tử
1/10 = 0
1/-10 = -1
5. Điều này sẽ cung cấp cho bạn câu trả lời giống như 1/10 = 0
1/-10 = -1
3 trong Python 2.Đây là đề xuất nâng cao Python về chủ đề: PEP 238 - Thay đổi nhà điều hành bộ phận
Đã trả lời ngày 4 tháng 4 năm 2011 lúc 6:29Apr 4, 2011 at 6:29
Chris Cooperchris CooperChris Cooper
Phim thương hiệu vàng 17K951 Huy hiệu bạc70 Hàng đồng9 gold badges51 silver badges70 bronze badges
10
Python luôn thực hiện "phân chia sàn" cho cả phân chia số âm và phân chia số dương.
Đó là
1/10 = 0
1/-10 = -1
Nhưng đôi khi chúng ta cần 1/-10 là 0
Tôi tìm ra nó có thể được thực hiện bằng cách sử dụng bộ phận float trước sau đó kết quả đúc cho int, ví dụ:
int[float[1]/-10] = 0
Điều đó phù hợp với tôi, không cần nhập bộ phận trong tương lai hoặc nâng cấp lên Python 3
Hy vọng nó có thể giúp bạn ~
Đã trả lời ngày 20 tháng 7 năm 2015 lúc 6:35Jul 20, 2015 at 6:35
ZH.JayZH.JayZH.Jay
2112 Huy hiệu bạc2 Huy hiệu đồng2 silver badges2 bronze badges
Để có Python tự động chuyển đổi bộ phận số nguyên thành Float, bạn có thể sử dụng:
from __future__ import division
Now:
8/-7=-1.1428571428571428
Tính năng này không nằm trong Python & NBSP; 2 tiêu chuẩn để không phá vỡ mã hiện có dựa vào phân chia số nguyên.
Tuy nhiên, đây là hành vi mặc định cho Python & NBSP; 3.
Đã trả lời ngày 4 tháng 4 năm 2011 lúc 6:35Apr 4, 2011 at 6:35
Andrea Zoncaandrea ZoncaAndrea Zonca
8.0759 Huy hiệu vàng40 Huy hiệu bạc68 Huy hiệu Đồng9 gold badges40 silver badges68 bronze badges
Khi cả hai giá trị là số nguyên khi chia Python sử dụng phân chia sàn.
Đã trả lời ngày 4 tháng 4 năm 2011 lúc 6:29Apr 4, 2011 at 6:29
Chris Cooperchris CooperLossy
Phim thương hiệu vàng 17K951 Huy hiệu bạc70 Hàng đồng1 silver badge4 bronze badges
1
Python luôn thực hiện "phân chia sàn" cho cả phân chia số âm và phân chia số dương.
Đó là
Nhưng đôi khi chúng ta cần 1/-10 là 0
Tôi tìm ra nó có thể được thực hiện bằng cách sử dụng bộ phận float trước sau đó kết quả đúc cho int, ví dụ:
Điều đó phù hợp với tôi, không cần nhập bộ phận trong tương lai hoặc nâng cấp lên Python 3Apr 4, 2011 at 6:31
Hy vọng nó có thể giúp bạn ~Rumple Stiltskin
Đã trả lời ngày 20 tháng 7 năm 2015 lúc 6:351 gold badge20 silver badges25 bronze badges
5
Vấn đề19446
Được tạo vào năm 2013-10-30 07:18 bởi Nitin.Kumar, lần cuối đã thay đổi 2022-04-11 14:57 bởi Quản trị viên. Vấn đề giờ đã kết thúc.2013-10-30 07:18 by Nitin.Kumar, last changed 2022-04-11 14:57 by admin. This issue is now closed.
Integer_division.py | Nitin.Kumar, 2013-10-30 07:22, 2013-10-30 07:22 | Ví dụ cho thấy vấn đề |
Mathematically python is not giving correct output for integer division for negative number, e.g. : -7//2= -3 but python is giving output -4. | |||
Hi Nitin, "a // b" is defined as the floor division operation, same as what "math.floor[a / b]" gives: the largest integer Hi Nitin, > > "a // b" is defined as the floor division operation, same as what > "math.floor[a / b]" gives: the largest integer > -7/2 is -3.5, the largest integer > ---------- > nosy: +georg.brandl > resolution: -> invalid > status: open -> closed > > _______________________________________ > Python tracker > > _______________________________________ >MSG202837 - [Xem]Tác giả: Mark Dickinson [Mark.Dickinson] * | |||
Ngày: 2013-11-14 12:28 | ________số 8 | Lịch sử | Ngày |
Người sử dụng | Hoạt động | Lịch sử | Ngày messages: + msg202837 |
Người sử dụng | Hoạt động | Args | 2022-04-11 & NBSP; 14: 57: 52 |
quản trị viên | bộ | Lịch sử | Ngày |
Người sử dụng | Hoạt động | Lịch sử | Ngày Người sử dụng Hoạt động |
Args | bộ | Lịch sử | Ngày |
Người sử dụng | bộ | Lịch sử | Ngày |
Người sử dụng | bộ | GitHub: 63645 |