Как посчитать количество цифр в строке python
Перейти к содержимому

Как посчитать количество цифр в строке python

Как я могу посчитать количество чисел в строке

«2019 год был отличным годом для 10 счастливчиков в возрасте от 20 до 60 лет».

Результат должен быть 4 (2019, 10, 20, 60) Спасибо

4 ответа

Только для подсчета целых чисел вы можете использовать простое регулярное выражение:

Здесь ‘\d+’ означает «один или несколько десятичных символов в строке».

Обратите внимание, что re.findall производит list результатов. Если вас интересует только количество элементов ( n ), это бесполезно для входных строк, содержащих очень много чисел. Вместо этого используйте итераторный подход, например,

Включение поплавков

Допустим, вы разрешаете float , например, 1.2 , 3e-4 и т. Д. Соответствующее регулярное выражение теперь намного сложнее, и более простым решением было бы просто перебрать все «слова» в строке и проверить, можно ли их интерпретировать как число:

Я бы разбил строку на токены, используя s.split(‘ ‘) , итерировал по каждому из них и использовал регулярное выражение типа \d+ , чтобы проверить, что каждый символ является цифрой, и накапливать хорошие тестовые ответы в int.

re.findall — довольно простой способ разобраться с этим:

Это предполагает, что числа не являются числами с плавающей запятой или другими нецелыми числами.

Функция len() в Python, считает количество элементов.

Возвращает количество элементов в последовательности.

Синтаксис:
Параметры:
  • s — последовательность или коллекция.
Возвращаемое значение:
Описание:

Функция len() возвращает длину (количество элементов) в объекте.

Аргумент может быть последовательностью, такой как строка, байты, кортеж, список или диапазон или коллекцией (такой как словарь, множество или неизменяемое множество).

Когда объект является строкой, функция len() возвращает количество символов в строке.

Пользовательские типы данных могут определять метод __len__() , значение из которого, будет возвращено при вызове функции len() .

Примеры подсчета количества элементов в последовательности.

Использование функции len() для подчеркивания строки:
Использование функции len() (как один из вариантов) в итерации по индексам последовательности:

По индексам последовательности, конечно удобнее итерироваться при помощи функции enumerate() .

Подсчет количества цифр в числе (длина числа)

Для того, чтобы посчитать количество цифр в числе необходимо сначала перевести число float или int в любую последовательность, например в строку, а затем к последовательности применить функцию len() , что бы получить количество элементов.

Для получения строкового представления объектов float и int , применим к ним функцию str.

Пример получения длины целого числа:

Так как вещественные числа в Python имеют запятую, то количество цифр в числе float будет на 1 меньше, а именно len(str(float)) — 1 .

Пример получения длины вещественного числа:

Чтобы получить количество уникальных цифр в числе, необходимо строковое представление числа преобразовать в множество set , т.к. множество представляет собой последовательность неповторяющихся элементов.

Lesson 1
Вход, печать и номера

1. Как читать и писать на Python

Каждая программа в конечном итоге является процессором данных, поэтому мы должны знать, как вводить и выводить в нее данные. Для вывода данных из любой программы Python существует функция print() . Чтобы использовать его, передайте список аргументов, которые вы хотите распечатать, в функцию print() . Давайте посмотрим пример. Нажмите «run», а затем «next», чтобы увидеть, как программа выполняется по строкам:

Чтобы вводить данные в программу, мы используем input() . Эта функция читает одну строку текста в виде строки.

Вот программа, которая читает имя пользователя и приветствует их:

2. Сумма чисел и строк

Попробуем написать программу, которая вводит два числа и печатает их сумму. Мы читаем два числа и сохраняем их в переменных a и b используя оператор присваивания = . В левой части оператора присваивания укажем имя переменной. Имя может быть строкой латинских символов ( AZ , az , 0-9 , _ ), но должно начинаться с буквы в диапазоне AZ или az . В правой части оператора присваивания мы помещаем любое выражение, которое может оценить Python. Имя начинает указывать на результат оценки. Прочтите этот пример, запустите его и посмотрите на вывод:

После запуска примера мы видим, что он печатает 57 . Как мы учили в школе, 5 + 7 дает 12 . Итак, программа неверна, и важно понять, почему. Дело в том, что в третьей строке s = a + b Python «суммировал» две строки, а не два числа. Сумма двух строк в Python работает следующим образом: они просто склеены один за другим. Его иногда называют «конкатенацией строк».

Вы видите в инспекторе переменных с правой стороны, что значения, связанные с переменными a и b , заключены в кавычки? Это означает, что в значениях есть строка, а не числа. Строки и числа представлены в Python по-разному.

Все значения в Python называются «объектами». Каждый объект имеет определенный тип. Число 2 соответствует объекту «номер 2» типа «int» (т. Е. Целочисленному числу). Строка 'hello' соответствует объекту «string» hello '' типа «str». Каждое число с плавающей запятой представляется как объект типа «float». Тип объекта указывает, какие операции могут быть применены к нему. Например, если две переменные "first" и "second" указывают на объекты типа int , Python может их размножать. Однако, если они указывают на объекты типа str , Python не может этого сделать:

Чтобы преобразовать строку цифр в целое число, мы можем использовать функцию int() . Например, int('23') дает объект int со значением 23 .

Учитывая вышеизложенную информацию, мы можем исправить неверный вывод и правильно вывести сумму двух чисел:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *