Chương trình Python để đếm số chữ số trong một chuỗi

Viết chương trình Python để đếm số chữ số trong một số bằng vòng lặp While, hàm và đệ quy

Chương trình Python để đếm số chữ số trong một số bằng vòng lặp While

Chương trình python này cho phép người dùng nhập bất kỳ số nguyên dương nào. Sau đó, nó chia số đã cho thành các chữ số riêng lẻ và đếm các chữ số riêng lẻ đó bằng Vòng lặp While

# using While loop

Number = int(input("Please Enter any Number: "))
Count = 0
while(Number > 0):
    Number = Number // 10
    Count = Count + 1

print("\n Number of Digits in a Given Number = %d" %Count)
Python Program to Count Number of Digits in a Number using While Loop

Chương trình này cho phép người dùng nhập bất kỳ số nguyên dương nào. Sau đó, số đó được gán cho biến Số

Tiếp theo, Điều kiện trong Vòng lặp While đảm bảo rằng số đã cho lớn hơn 0 (Có nghĩa là Số nguyên dương và lớn hơn 0)

Trong Python Đếm chữ số trong một số, người dùng đã nhập giá trị. Số = 9875 và Đếm = 0

Lần lặp đầu tiên

Số = Số // 10 => 9875 //10
Số = 987

Số đếm = Số đếm + 1 => 0 + 1
Số đếm = 1

Lần lặp thứ hai. Từ lần lặp Python đầu tiên, các giá trị của cả Số và Đếm đã thay đổi thành Số = 987 và Đếm = 1

Số = 987 // 10
Số = 98

Số đếm = 1 + 1
Số đếm = 2

Lần lặp thứ ba. Từ lần lặp thứ hai của Chương trình Python để đếm số chữ số trong một số, Số = 98 và Đếm = 2

Số = 98 // 10
Số = 9

Số đếm = 2 + 1
Số đếm = 3

Lần lặp thứ tư. Đối với lần lặp thứ tư, Số = 9 và Đếm = 3

Số = 9 // 10
Số = 0

Số đếm = 3 + 1
Số đếm = 4

Ở đây Số = 0. Vì vậy, điều kiện có trong vòng lặp while không thành công

Câu lệnh in cuối cùng in số chữ số có trong số đã cho bằng cách sử dụng biến Count làm đầu ra. Vì vậy, đầu ra của biến đã cho 9875 là 4

Chương trình Python để đếm số chữ số trong một số bằng hàm

Chương trình Python này cho phép người dùng nhập bất kỳ số nguyên dương nào. Sau đó, nó chia số đã cho thành các chữ số riêng lẻ và đếm các chữ số riêng lẻ đó bằng Hàm

# using Functions

def Counting(Number):
    Count = 0
    while(Number > 0):
        Number = Number // 10
        Count = Count + 1
    print("\n Number of Digits in a Given Number = %d" %Count)

Counting(1234)

HOẶC

def Counting(Number):
    Count = 0
    while(Number > 0):
        Number = Number // 10
        Count = Count + 1
    return Count

Number = int(input("Please Enter any Number: "))
Count = Counting(Number)
print("\n Number of Digits in a Given Number = %d" %Count)
Please Enter any Number: 123456789

 Number of Digits in a Given Number = 9

Khi đến chương trình dòng Đếm (Số) thì lập tức trình biên dịch nhảy xuống hàm bên dưới

def Counting(Number):

Dòng cuối cùng kết thúc bằng câu lệnh đếm ngược

Sử dụng đệ quy

Chương trình Python này chia số đã cho thành các chữ số riêng lẻ và đếm các chữ số riêng lẻ đó bằng cách sử dụng Đệ quy

Count = 0
def Counting(Number):
    global Count
    if(Number > 0):
        Count = Count + 1
        Counting(Number//10)
    return Count

Number = int(input("Please Enter any Number: "))
Count = Counting(Number)
print("\n Number of Digits in a Given Number = %d" %Count)
Please Enter any Number: 12345

 Number of Digits in a Given Number = 5

Trong định nghĩa hàm Đếm (Số), câu lệnh dưới đây giúp gọi hàm Đệ quy với giá trị được cập nhật

Trong bài đăng này, tôi sẽ giải thích cách đếm số chữ số trong một chuỗi bằng Python. Tôi sẽ giải thích cách tôi trích xuất các chữ số ra Chuỗi. Điều này phổ biến trong Miền khoa học dữ liệu

Tôi có thể đếm số chữ số bằng một vòng lặp for đơn giản. Tôi lặp qua tất cả các ký tự trong một chuỗi và kiểm tra xem đó có phải là một chữ số không. Ở bài trước Ba chữ trong python mình đã giải thích hàm isdigit rồi. Tôi cũng sử dụng chức năng này trong vấn đề này. Tôi tăng bộ đếm khi ký tự là một chữ số. Một vòng lặp for rất đơn giản

text = "I am 1 string with 2 digits"
count = 0
for char in text:
    if char.isdigit():
        count += 1
print("the number of digits is: "  + str(count))

Python có khả năng hiểu danh sách. Với tôi có thể làm như vậy. Hàm sum yêu cầu một iterable làm tham số đầu vào

________số 8

Hàm tổng cũng có thể hoạt động trên một mảng Booleans. Giá trị True sẽ hoạt động như 1 và Sai sẽ hoạt động như 0. Xem xét ví dụ sau

result = sum([True,True,False])
print(result)   # This will print 2 

Điều này dẫn đến kết quả sau

# using Functions

def Counting(Number):
    Count = 0
    while(Number > 0):
        Number = Number // 10
        Count = Count + 1
    print("\n Number of Digits in a Given Number = %d" %Count)

Counting(1234)
0

Với biểu thức chính quy

Tôi cũng có thể sử dụng gói re. Ví dụ sau trước tiên xóa tất cả các ký tự không phải chữ số. Phần còn lại là một chuỗi chỉ có các ký tự. Điều này có nghĩa là tôi chỉ cần lấy độ dài của chuỗi để biết có bao nhiêu chữ số trong chuỗi

# using Functions

def Counting(Number):
    Count = 0
    while(Number > 0):
        Number = Number // 10
        Count = Count + 1
    print("\n Number of Digits in a Given Number = %d" %Count)

Counting(1234)
1

Gói lại có chức năng. Ở đây chúng ta có thể nhập một biểu thức chính quy để đếm tất cả các chữ số

# using Functions

def Counting(Number):
    Count = 0
    while(Number > 0):
        Number = Number // 10
        Count = Count + 1
    print("\n Number of Digits in a Given Number = %d" %Count)

Counting(1234)
2

Thưởng

Như lần cuối cùng, tôi cũng có thể sử dụng phương thức Chuỗi tích hợp. Chỉ cần đếm tất cả các chữ số trong chuỗi và cộng các số cùng với phương thức tổng

# using Functions

def Counting(Number):
    Count = 0
    while(Number > 0):
        Number = Number // 10
        Count = Count + 1
    print("\n Number of Digits in a Given Number = %d" %Count)

Counting(1234)
3

Có một số cách để đếm số chữ số trong một chuỗi bằng Python. Tôi đã cho thấy một số trong số họ ở đây. Tôi hy vọng những mẹo này có thể giúp bạn giải quyết các vấn đề tương tự khi viết mã