Làm cách nào để kiểm tra xem đầu vào có phải là số nguyên trong python không?

Rất nhiều lần, trong khi thực hiện một số dự án hoặc có thể là lập trình đơn giản, chúng ta cần hạn chế xem một chuỗi Python đã cho có phải là số nguyên hay không. Vì vậy, trong bài viết chi tiết này, bạn sẽ biết về năm cách chính để kiểm tra xem một chuỗi python đã cho có phải là số nguyên hay không

Vì vậy, không lãng phí bất cứ lúc nào, hãy trực tiếp chuyển sang các cách để python kiểm tra xem chuỗi có phải là số nguyên không

nội dung

Một số cách ưu tú để Python Kiểm tra xem Chuỗi có phải là Số nguyên không

  • hàm số
  • xử lý ngoại lệ
  • hàm isdigit
  • Biểu hiện thông thường
  • Hàm
    #1
    s = '695444'
    print(s.isnumeric())
    
    #2
    s = '\u00BD'
    print(s.isnumeric())
    
    #3
    s='pythonpool65'
    print(s.isnumeric())
    
    #4
    s = '5651'
    if s.isnumeric():
       print('Integer')
    else:
       print('Not an integer')
    
    6 và 
    #1
    s = '695444'
    print(s.isnumeric())
    
    #2
    s = '\u00BD'
    print(s.isnumeric())
    
    #3
    s='pythonpool65'
    print(s.isnumeric())
    
    #4
    s = '5651'
    if s.isnumeric():
       print('Integer')
    else:
       print('Not an integer')
    
    7

1. Kiểm tra xem chuỗi đã cho hoặc chuỗi đầu vào có phải là số nguyên hay không bằng cách sử dụng hàm không số

Có thể dùng hàm isnumeric() của Python để kiểm tra xem một chuỗi có phải là số nguyên hay không. unnumeric() là một hàm dựng sẵn. Nó trả về True nếu tất cả các ký tự là số, nếu không thì False

Ghi chú. isnumeric không kiểm tra xem chuỗi có đại diện cho số nguyên hay không, nó kiểm tra xem tất cả các ký tự trong chuỗi có phải là ký tự số không.

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
8 là unicode cho ½, không phải là số nguyên. Nhưng 
#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
9 vẫn trả về giá trị True

Sử dụng phương pháp khác là bạn muốn tránh những trường hợp này

cú pháp

string.isnumeric()

Thông số

Phương thức 

True
True
False
Integer
0 không nhận bất kỳ tham số nào

ví dụ

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')

đầu ra

True
True
False
Integer

Giải trình

Ở đây trong ví dụ trên, chúng tôi đã sử dụng hàm isnumeric() để kiểm tra xem chuỗi có phải là số nguyên trong python theo bốn cách khác nhau không

  • Trong ví dụ đầu tiên, chúng ta đã khởi tạo và khai báo một chuỗi s với giá trị ‘69544’. Sau đó, với hàm isnumeric(), chúng ta kiểm tra xem ‘69544’ có phải là số nguyên hay không. Trong trường hợp này, nó là một số nguyên và nó trả về 'Đúng'. ’
  • Trong ví dụ thứ 2 để python kiểm tra, nếu chuỗi là số nguyên, chúng ta đã khởi tạo chuỗi s với giá trị ‘\u00BD’. '\u00BD' này là một giá trị Unicode và bạn có thể viết các ký tự chữ số và số bằng Unicode trong chương trình. Vì vậy, nó trả về true
  • Ví dụ thứ ba tương tự như ví dụ đầu tiên, nhưng thay vì khai báo giá trị của một số nguyên, chúng tôi đã kết hợp cả giá trị số nguyên và chuỗi. Trong trường hợp này, hàm innumeric() sẽ trả về giá trị Sai
  • Trong ví dụ thứ tư, chúng ta đã thực hiện thêm một số bước, sử dụng if-else với sự kết hợp của hàm isnumeric(). Ở đây chúng tôi đã khai báo và khởi tạo biến 's' của mình với giá trị là '5651'. Sau đó, với sự trợ giúp của các câu lệnh điều khiển luồng và hàm isnumeric(), chúng tôi đã kiểm tra xem chuỗi đã cho có phải là số nguyên hay không. Trong trường hợp này, nó là một số nguyên. Vì vậy, chúng ta sẽ nhận được kết quả là Integer. Trong các trường hợp khác, nếu giá trị không phải là số nguyên, thì chúng ta sẽ nhận được kết quả cho biết 'Không phải là số nguyên. ’

