Как посчитать, сколько пробелов между каждым словом в строке в Python?
Я делаю эту проблему на Hackerrank, и мне пришла в голову идея, которая включает в себя разделение ввода и последующее присоединение к нему (см. Мою реализацию ниже). Тем не менее, один из тестовых случаев содержит ввод (hello мир), который разбил мой код, потому что входная строка имеет более 1 пробела между каждым словом. Поэтому мне просто интересно, может ли кто-нибудь помочь мне исправить мой код, и мне просто интересно, как посчитать, сколько пробелов (особенно нескольких пробелов) в строке в Python. Я нашел, как считать пробелы в Java, но не в Python. Для теста я приложил рис.
Как посчитать цифры, буквы, пробелы для строки в Python?
Я пытаюсь создать функцию для определения количества цифр, букв, пробелов и других символов в строке.
Вот что у меня есть на данный момент:
Что не так с моим кодом и как я могу улучшить его до более простого и точного решения?
12 ответов
Вот еще вариант:
Если вам нужно простое решение, используйте понимание списка, а затем получите len этого списка:
Это можно применить к isalpha() аналогичным образом.
Следующий код заменяет любой нун-числовой символ на », позволяя вам подсчитать количество таких символов с помощью функции len.
Вы не должны устанавливать x = [] . Это установка пустого списка для введенного вами параметра. Кроме того, используйте синтаксис for i in x Python следующим образом:
«, строка 1, в count(aasdfs1111xxx) NameError: name ‘ aasdfs1111xxx’ не определен
1
26
sadw96aeafae4awdw2 wd100awd
4
1
19
Четыре цифры: 96, 4, 2, 100. Количество пробелов = 1. Количество букв = 19.
Чтобы подсчитать количество букв в строке:
Блок числовых строк будет в обратном порядке:
В этом коде 2 ошибки:
1) Вы должны удалить эту строку, так как она перезапишет x в пустой список:
2) В первом операторе «если» вы должны сделать отступ для оператора «буква += 1», например:
Игнорируя все остальное, что может быть или не быть правильным с вашим «пересмотренным кодом», проблема, вызывающая ошибку, которая в настоящее время цитируется в вашем вопросе, вызвана вызовом функции «count» с неопределенной переменной, потому что вы не указали строку.
- count(thisisastring222) ищет переменную с именем thisisastring222 для передачи в функцию с именем count. Чтобы это работало, вам нужно было определить переменную ранее (например, с помощью thisisastring222 = «AStringWith1NumberInIt.» ), тогда ваша функция будет делать то, что вы хотите, с содержимым значения, хранящегося в переменной, а не с именем переменной.
- count(«thisisastring222») жестко кодирует строку «thisisastring222» в вызове, что означает, что функция count будет работать с переданной ей строкой.
Чтобы исправить вызов вашей функции, просто добавьте кавычки вокруг asdfkasdflasdfl222 , заменив count(asdfkasdflasdfl222) на count(«asdfkasdflasdfl222») .
Что касается фактического вопроса «Как считать цифры, буквы, пробелы для строки в Python», на первый взгляд остальная часть «пересмотренного кода» выглядит нормально, за исключением того, что строка возврата не возвращает те же переменные, которые вы использовали в остальной части кода. Чтобы исправить это, ничего не меняя в коде, замените number и word на digit и letters , превратив return number,word,space,other в return digit,letters,space,other , или еще лучше return (digit, letters, space, other) , чтобы соответствовать текущему поведению, а также использовать лучший стиль кодирования и явно указывать тип возвращаемого значения (в данном случае кортеж).
Это ошибка в вашем призвании. Вы вызываете код с аргументом (asdfkasdflasdfl222) , который интерпретируется как переменная. Однако вы должны вызывать его со строкой «asdfkasdflasdfl222» .
4 Надежных способа Подсчета Слов в строке в Python
В python для подсчета слов в строке мы можем использовать функцию split (), а также функцию count и цикл for.
- Автор записи
Строки являются основными типами данных в любом языке программирования, включая python. Нам нужно выполнить множество различных операций, также известных как предварительная обработка строк, таких как удаление ненужных пробелов, подсчет слов в строке, создание строки в одних и тех же случаях (прописных или строчных). В этой статье мы узнаем, как считать слова в строке в python.
Мы научимся считать количество слов в строке. Например – у нас есть сильное-” Здравствуйте, это строка.” В нем есть пять слов. Кроме того, мы научимся считать частоту конкретного слова в строке.
Различные способы подсчета слов в строке в Python
- Подсчет слов С помощью цикла For-
- Использование функции split() для подсчета слов в строке
- Подсчет частоты слов в строке с помощью словаря
- Подсчет частоты слов в строке С помощью функции Count()
1. Подсчитайте Слова, Используя цикл For-
Использование цикла for-это наивный подход для решения этой проблемы. Мы подсчитываем количество пробелов между двумя символами.
Статья Считаем количество знаков в тексте
В сети много онлайн-сервисов для подсчёта слов с пробелами и без. Это может быть полезно при написании статей фрилансерами, когда есть задание на определённое количество знаков.
Но сегодня мы напишем небольшую программку, с бОльшим функционалом. Она также подсчитает количество слов, а самое главное, выведет сколько встречается каждый символ. Это очень полезно для расшифровки закодированных текстов — частотный анализ символов.
Для начала импортируем модуль pyperclip и вставим поясняющий текст.
Потом вставим скопированный текст
Подсчитаем количество символов с пробелами, без пробелов, и количество слов.