Cách kiểm tra xem một số có phải là số tự nhiên trong python không

Khi bạn kiểm tra xem một số có nằm giữa hai số khác hay không, nó sẽ trả về một giá trị boolean xác định xem số đó có lớn hơn hoặc bằng số nhỏ nhất và cũng nhỏ hơn hoặc bằng số lớn nhất hay không. Đây là một ví dụ chứng minh vấn đề

Ví dụ 1.
25 có nằm trong khoảng từ 15 đến 35 không?
Đầu ra. Đúng
Ví dụ 2.
Là 0. 5 giữa 1 và 5?
Đầu ra. Sai
Ví dụ 3.
10 có nằm trong khoảng từ 10 đến 20 không?
Kết quả. Đúng

Điều đó giải thích vấn đề đã cho. Chúng ta sẽ xem xét một số điều kiện và ví dụ khác. Nhưng trước khi thảo luận về các kịch bản phức tạp, chúng ta hãy đi sâu vào các giải pháp cho câu hỏi đã cho

Phương pháp 1. Sử dụng toán tử so sánh

Python comparison operators can compare numerical values such as integers and floats in Python. The operators are: equal to ( == ), not equal to ( != ), greater than ( > ), less than ( < ), less than or equal to ( <= ), and greater than or equal to ( >= ).

Thus, you can use the <= and the >= operators to check if a number lies between the upper limit (maximum number) and lower limit(minimum number).

Mã số

print(15 <= 25 < 35)  # True
print(1 <= 0.5 < 5)  # False
print(10 <= 10 < 20)  # True

Phương pháp 2. Sử dụng từ khóa “và” với các toán tử so sánh

Cách thứ hai để kiểm tra xem một giá trị có nằm giữa hai giá trị khác hay không khá giống với cách được sử dụng ở trên. Sự khác biệt duy nhất, trong trường hợp này, là sử dụng từ khóa và ở giữa hai toán tử so sánh như trong giải pháp bên dưới

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True

Một số bạn có thể nghĩ tại sao lại sử dụng một từ khóa bổ sung khi giải pháp đưa ra trước đó dễ đọc hơn giải pháp này. Tốt. Đúng. Cú pháp đầu tiên dễ đọc hơn nhưng giải pháp này chạy nhanh hơn. Hãy so sánh hai giải pháp sử dụng timeit

~$ python3 -m timeit "10 <= 20 and 20 <= 30"
10000000 loops, best of 3: 0.0366 usec per loop

~$ python3 -m timeit "10 <= 20 <= 30"
10000000 loops, best of 3: 0.0396 usec per loop

Phương pháp 3. Sử dụng từ khóa “in” với hàm range()

Bạn có thể sử dụng hàm

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
7 để xác định các giới hạn/số trên và dưới bằng cách nhập các giá trị bắt đầu và dừng bên trong nó. Bây giờ để kiểm tra xem số đó có nằm giữa hai số không bạn chỉ cần sử dụng từ khóa in để kiểm tra. Vì vậy, nếu số nằm trong phạm vi được chỉ định thì đầu ra sẽ là “True” khác “False“

Mã số

print(25 in range(15, 36))  # True
print(0.5 in range(0, 2))  # False
print(10 in range(10, 20))  # True

Lưu ý rằng giá trị dừng trong hàm

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
7 phải luôn lớn hơn một giá trị lớn hơn/giới hạn trên đã cho vì phạm vi giá trị được tính đến bởi hàm
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
9 luôn nằm trong khoảng từ bắt đầu đến dừng-1. Đọc thêm về hàm
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
7 tại đây. Hàm range() trong Python — Hướng dẫn minh họa hữu ích

TIDBIT

Toán tử “

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
1” của Python là từ khóa dành riêng để kiểm tra tư cách thành viên của toán hạng bên trái trong tập hợp được xác định là toán hạng bên phải. Ví dụ: biểu thức 
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
2 nếu đối tượng 
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
3 tồn tại trong tập hợp 
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
4, sao cho ít nhất một phần tử 
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
5 tồn tại trong 
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
4 đối với 
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
7 đó. Bạn có thể kiểm tra tư cách thành viên bằng cách sử dụng toán tử “
print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
1” trong các bộ sưu tập, chẳng hạn như danh sách, bộ, chuỗi và bộ

Cách kiểm tra xem một số có phải là số tự nhiên trong python không

bài tập

Trước khi kết thúc cuộc thảo luận, chúng ta hãy thảo luận về một số biến thể khác của vấn đề đã cho để củng cố thêm khả năng hiểu biết của chúng ta về khái niệm này

