πŸ” Как Π½Π°ΠΉΡ‚ΠΈ количСство Ρ†ΠΈΡ„Ρ€ Π² строкС Π½Π° Python: Π»Π΅Π³ΠΊΠΈΠΉ способ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ количСство Ρ†ΠΈΡ„Ρ€ Π² строкС Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

        
            string = "Π’Π°ΡˆΠ° строка"
            count = sum(1 for char in string if char.isdigit())
            print(f"ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ Π² строкС: {count}")
        
    

Π’ этом ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ isdigit(), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли символ являСтся Ρ†ΠΈΡ„Ρ€ΠΎΠΉ. ΠœΡ‹ суммируСм всС значСния True ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ ΠΎΠ±Ρ‰Π΅Π΅ количСство Ρ†ΠΈΡ„Ρ€ Π² строкС.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°ΠΉΡ‚ΠΈ количСство Ρ†ΠΈΡ„Ρ€ Π² строкС ΠΏΠΈΡ‚ΠΎΠ½

Вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ количСство Ρ†ΠΈΡ„Ρ€ Π² строкС с использованиСм языка программирования Python, часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. На самом Π΄Π΅Π»Π΅, это довольно простая Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ нСсколькими способами Π² Python. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

1. ИспользованиС Ρ†ΠΈΠΊΠ»Π° для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° символов

Один ΠΈΠ· способов ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Ρ†ΠΈΡ„Ρ€ Π² строкС - это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх символов строки. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ символа провСряСм, являСтся Π»ΠΈ ΠΎΠ½ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° isdigit() ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ счСтчик, Ссли символ являСтся Ρ†ΠΈΡ„Ρ€ΠΎΠΉ.


def count_digits(string):
    count = 0
    for char in string:
        if char.isdigit():
            count += 1
    return count

string = "Python2021"
digit_count = count_digits(string)
print(f"ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ Π² строкС '{string}': {digit_count}")

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ count_digits(), которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строку Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠœΡ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ count Π½ΡƒΠ»Π΅ΠΌ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ всС символы строки. Если символ являСтся Ρ†ΠΈΡ„Ρ€ΠΎΠΉ, ΠΌΡ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ count. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ count ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ Π² строкС 'Python2021': 4

2. ИспользованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π”Ρ€ΡƒΠ³ΠΎΠΉ способ подсчСта количСства Ρ†ΠΈΡ„Ρ€ Π² строкС - это использованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ re Π² Python прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ findall(), которая позволяСт Π½Π°ΠΉΡ‚ΠΈ всС совпадСния с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ шаблоном Π² строкС. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для поиска всСх Ρ†ΠΈΡ„Ρ€ Π² строкС ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len().


import re

def count_digits_regex(string):
    digits = re.findall(r"\d", string)
    return len(digits)

string = "Python2021"
digit_count = count_digits_regex(string)
print(f"ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ Π² строкС '{string}': {digit_count}")

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ re, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ count_digits_regex(), которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строку Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ re.findall() ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ всС Ρ†ΠΈΡ„Ρ€Ρ‹ Π² строкС ΠΈ сохраняСм ΠΈΡ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ digits. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π΄Π»ΠΈΠ½Ρƒ списка digits с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ Π² строкС 'Python2021': 4

3. ИспользованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списка

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ подсчСта количСства Ρ†ΠΈΡ„Ρ€ Π² строкС - это использованиС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списка. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка с условиСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· строки, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ len() для подсчСта ΠΈΡ… количСства.


def count_digits_list_comprehension(string):
    digits = [char for char in string if char.isdigit()]
    return len(digits)

string = "Python2021"
digit_count = count_digits_list_comprehension(string)
print(f"ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ Π² строкС '{string}': {digit_count}")

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ count_digits_list_comprehension(), которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строку Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка для создания списка digits, содСрТащСго Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ· строки. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π΄Π»ΠΈΠ½Ρƒ списка digits с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len() ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚:

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ Π² строкС 'Python2021': 4

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов подсчСта количСства Ρ†ΠΈΡ„Ρ€ Π² строкС с использованиСм языка программирования Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой ΠΈΠ· этих способов Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ использованиС этих ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Python l Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€ ΠΈΠ· строки ( поиск чисСл Π² строкС)

9.4 ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€. "ПоколСниС Python": курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. ΠšΡƒΡ€Ρ Stepik

19 ΠžΠ±Ρ…ΠΎΠ΄ всСх Ρ†ΠΈΡ„Ρ€ числа с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ while Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Python? 🐍πŸ’₯ Π›ΡƒΡ‡ΡˆΠΈΠ΅ способы для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹! 🎯

Π“Π΄Π΅ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ Python с нуля? πŸπŸ“š Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ рСсурсы

πŸ”‘ Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ Π² GET-запросС Python?

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ количСство Ρ†ΠΈΡ„Ρ€ Π² строкС Π½Π° Python: Π»Π΅Π³ΠΊΠΈΠΉ способ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

πŸ”Ž Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт списка Π² Python

πŸ” Π—Π½Π°ΠΊ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

πŸ–ŠοΈ Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ крСстики-Π½ΠΎΠ»ΠΈΠΊΠΈ Π½Π° Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство