- con trăn
Qua
kranal-
Ngày 5 tháng 11 năm 20220
11867
Có cách nào để kiểm tra xem một chuỗi có đại diện cho một số nguyên không? . Bạn có thể dùng nhiều cách để kiểm tra chuỗi có phải là số nguyên hay không
Cách kiểm tra xem một chuỗi có phải là số nguyên trong Python không
Để kiểm tra xem một chuỗi có phải là số nguyên trong Python hay không, hãy sử dụng phương thức isdigit[]. Chuỗi isdigit[] là một phương thức Python tích hợp để kiểm tra xem chuỗi đã cho chỉ bao gồm các chữ số
Phương thức isdigit[] kiểm tra xem các ký tự có trong chuỗi có phải là chữ số không.
def checkInt[str]: if str[0] in ['-', '+']: return str[1:].isdigit[] return str.isdigit[] print[checkInt["+21"]]
đầu ra
True
Hãy hiểu mã này từng bước. Đầu tiên, chúng tôi đã xác định một chức năng tùy chỉnh chấp nhận một chuỗi mà chúng tôi muốn kiểm tra. Sử dụng điều kiện if, chúng ta kiểm tra ký tự đầu tiên của chuỗi thành – hoặc +.
Nếu chuỗi bắt đầu bằng một trong các dấu đó, nó sẽ bỏ qua dấu đó và sau đó kiểm tra số nguyên bằng hàm isdigit[] và dựa trên kết quả, nó sẽ trả về Đúng hoặc Sai
Nếu chuỗi không bắt đầu bằng dấu + hoặc –, nó sẽ trực tiếp kiểm tra và trả về kết quả
Nếu bạn chuyển một chuỗi biểu diễn giá trị float hoặc double, nó sẽ trả về Sai
Sử dụng khối thử ngoại trừ với chức năng tùy chỉnh
Bạn cũng có thể tạo một hàm tùy chỉnh với khối try-ngoại trừ và hàm int[]. int[] là một phương thức tích hợp trả về một đối tượng số nguyên từ bất kỳ số hoặc chuỗi nào. Đầu tiên, hãy định nghĩa một hàm kiểm tra xem chuỗi có phải là số nguyên không
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]
đầu ra
True
Ở đây, bạn có thể thấy rằng “21” có thể dễ dàng chuyển đổi thành số nguyên. Đó là lý do tại sao nó trả về True. Mặt khác, nếu bạn chuyển số float dưới dạng một chuỗi, nó sẽ trả về Sai.
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21.0"]]
đầu ra
False
Như bạn có thể thấy, nếu chúng ta chuyển giá trị float, nó sẽ trả về Sai
Sử dụng biểu thức chính quy
Nếu bạn phải chấp nhận phân số thập phân trong chuỗi, bạn có thể viết biểu thức chính quy để kiểm tra giá trị số trong chuỗi. Để làm việc với các biểu thức chính quy trong Python, hãy nhập mô-đun re vào tệp của bạn.
import re def check_int[str]: return re.match[r"[-+]?\d+[\.0*]?$", str] is not None print[check_int["+21.0"]]
đầu ra
True
Bạn có thể thấy rằng nó trả về True mặc dù chuyển biểu diễn thập phân của một chuỗi
Đó là nó cho hướng dẫn này
Bài viết trước Hàm isdigit[] trong Python String
Bài viết tiếp theo Mô tả công việc, vai trò và mức lương của Kỹ sư đám mây trong năm 2023
kranal
https. //appdividend. com/
Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end
Sử dụng câu lệnh
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]5 để kiểm tra xem đầu vào của người dùng có phải là số nguyên không. Nếu giá trị đầu vào là một số nguyên, khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]6 sẽ hoàn thành việc chạy, nếu không, một
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]7 sẽ được nâng lên và khối này có thể được xử lý trong khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]8
Ví dụ đầu tiên sử dụng câu lệnh
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]5 để kiểm tra xem giá trị đầu vào có phải là số nguyên hợp lệ không
Nếu chúng ta chuyển một giá trị không phải là số nguyên hợp lệ cho lớp
True0, thì
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]7 sẽ xuất hiện
________số 8
Nếu người dùng đã nhập một số nguyên, khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]6 sẽ hoàn thành và khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]8 sẽ không chạy
Nếu giá trị được cung cấp không phải là số nguyên hợp lệ, khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]8 sẽ chạy
Ngoài ra, bạn có thể sử dụng phương pháp
integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
3Kiểm tra xem đầu vào của người dùng có phải là Số nguyên hay không bằng cách sử dụng str. isdigit[] #
Sử dụng phương pháp
integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
3 để kiểm tra xem đầu vào của người dùng có phải là số nguyên không. Phương thức integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
5 sẽ trả về integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
6 cho tất cả các giá trị nguyên dương và integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
7 cho tất cả các số không phải số, số dấu phẩy động hoặc số âminteger = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
các str. phương thức isdigit trả về
integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
6 nếu tất cả các ký tự trong chuỗi là chữ số và có ít nhất 1 ký tự, nếu không thì trả về integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
7Lưu ý rằng phương thức
integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
3 trả về integer = input['Enter an integer: ']
if integer.isdigit[]:
print['Provided value is an integer']
integer = int[integer]
print[integer]
else:
print['Provided value is not an integer']
7 cho số nguyên âm và số dấu phẩy độngĐiều này là do số nguyên âm chứa dấu trừ và số dấu phẩy động chứa dấu chấm
Bạn chỉ nên sử dụng phương pháp này để kiểm tra xem đầu vào của người dùng có phải là số nguyên dương hay không
Bạn có thể sử dụng vòng lặp
True92 nếu bạn cần tiếp tục nhắc người dùng cho đến khi họ nhập một số nguyên hợp lệ
Tiếp tục yêu cầu người dùng nhập cho đến khi một Số nguyên được nhập #
Ví dụ sau sử dụng vòng lặp
True93 để tiếp tục lặp cho đến khi người dùng nhập một số nguyên hợp lệ
True9
Nếu mã trong khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]6 tạo ra một
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]7, thì khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]8 sẽ chạy, nơi chúng tôi sử dụng câu lệnh
True97 để tiếp tục bước lặp tiếp theo
Nếu người dùng nhập một số nguyên hợp lệ, khối
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]6 sẽ hoàn thành thành công và sau đó khối
True99 sẽ chạy khi chúng tôi sử dụng câu lệnh
def checkInt[str]: try: int[str] return True except ValueError: return False print[checkInt["+21"]]50 để thoát khỏi vòng lặp
True92