Hướng dẫn dùng python cmp python
Hàm cmp() trong Python 2 trả về dấu hiệu chỉ sự khác nhau giữa hai số: -1 nếu x < y, 0 nếu x == y, hoặc 1 nếu x > y. Lưu ý: Hàm cmp() chỉ có trong Python 2, nó đã bị loại bỏ trong Python 3. Cú pháp của hàm cmp() trong Python 2: Tham số: x: Đây là một biểu thức số. y: Đây cũng là một biểu thức số. Ví dụ sau minh
họa cách sử dụng của hàm cmp() trong Python 2. Chạy chương trình Python 2 trên sẽ cho kết quả: cmp(80, 100) : -1 cmp(180, 100) : 1 cmp(-80, 100) : -1 cmp(80, -100) : 1 Ví dụ hàm cmp() trong Python 3Hàm cmp() đã bị loại bỏ trong Python 3, vậy biểu thức này (a > b) - (a < b) a = 100 b = 100 print ("cmp(80, 100) : ", (a > b) - (a < b)) a = 80 b = 100 print ("cmp(80, 100) : ", (a > b) - (a < b)) a = -80 b = -100 print ("cmp(80, 100) : ", (a > b) - (a < b)) Chạy chương trình Python 2 trên sẽ cho kết quả: cmp(80, 100) : 0 cmp(80, 100) : -1 cmp(80, 100) : 1 answer 63 Như đã đề cập trong các nhận xét,
được lấy từ Bản gốc có gì mới trong Python 3.0 . Tuy nhiên, nó khá hiếm - mặc dù không phải là chưa từng nghe - nhưng nó thực sự cần thiết, vì vậy bạn có thể muốn nghĩ xem đó có thực sự là cách tốt nhất để làm bất cứ điều gì bạn muốn hay không. 63 hữu ích 1 bình luận chia sẻ answer 9 Trong Python 3.x bạn có thể 9 hữu ích 0 bình luận chia sẻ answer 1 Khi cần ký hiệu, có lẽ cách thay thế an toàn nhất là sử dụng math.copysign:
Đặc biệt nếu ang thuộc loại np.float64 vì toán tử '-' bị khấu hao. Thí dụ:
thay vào đó người ta có thể sử dụng:
1 hữu ích 0 bình luận chia sẻ answer 0 Nếu a hoặc b là một đối tượng lớp, thì các câu trả lời trên sẽ có lỗi biên dịch như sau: Ví dụ: a là Class Clock: File "01_ClockClass_lab16.py", dòng 14, trong cmp return (a> b) - (a ' không được hỗ trợ giữa các trường hợp của 'Đồng hồ' và 'Đồng hồ' Thay đổi kiểu với int () để loại bỏ lỗi: def cmp (a, b): return (int (a)> int (b)) - (int (a) 0 hữu ích 1 bình luận
chia sẻ answer 0 thêm vào câu trả lời của @ maxin, trong
0 hữu ích 0 bình luận chia sẻ answer 0
Xem đoạn mã dưới đây:
đầu ra:
Trong khi so sánh các số nguyên cmp () chỉ thực hiện phép trừ đối số của nó tức là trong trường hợp này là ab, nếu phép trừ là -ve thì nó trả về -1 tức là a b
đầu ra:
Lần nữa:
đầu ra:
khi cả hai đối số đều bằng nhau, tức là a = b, nó trả về 0 dưới dạng đầu ra. Ở đây, chúng tôi đã chuyển hai kiểu chuỗi giá trị. Ở đây, cmp () so sánh cả chuỗi ký tự theo ký tự và nếu được tìm thấy giống nhau thì trả về 0. 0 hữu ích 0 bình luận chia sẻ answer 0 Trong trường hợp chung, đây là tất cả các sự thay thế tốt
hoặc chỉ
sẽ hoạt động khá tốt. 0 hữu ích 0 bình luận chia sẻ |