Ghi chú. Phương pháp kiểm tra xem chuỗi có phải là số nguyên trong Python này không hoạt động với số âm

2. Python Kiểm tra xem chuỗi có phải là số nguyên không bằng cách sử dụng xử lý ngoại lệ

Chúng ta có thể sử dụng python kiểm tra xem chuỗi có phải là số nguyên hay không bằng cách sử dụng cơ chế xử lý ngoại lệ. Nếu bạn không biết cách xử lý ngoại lệ trong python, hãy để tôi giải thích ngắn gọn cho bạn. Trong Python, các ngoại lệ có thể được xử lý bằng cách sử dụng câu lệnh thử. Hoạt động quan trọng có thể đưa ra một loại trừ được đặt trong mệnh đề thử. Mã quản lý các ngoại lệ được viết trong mệnh đề ngoại trừ. Do đó, chúng tôi có thể chọn những thao tác sẽ thực hiện khi chúng tôi đã loại trừ

Hãy xem qua một ví dụ về cách nó hoạt động

cú pháp

________số 8_______

Thông số

Cơ chế ____5_______1 (thử-trừ-cuối cùng) không nhận bất kỳ tham số nào

ví dụ

s = '951sd'
isInt = True
try:
   # converting to integer
   int(s)
except ValueError:
   isInt = False
if isInt:
   print('Input value is an integer')
else:
   print('Not an integer')

đầu ra

Not an integer

Giải trình

Trong ví dụ trên, chúng tôi đã khởi tạo một sting 's' với giá trị '951sd'. Ban đầu, chúng tôi tin rằng giá trị của chuỗi 's' là một số nguyên. Vì vậy, chúng tôi tuyên bố nó đúng. Sau đó, chúng tôi đã thử chuyển đổi chuỗi thành số nguyên bằng cách sử dụng hàm 

True
True
False
Integer
2
Nếu chuỗi 's' chứa các ký tự không phải là số, thì 'int' sẽ đưa ra ValueError, lỗi này sẽ cho biết rằng chuỗi không phải là số nguyên và ngược lại

Ngoài ra, cùng với cơ chế xử lý ngoại lệ, chúng tôi đã sử dụng các câu lệnh điều khiển luồng để in đầu ra tương ứng

Ghi chú. Phương pháp kiểm tra xem chuỗi có phải là số nguyên trong Python này cũng sẽ hoạt động trên Số âm

3. Python Kiểm tra xem chuỗi có phải là số nguyên không bằng cách sử dụng hàm isdigit

Chúng ta có thể sử dụng hàm isdigit() để kiểm tra chuỗi có phải là số nguyên hay không trong Python. Phương thức isdigit() trả về True nếu tất cả các ký tự trong chuỗi đều là chữ số. Nếu không, nó trả về Sai

Hãy xem qua một ví dụ về cách nó hoạt động

cú pháp

string.isdigit()

Thông số

Phương thức 

True
True
False
Integer
3 không nhận bất kỳ tham số nào

Giá trị trả về của hàm isdigit()

  • Trả về True – Nếu tất cả các ký tự trong chuỗi là chữ số
  • Trả về Sai – Nếu chuỗi chứa một hoặc nhiều ký tự không phải chữ số

ví dụ

str = input("Enter any value: ")

if str.isdigit():
    print("User input is an Integer ")
else:
    print("User input is string ")

đầu ra

Enter any value :698
User input is Integer

Giải trình

Ví dụ thứ ba để kiểm tra xem chuỗi đầu vào có phải là số nguyên hay không là sử dụng hàm isdigit(). Ở đây trong ví dụ trên, chúng tôi đã lấy đầu vào từ chuỗi và lưu trữ nó trong biến 'str. ’ Sau đó, với sự trợ giúp của các câu lệnh điều khiển và hàm isdigit(), chúng ta đã xác minh chuỗi đầu vào có phải là số nguyên hay không

Ghi chú
Hàm

True
True
False
Integer
4‘ sẽ chỉ hoạt động với các số nguyên dương. tôi. e. , nếu bạn chuyển bất kỳ số float nào, nó sẽ báo đó là một chuỗi.  
Nó không nhận bất kỳ đối số nào, do đó nó sẽ trả về lỗi nếu một tham số được truyền vào

4. Python Kiểm tra xem chuỗi có phải là số nguyên không bằng cách sử dụng biểu thức chính quy

Chúng ta có thể sử dụng mẫu tìm kiếm được gọi là biểu thức chính quy để kiểm tra xem một chuỗi có phải là số nguyên hay không trong Python. Nếu bạn không biết biểu thức chính quy là gì và nó hoạt động như thế nào trong python, hãy để tôi giải thích ngắn gọn cho bạn. Trong Python, một biểu thức chính quy là một chuỗi ký tự cụ thể giúp khớp hoặc tìm các chuỗi hoặc bộ chuỗi khác, với một cú pháp chuyên biệt được giữ theo một mẫu. Biểu thức chính quy được sử dụng rộng rãi trong thế giới UNIX

Ở đây chúng tôi đang sử dụng phương thức khớp của biểu thức chính quy i. e, lại. cuộc thi đấu()
Lại. match() chỉ tìm kiếm trong dòng đầu tiên của chuỗi và trả về đối tượng khớp nếu tìm thấy, nếu không thì không trả về. Nhưng nếu một chuỗi con khớp nằm ở một số dòng khác ngoài dòng đầu tiên của chuỗi (trong trường hợp chuỗi nhiều dòng), nó sẽ không trả về

Hãy xem qua một ví dụ về cách nó hoạt động

cú pháp

re.match(pattern, string, flags=0)

Thông số

  1. mẫu
    Nó chứa biểu thức chính quy sẽ được so khớp
  2. chuỗi
    Nó bao gồm chuỗi sẽ được tìm kiếm để khớp với mẫu ở đầu chuỗi
  3. cờ (tùy chọn)
    Bạn có thể chỉ định các cờ khác nhau bằng bitwise OR (. ). Đây là những sửa đổi

Giá trị trả về

  • Trả lại các đối tượng khớp nếu tìm thấy
  • Nếu không khớp, giá trị _______5_______5 sẽ được trả về, thay vì Đối tượng khớp

ví dụ

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
0

đầu ra

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
1

Giải trình

Cách thứ tư để kiểm tra xem chuỗi đầu vào có phải là số nguyên hay không trong Python là sử dụng cơ chế Biểu thức chính quy. Ở đây trong ví dụ này, trước tiên chúng tôi đã nhập biểu thức chính quy bằng cách sử dụng 'nhập lại'. Sau đó, chúng tôi đã lấy đầu vào từ người dùng và lưu trữ nó ở giá trị biến. Sau đó, chúng tôi đã sử dụng phương pháp của chúng tôi lại. match() để kiểm tra xem chuỗi đầu vào có phải là số nguyên hay không. Mẫu được so khớp ở đây là “[-+]?\d+$”. Mẫu này chỉ ra rằng nó sẽ chỉ khớp nếu chúng ta có chuỗi đầu vào là một số nguyên

Ghi chú
Hàm

True
True
False
Integer
6‘ cũng sẽ hoạt động với các số âm

5. Python Kiểm tra xem chuỗi có phải là số nguyên hay không bằng cách sử dụng hàm #1 s = '695444' print(s.isnumeric()) #2 s = '\u00BD' print(s.isnumeric()) #3 s='pythonpool65' print(s.isnumeric()) #4 s = '5651' if s.isnumeric(): print('Integer') else: print('Not an integer') 6 và #1 s = '695444' print(s.isnumeric()) #2 s = '\u00BD' print(s.isnumeric()) #3 s='pythonpool65' print(s.isnumeric()) #4 s = '5651' if s.isnumeric(): print('Integer') else: print('Not an integer') 7

Chúng ta có thể sử dụng kết hợp hàm any() và map() để kiểm tra xem một chuỗi có phải là số nguyên hay không trong Python. Nếu bạn không biết hàm any() và map() là gì và cách chúng hoạt động trong python, hãy để tôi giải thích ngắn gọn cho bạn.

  • Hàm any() có thể lặp lại (danh sách, chuỗi, từ điển, v.v. ) bằng Python. Hàm này trả về true nếu bất kỳ phần tử nào trong iterable là true, ngược lại nó trả về false.  
  • Hàm 
    #1
    s = '695444'
    print(s.isnumeric())
    
    #2
    s = '\u00BD'
    print(s.isnumeric())
    
    #3
    s='pythonpool65'
    print(s.isnumeric())
    
    #4
    s = '5651'
    if s.isnumeric():
       print('Integer')
    else:
       print('Not an integer')
    
    7 gọi hàm đã chỉ định cho từng mục của một lần lặp (chẳng hạn như chuỗi, danh sách, bộ hoặc từ điển) và trả về một danh sách kết quả

Hãy xem qua các ví dụ về cách chúng hoạt động

cú pháp

any() Cú pháp hàm

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
2

map() Cú pháp hàm

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
3

Thông số

any() Tham số chức năng

lặp đi lặp lại
Một đối tượng có thể lặp lại (danh sách, tuple, từ điển)

Các tham số của hàm map()

hàm số
Chức năng để thực hiện cho từng mục
lặp đi lặp lại
Một trình tự, bộ sưu tập hoặc một đối tượng lặp. Bạn có thể gửi bao nhiêu lần lặp tùy thích, chỉ cần đảm bảo hàm có một tham số cho mỗi lần lặp

Giá trị trả về

  • Bất kỳ. Hàm any() trả về True nếu bất kỳ mục nào trong một lần lặp là đúng, nếu không, nó trả về Sai
  • Bản đồ. Trả về danh sách kết quả sau khi áp dụng hàm đã cho

ví dụ

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
4

đầu ra

#1
s = '695444'
print(s.isnumeric())

#2
s = '\u00BD'
print(s.isnumeric())

#3
s='pythonpool65'
print(s.isnumeric())

#4
s = '5651'
if s.isnumeric():
   print('Integer')
else:
   print('Not an integer')
5

Giải trình

Cách thứ năm để kiểm tra xem chuỗi đầu vào có phải là số nguyên hay không trong Python là sử dụng kết hợp hàm any() và map() trong python. Ở đây trong ví dụ trên, chúng tôi đã lấy đầu vào là một chuỗi 'sdsd'. Và sau đó với sự trợ giúp của hàm any(), map() và isdigit(), chúng ta có python kiểm tra xem chuỗi có phải là số nguyên không

Chúng tôi nhận được Sai vì chuỗi đầu vào là 'sdsd'

Ghi chú
Phương pháp này cũng sẽ hoạt động với các số âm

Các ứng dụng của Python Kiểm tra xem chuỗi có phải là số nguyên không

  • Để kiểm tra xem một biến hoặc giá trị chuỗi đã cho chỉ chứa các số nguyên, chẳng hạn như xác thực nếu người dùng nhập đúng tùy chọn số trong ứng dụng dựa trên menu
  • Sử dụng giá trị ascii của các ký tự, đếm và in tất cả các chữ số bằng hàm isdigit()

Phải đọc

  • Giới thiệu về Python Super với các ví dụ
  • Chức năng trợ giúp Python
  • Tại sao Python sys. thoát tốt hơn các chức năng thoát khác?
  • Chuỗi bit Python. Các lớp và các ví dụ khác. mô-đun

Phần kết luận. Python Kiểm tra xem chuỗi có phải là số nguyên không

Vì vậy, nếu bạn hoàn thành đến cùng, tôi khá chắc chắn rằng bây giờ bạn có thể hiểu tất cả các cách có thể để Kiểm tra xem một Chuỗi có phải là Số nguyên trong Python hay không. Cách tốt nhất có thể để kiểm tra xem chuỗi có phải là số nguyên trong Python hay không tùy thuộc vào nhu cầu của bạn và loại dự án bạn đang thực hiện. Tôi nghĩ bạn cũng có thể muốn biết Các cách trong Python để sắp xếp danh sách các danh sách. Nếu có, có một hướng dẫn tuyệt vời có sẵn trong thư viện hướng dẫn của chúng tôi, hãy xem thử

Vẫn còn bất kỳ nghi ngờ hoặc câu hỏi nào, hãy cho tôi biết trong phần bình luận bên dưới. Tôi sẽ cố gắng giúp bạn trong thời gian sớm nhất