thử thách 1. Làm cách nào để kiểm tra xem một bảng chữ cái có nằm giữa hai bảng chữ cái khác hay không dựa trên thứ tự bảng chữ cái của ngôn ngữ tiếng Anh?

Thí dụ. Khi bạn kiểm tra xem bảng chữ cái “Y” có nằm giữa “X” và “Z” hay không, đầu ra phải là “True”

Dung dịch

Python comparison operators can also compare strings in Python. The comparison ordering is given by the 

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
9 function that returns the Unicode integer for a given character 
~$ python3 -m timeit "10 <= 20 and 20 <= 30"
10000000 loops, best of 3: 0.0366 usec per loop

~$ python3 -m timeit "10 <= 20 <= 30"
10000000 loops, best of 3: 0.0396 usec per loop
0. The operators that can be used are: equal to ( == ), not equal to ( != ), greater than ( > ), less than ( < ), less than or equal to ( <= ), and greater than or equal to ( >= ).

Chúng tôi sẽ sử dụng các toán tử < và > để giải quyết thách thức lập trình

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
4

thử thách 2. Xem xét một kịch bản thời gian thực trong đó bạn phải phân bổ điểm cụ thể cho một học sinh dựa trên số điểm mà học sinh đó đạt được. Đây là bảng phân bổ điểm xác định phạm vi điểm tương ứng với một điểm nhất định

Điểm Điểm91-100A+81-90A71-80B61-70C40-60D0-39Không đạt

Làm thế nào bạn sẽ sử dụng hệ thống chấm điểm trên và phân bổ điểm thích hợp cho một học sinh dựa trên các điểm nhận được? .  

Đầu vào. điểm = 90
Đầu ra. “Hạng A”

Đầu vào. điểm = 55
Đầu ra. “Hạng D”

Đầu vào. điểm = 10
Đầu ra. “Không thành công”

Câu hỏi. Bạn có thể xây dựng một đoạn mã một lớp để giải quyết thách thức lập trình không?

Dung dịch

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
5

Giải pháp này là một ví dụ điển hình về việc sử dụng toán tử bậc ba lồng nhau. Hãy xem xét một lớp lót để hiểu cách thức hoạt động của nó

Nếu giá trị của điểm lớn hơn 90, chúng tôi in 'Grade. A+’ trên vỏ. Mặt khác, phần còn lại của mã sẽ được thực thi, đại diện cho chính toán tử bậc ba. Điều kiện tiếp theo được đánh giá và nếu giá trị của điểm lớn hơn 80, chúng tôi in 'Grade. A' trên vỏ. Đây là cách mỗi điều kiện được đánh giá cho đến khi một điều kiện nhất định là Đúng. Do đó, nếu giá trị của điểm nhỏ hơn 80, thì điều kiện tiếp theo sẽ được đánh giá. Do đó, nếu giá trị của điểm lớn hơn 70, chúng tôi in 'Grade. B’ trên vỏ. Nếu không, điều kiện tiếp theo được thực hiện. Nếu giá trị lớn hơn 60, chúng tôi in 'Grade. C’ trên vỏ. Mặt khác, chúng tôi chuyển sang điều kiện tiếp theo và nếu giá trị của điểm lớn hơn 39, chúng tôi sẽ in 'Grade. D’ trên vỏ. Mặt khác, khối khác cuối cùng được đánh giá và chúng tôi in 'Grade. D’ trên vỏ

thử thách 3. Kiểm tra đoạn trích dưới đây và đoán đầu ra

print(15 <= 25 and 25 <= 35)  # True
print(1 <= 0.5 and 0.5 <= 5)  # False
print(10 <= 10 and 10 <= 20)  # True
6

Câu trả lời. Bạn không thể so sánh hai giá trị Vô hạn Tích cực với nhau. Tương tự, bạn không thể so sánh hai giá trị Vô hạn âm với nhau. Do đó, đầu ra sẽ là Sai

Đọc thêm. Trăn Vô Cực

Sự kết luận

Tôi hy vọng bài viết này trả lời tất cả các câu hỏi của bạn. Hãy đăng ký và theo dõi các cuộc thảo luận thú vị hơn. Trong khi chờ đợi, bạn có thể muốn xem hướng dẫn toàn diện này về các toán tử so sánh trong Python. Toán tử so sánh Python [Blog + Video]

Mã hóa vui vẻ. 🙂

Cách kiểm tra xem một số có phải là số tự nhiên trong python không

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking