Hướng dẫn how do you check if a string only has numbers in python? - làm cách nào để kiểm tra xem một chuỗi chỉ có số trong python?

Làm thế nào để bạn kiểm tra xem một chuỗi chỉ chứa các số?

Tôi đã cho nó đi đây. Tôi muốn thấy cách đơn giản nhất để thực hiện điều này.

import string

def main():
    isbn = input("Enter your 10 digit ISBN number: ")
    if len(isbn) == 10 and string.digits == True:
        print ("Works")
    else:
        print("Error, 10 digit number was not inputted and/or letters were inputted.")
        main()

if __name__ == "__main__":
    main()
    input("Press enter to exit: ")

Hướng dẫn how do you check if a string only has numbers in python? - làm cách nào để kiểm tra xem một chuỗi chỉ có số trong python?

Trig

9.8446 Huy hiệu vàng56 Huy hiệu bạc106 Huy hiệu Đồng6 gold badges56 silver badges106 bronze badges

Đã hỏi ngày 27 tháng 1 năm 2014 lúc 18:19Jan 27, 2014 at 18:19

4

Bạn sẽ muốn sử dụng phương thức

>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False
>>>
0 trên đối tượng
>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False
>>>
1 của mình:

if len(isbn) == 10 and isbn.isdigit():

Từ tài liệu

>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False
>>>
0:

str.isdigit()

Trả về true nếu tất cả các ký tự trong chuỗi là các chữ số và có ít nhất một ký tự, sai nếu không. Các chữ số bao gồm các ký tự thập phân và các chữ số cần xử lý đặc biệt, chẳng hạn như các chữ số siêu tương thích. Điều này bao gồm các chữ số không thể được sử dụng để hình thành số trong cơ sở 10, như số Kharosthi. Chính thức, một chữ số là một ký tự có giá trị thuộc tính numeric_type = Digit hoặc numeric_type = thập phân.

Đã trả lời ngày 27 tháng 1 năm 2014 lúc 18:21Jan 27, 2014 at 18:21

Hướng dẫn how do you check if a string only has numbers in python? - làm cách nào để kiểm tra xem một chuỗi chỉ có số trong python?

MHLESTERMHLESTERmhlester

22.3k10 Huy hiệu vàng 50 Huy hiệu bạc74 Huy hiệu đồng10 gold badges50 silver badges74 bronze badges

2

Sử dụng

>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False
>>>
3:

>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False
>>>

Đã trả lời ngày 27 tháng 1 năm 2014 lúc 18:20Jan 27, 2014 at 18:20

2

Sử dụng Chuỗi Chuỗi isDigit Hàm:

>>> s = '12345'
>>> s.isdigit()
True
>>> s = '1abc'
>>> s.isdigit()
False

AMC

2.5847 Huy hiệu vàng12 Huy hiệu bạc34 Huy hiệu đồng7 gold badges12 silver badges34 bronze badges

Đã trả lời ngày 27 tháng 1 năm 2014 lúc 18:20Jan 27, 2014 at 18:20

Hướng dẫn how do you check if a string only has numbers in python? - làm cách nào để kiểm tra xem một chuỗi chỉ có số trong python?

Sử dụng Chuỗi Chuỗi isDigit Hàm:ndpu

AMC4 gold badges52 silver badges68 bronze badges

2.5847 Huy hiệu vàng12 Huy hiệu bạc34 Huy hiệu đồng

import re

ndpundpu

re.match('^[0-9]*$',word)

21.6K4 Huy hiệu vàng52 Huy hiệu bạc68 Huy hiệu Đồng

re.match('^[0-9\.]*$',word)

Bạn cũng có thể sử dụng Regex,

re.match('^[0-9\.\ ]*$',word)

ví dụ: -1) word = "3487954"

ví dụ: -2) word = "3487.954"Sep 4, 2018 at 7:01

Hướng dẫn how do you check if a string only has numbers in python? - làm cách nào để kiểm tra xem một chuỗi chỉ có số trong python?

ví dụ: -3) Word = "3487.954 328"Devendra Bhat

Như bạn có thể thấy tất cả 3 EG có nghĩa là chỉ không có trong chuỗi của bạn. Vì vậy, bạn có thể làm theo các giải pháp tương ứng được đưa ra với họ.2 gold badges14 silver badges19 bronze badges

1

Đã trả lời ngày 4 tháng 9 năm 2018 lúc 7:01

>>> "\u2070".isdigit() # unicode escaped 'superscript zero' 
True

Devendra Bhatdevendra Bhat

1.1192 huy hiệu vàng14 Huy hiệu bạc19 Huy hiệu đồng

Như đã chỉ ra trong nhận xét này làm thế nào để bạn kiểm tra Python cho dù một chuỗi chỉ chứa các số? Phương pháp

>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False
>>>
4 không hoàn toàn chính xác cho trường hợp sử dụng này, bởi vì nó trả về đúng với một số ký tự giống như chữ số:

if len(isbn) == 10 and isbn.isdigit():
0

Nếu điều này cần tránh, kiểm tra chức năng đơn giản sau đây, nếu tất cả các ký tự trong chuỗi là một chữ số giữa "0" và "9":Jul 25, 2019 at 19:16

import string

def contains_only_digits(s):
    # True for "", "0", "123"
    # False for "1.2", "1,2", "-1", "a", "a1"
    for ch in s:
        if not ch in string.digits:
            return False
    return True
mit

Được sử dụng trong ví dụ từ câu hỏi:10 gold badges47 silver badges74 bronze badges

1

Đã trả lời ngày 25 tháng 7 năm 2019 lúc 19:16float numbers, negatives numbers, etc.. All the examples before will be wrong.

chỉ trích

if len(isbn) == 10 and isbn.isdigit():
1

10,8k10 Huy hiệu vàng47 Huy hiệu bạc74 Huy hiệu đồng

if len(isbn) == 10 and isbn.isdigit():
2

Thế còn số lượng nổi, số tiêu cực, vv .. Tất cả các ví dụ trước đây sẽ sai.

Cho đến bây giờ tôi có một cái gì đó như thế này, nhưng tôi nghĩ nó có thể tốt hơn rất nhiều:Jan 25, 2018 at 10:44

Joe9008Joe9008Joe9008

sẽ trả về chỉ đúng nếu có một hoặc không '.' Trong chuỗi các chữ số.7 silver badges12 bronze badges

1

sẽ trả về sai

Đã trả lời ngày 25 tháng 1 năm 2018 lúc 10:44

6257 Huy hiệu bạc12 Huy hiệu Đồng

Vì mỗi lần tôi gặp phải một vấn đề với kiểm tra là vì đôi khi không thể không có và nếu STR không thể không có, chỉ sử dụng str.isdigit () là không đủ vì bạn sẽ gặp lỗi

Thuộc tínhError: đối tượng 'Nonetype' không có thuộc tính 'isDigit'

Và sau đó bạn cần xác thực trước tiên là không có hay không. Để tránh một nhánh nhiều IF, một cách rõ ràng để làm điều này là:Mar 20, 2017 at 16:04

if len(isbn) == 10 and isbn.isdigit():
3zhihong

Hy vọng điều này sẽ giúp cho mọi người có cùng một vấn đề như tôi.2 gold badges23 silver badges32 bronze badges

1

Đã trả lời ngày 20 tháng 3 năm 2017 lúc 16:04

if len(isbn) == 10 and isbn.isdigit():
4

ZhihongzhihongMay 10, 2015 at 8:52

cold_codercold_codercold_coder

1.6882 Huy hiệu vàng23 Huy hiệu bạc32 Huy hiệu Đồng4 gold badges8 silver badges23 bronze badges

3

Bạn có thể sử dụng thử Catch Block tại đây:

Đã trả lời ngày 10 tháng 5 năm 2015 lúc 8:52

if len(isbn) == 10 and isbn.isdigit():
5

5344 Huy hiệu vàng8 Huy hiệu bạc23 Huy hiệu đồng

if len(isbn) == 10 and isbn.isdigit():
6

Có 2 phương pháp mà tôi có thể nghĩ đến để kiểm tra xem một chuỗi có tất cả các chữ số không

if len(isbn) == 10 and isbn.isdigit():
7

Phương pháp 1 (sử dụng hàm isDigit () tích hợp trong Python):-Sep 10, 2019 at 9:13

Phương pháp 2 (thực hiện xử lý ngoại lệ trên đầu chuỗi):-Rahul

Đầu ra của mã trên sẽ là:5 silver badges11 bronze badges

1

Đã trả lời ngày 10 tháng 9 năm 2019 lúc 9:13

RahulrahulFeb 29, 2020 at 13:27

3055 huy hiệu bạc11 huy hiệu đồngFaith

Bạn có thể sử dụng phương thức str.isDigit () hoặc phương thức str.isnumeric ()6 bronze badges

1

Solution:

if len(isbn) == 10 and isbn.isdigit():
8

Đã trả lời ngày 29 tháng 2 năm 2020 lúc 13:27Jul 24 at 11:50

1

Faithfaith

if len(isbn) == 10 and isbn.isdigit():
9

Phù hiệu bằng đồng 276Jul 16 at 8:51

Hướng dẫn how do you check if a string only has numbers in python? - làm cách nào để kiểm tra xem một chuỗi chỉ có số trong python?

2

Làm cách nào để kiểm tra xem một chuỗi chỉ chứa các số trong Python?

Phương thức isNumeric () trả về đúng nếu tất cả các ký tự là số (0-9), nếu không thì sai.Số mũ, như ² và ¾ cũng được coi là giá trị số.. Exponents, like ² and ¾ are also considered to be numeric values.

Làm thế nào để bạn kiểm tra xem một chuỗi có chứa số không?

Để tìm một chuỗi đã cho có chứa một số, hãy chuyển đổi nó thành một mảng ký tự và tìm xem mỗi ký tự trong mảng có phải là một chữ số bằng phương thức isDigit () của lớp ký tự hay không.convert it to a character array and find whether each character in the array is a digit using the isDigit() method of the Character class.

Làm thế nào để bạn kiểm tra xem đầu vào chỉ chứa số?

Sử dụng phương thức Test () để kiểm tra xem một chuỗi chỉ chứa các chữ số, ví dụ:/^[0-9]+$/.Kiểm tra (str).Phương thức kiểm tra sẽ trả về true nếu chuỗi chỉ chứa các chữ số và sai nếu không., e.g. /^[0-9]+$/. test(str) . The test method will return true if the string contains only digits and false otherwise.

Làm thế nào để bạn kiểm tra xem một chuỗi chỉ chứa bảng chữ cái và số trong Python?

Khoa học dữ liệu thực tế bằng cách sử dụng Python để xác minh rằng chuỗi chỉ chứa các chữ cái, số, dấu gạch dưới và dấu gạch ngang, chúng ta có thể sử dụng regex sau: "^[a-za-z0-9 _-]*$"."^[A-Za-z0-9_-]*$".