Computer >> Máy Tính >  >> Lập trình >> Python

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

Có một phương thức được gọi là isdigit () trong lớp String trả về true nếu tất cả các ký tự trong chuỗi là chữ số và có ít nhất một ký tự, ngược lại là false. Ngay cả khi bạn nhập một float, nó sẽ trả về false. Bạn có thể gọi nó như sau:

>>> x = raw_input()
12345
>>> x.isdigit()
True

Bạn cũng có thể sử dụng regexes cho kết quả tương tự. Để chỉ khớp các chữ số, chúng ta có thể gọi re.match (regex, string) bằng cách sử dụng regex:"^ [0-9] + $". Ví dụ,

>>> x = raw_input()
123abc
>>> bool(re.match('^[0-9]+$', x))
False

re.match trả về một đối tượng, để kiểm tra xem nó có tồn tại hay không, chúng ta cần chuyển đổi nó thành boolean bằng cách sử dụng bool ().