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

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

  • автор:

Подсчитать количество чисел в тексте

Всем привет, решал задачку в пайтоне и столкнулся с проблемной — незнаю как реализовать б-в пункты задания.
Вот собственно само задание:

С клавиатуры вводиться строка текста, написать програму которая для этой строки:
а) заменяет все маленькие буквы, входящие в текст на соответствующие большие;
б) подсчитывает количество цифр в тексте;
в) удаляет последнее число из текста

Пол интернета перерыл, и книжки которые были по пайтону, не подсказали как решать.
Вся надежда на ваш опыт и знания.
Пожалуйста помогите, очень нужно!

П.С вот кусочек программы. Пункт А.

1 2 3 4 5 6
a=input('Введите строку') print(a) b=a.split( ) n=len(b) print('Форматированый текст',a.upper()) h=[]

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Подсчитать в тексте количество слов в тексте
Подсчитать в тексте количество слов. (Словом считать набор символов между пробелами, знаками.

Подсчитать в заданном тексте количество удвоенных букв
Подсчитать в заданном тексте количество удвоенных букв.

Строка: Подсчитать количество чисел в тексте (не цифры, а именно чисел)
3) С клавиатуры вводится текстовая строка. Составить программу, которая подсчитывает количество.

Подсчитать количество чисел в тексте
С клавиатуры ввести текстовую строку. Разработать программу которая подсчитывает количество чисел в.

Подсчитать количество чисел в тексте
В общем надо создать програмку на Delphi 6. которая будет считать количество чисел в тексте. Если.

103 / 81 / 54
Регистрация: 25.11.2016
Сообщений: 278

ЦитатаСообщение от SkyFanGT Посмотреть сообщение

б) подсчитывает количество цифр в тексте;

num = [int(i) for i in a if i.isdigit()] print('Количество цифр в тексте:', len(num))

Регистрация: 21.11.2016
Сообщений: 20

Спасибо)Интересная для меня функция) Всё работает.
Осталось только как-то удалить последнее число из текста.

103 / 81 / 54
Регистрация: 25.11.2016
Сообщений: 278

1 2 3 4 5 6
new = a.split() for i in new: if i.isdigit(): new.remove(i[-1]) for i in new: print(i, end=' ')

Как то так.
Ну и целиком весь код

1 2 3 4 5 6 7 8 9 10 11
a = input('Введите строку: ') print(a) print('Форматированый текст: ',a.upper()) num = [int(i) for i in a if i.isdigit()] print('Количество цифр в тексте:', len(num)) new = a.split() for i in new: if i.isdigit(): new.remove(i[-1]) for i in new: print(i, end=' ')

Регистрация: 21.11.2016
Сообщений: 20
У мене почему то удаляет не последнее число а все цифры(
В чём косяк?
103 / 81 / 54
Регистрация: 25.11.2016
Сообщений: 278

ЦитатаСообщение от SkyFanGT Посмотреть сообщение

В чём косяк?
Во мне. потому что я поторопился и неправильно сделал.

1 2 3 4 5 6 7
new = a.split() out = [] for i in new: if i.isdigit(): out.append(new[:-1]) for x in out[:][0]: print(x, end=' ')

Вот рабочий код, но это «говнокод». Потому что я сам новичок и не знаю как сделать правильно.

Эксперт Python

5415 / 3839 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Если все объединить, то получим такой код:

1 2 3 4 5 6 7 8 9 10 11 12
line=list(input("Введите строку содержащую буквы и цифры:")) cnt=0 for i,s in enumerate(line): if s.lower(): line[i] = line[i].upper() # меняем регистр if s.isdigit(): x = i # здесь будет индекс последней цифры в строке cnt+=1 # считаем цифры del line[x] # удаляем последнюю цифру из списка print("Всего цифр:",cnt) print("".join(line)) # соединяем список в строку

PS: Понятно, что регулярными выражениями будет, наверно, короче, но я так понимаю, что надо было обойтись обычными методами.

4973 / 3209 / 1125
Регистрация: 21.03.2016
Сообщений: 7,939

Лучший ответ

Сообщение было отмечено SkyFanGT как решение

Решение

ЦитатаСообщение от Garry Galler Посмотреть сообщение

Если все объединить, то получим такой код

меня смущает эти два задания
б) подсчитывает количество цифр в тексте;
в) удаляет последнее число из текста
потому как если последние ЧИСЛО будет 253 то ваш код удалит последнюю цифру 3 но не число.
тут как то не понятно что посчитать а что удалить. если задания верны то увы ваш код не выполнит последнее условие

Добавлено через 7 минут
немного изменив получим требуемое

1 2 3 4 5 6 7 8 9 10 11 12
line=input("Введите строку содержащую буквы и цифры:\n").split() cnt=0 for i,s in enumerate(line): if s.lower(): line[i] = line[i].upper() # меняем регистр if s.isdigit(): x = i # здесь будет индекс последнего числа в строке cnt+= len(s) # считаем цифры del line[x] # удаляем последнюю цифру из списка print("Всего цифр:",cnt) print(' '.join(line)) # соединяем список в строку

Посчитать количество чисел в списке. Python

Для подсчета количества чисел в списке на языке Python можно воспользоваться функцией filter() и функцией len():

numbers = [‘one’, 2, ‘three’, 4, ‘five’]

count_numbers = len(list(filter(lambda x: isinstance(x, int), numbers)))

print(count_numbers) # 2

В данном примере мы создаем список чисел и используем функцию filter(), чтобы отфильтровать только элементы, которые являются целыми числами. Затем мы преобразуем результат filter() в список и применяем функцию len() для подсчета количества элементов в списке. В результате получаем число 2, что означает, что в исходном списке содержится два числа.

Переписать другими словами
Написать сочинение по запросу
Или попробуйте другие режимы нейросети.

Считать количество чисел в списке может быть довольно трудоемкой задачей, особенно когда дело касается больших массивов данных. Но теперь вы можете легко решить эту проблему с помощью нашей нейросети онлайн!

Наша нейросеть позволяет вам считывать количество чисел в списке без каких-либо сложностей. Просто загрузите ваш список на нашу платформу, и нейросеть пишет текст, указывая сколько цифр в этом списке. Это очень просто и удобно, и значительно экономит ваше время и убавляет затраты на ручной подсчет чисел. Попробуйте нашу нейросеть онлайн и вы не пожалеете о своем выборе.

Каким выражением на python можно посчитать количество цифр числа?

Для вычисления количества [десятичных] цифр целого числа можно воспользоваться целой частью десятичного логарифма (правда, результат будет занижен на единицу, но её достаточно будет прибавить):

(Последняя строка есть искомое python-выражение; ещё и print можно выбросить для краткости.)

Пожертвовав однострочностью, тоже самое можно сделать без вещественной арифметики и модуля math, воспользовавшись циклом (из-за технических дефектов этого сайта приходится в начале каждой строки добавлять лишние символы, символ подчёркивания в данном случае):

(В только-что приведённом фрагменте мы просто, делением на 10, выбрасываем цифру за цифрой пока ничего не останется.)

Для вещественных же чисел мы можем воспользоваться двумя циклами — первый будет идентичен уже приведённому и будет выполнять подсчёт цифр целой части числа, а второй будет, вместо деления, умножать число на 10, пока оно не станет целым, что позволит подсчитать количество цифр в дробной части числа (да, программка зависнет для периодических дробей):

(N.B., в этом фрагменте, подвыражение m%1 действует по формальным правилам нахождения остатка — оно находит неименьшее число, которое следует добавить к mk для некоторого множителя k; такой «остаток» может быть и дробным, что позволяет кратко получить дробную часть числа, e.g., 3.7%1=0.7.)

P.S.: На мой взгляд, эти примеры, несмотря на некоторую многословность, более приемлемы чем «хак» с преобразованием числа в строку [приведением типов].

Условие

Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. Подсчитайте количество нулей среди введенных чисел и выведите это количество. Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр.

Решение

num_zeroes = 0 for i in range(int(input())): if int(input()) == 0: num_zeroes += 1 print(num_zeroes)

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

ЕГЭ на соточку для чайников

Прошу прощения, что так долго пропадал. Питошка вернулся, да еще и с группой в вконтакте, подписывайтесь. Помимо этого, на питошке откроется новая рубрика, в которой будут четкие объяснения всех заданий ЕГЭ и ОГЭ по информатике, внимательно прочитав которые, я уверен, вы улучшите свои баллы на экзамене ��

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

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