Как на python можно посчитать количество цифр, содержащихся в строке?
для вычисления количества цифр в строке s придётся использовать анонимную функцию возвращающую 1 для цифры и 0 для буквы:
lambda x:1 if x.isdigit() else 0
Применив эту функцию к строке (с помощью функции map) получим из строки набор нулей и единиц, которые суммируем функцией sum
sum(map(lambda x:1 if x.isdigit() else 0,s))
Учитывая что при использовании логических значений в арифметических операциях истина имеет значение 1, а ложь имеет значение 0 полученное выражение примет вид:
sum(map(lambda x:x.isdigit(),s))
Подсчитать количество чисел в тексте
Всем привет, решал задачку в пайтоне и столкнулся с проблемной — незнаю как реализовать б-в пункты задания.
Вот собственно само задание:
С клавиатуры вводиться строка текста, написать програму которая для этой строки:
а) заменяет все маленькие буквы, входящие в текст на соответствующие большие;
б) подсчитывает количество цифр в тексте;
в) удаляет последнее число из текста
Пол интернета перерыл, и книжки которые были по пайтону, не подсказали как решать.
Вся надежда на ваш опыт и знания.
Пожалуйста помогите, очень нужно!
П.С вот кусочек программы. Пункт А.
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=' ')
Вот рабочий код, но это «говнокод». Потому что я сам новичок и не знаю как сделать правильно.
![]()
5416 / 3840 / 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: Понятно, что регулярными выражениями будет, наверно, короче, но я так понимаю, что надо было обойтись обычными методами.
4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949

Сообщение было отмечено 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)) # соединяем список в строку
Как посчитать количество цифр в числе?
Для каждого пункта напишите функцию, возвращающую ответ.
0) Дано число, посчитайте количество цифр в числе. Например, 123456 -> 6
Подсказка: обратите внимание на то, что деление целочисленного значения
на целочисленное значение является целочисленным, т.е. в результате
отбрасывается дробная часть. Это должно помочь вам.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Посчитать количество определенных цифр в числе
Есть число, ну например 152535. Надо посчитать сколько в нём 5. Циклы, count, другие функции и.
Как посчитать количество цифр в числе
i1:= 3284; i2:=214; i3:= 23473; i4:= 1; Как посчитать количество цифр в числе в i1 — 4 i2 -.

Как посчитать количество цифр в числе ?
Как посчитать количество цифр в числе ?
Как посчитать количество повторений каждой из цифр в числе N*N?
я очень плохо ориентируюсь на С++.Такой вопрос:можно числа переводить в строки?И если нет,то как.
Регистрация: 02.06.2013
Сообщений: 47
Клево, а проблема-то в чем? =)
Регистрация: 05.08.2013
Сообщений: 20
1 2 3
n = input() #введённое число - строка print(len(n))
Регистрация: 17.11.2009
Сообщений: 36
1 2 3 4
#python2.7 >>> a=12345 >>> len(str(a)) 5
Регистрация: 23.11.2013
Сообщений: 2
1 2 3 4 5 6 7
n = input('Введите число: ') summa = 0 while n>0: i = n%10 n = n/10 summa = summa + i print 'Сумма чисел равна =', summa
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
Сообщение от Reg__a 
вот так вот)
в принципе, верно, но не та концовка
Регистрация: 21.04.2019
Сообщений: 1
n = "00000" len(str(n))
4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949
Сообщение от accept 
Сообщение от Reg__a
вот так вот)
в принципе, верно, но не та концовка
в принципе строки не делятся на числа но ход мыслей правильный
1 2 3 4 5 6
n = int(input()) s= 0 while n : s += 1 n //= 10 print (s)
![]()
1354 / 651 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
1 2 3 4 5 6 7 8 9 10 11 12 13
def coonter(n): n = abs(n) count = 1 n //= 10 while n > 0: n //= 10 count += 1 print(count) if __name__ == '__main__': n = int(input()) coonter(n)
Регистрация: 13.04.2021
Сообщений: 1
1 2 3 4 5 6 7 8 9 10 11
n = int(input()) sum = 0 while n > 0: i = n % 10 n //= 10 sum += i print(sum)
![]()
1354 / 651 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
1 2 3 4 5 6 7 8 9 10 11
n = int(input()) sum = 0 while n > 0: i = n % 10 n //= 10 sum += 1 #количество это +1 print(sum)
Регистрация: 05.10.2021
Сообщений: 35
Добавлено через 4 минуты
Сообщение от Semen-Semenich 
в принципе строки не делятся на числа но ход мыслей правильный
1 2 3 4 5 6
n = int(input()) s= 0 while n : s += 1 n //= 10 print (s)
Здравствуйте, Семён. Мне понравилось то, как вы сделали. Можете пожалуйста объяснить как новичку что и зачем вы здесь делали?) Буду очень благодарен за ответ!
Регистрация: 01.09.2022
Сообщений: 6
А если n == 0 то количество цифр должно быть равно 1
635 / 475 / 179
Регистрация: 28.05.2012
Сообщений: 1,412
Сообщение от senkky 
А если n == 0
n = abs(int(input())) print(len(str(n)))
4751 / 2643 / 547
Регистрация: 07.11.2019
Сообщений: 4,359
Потестируйте ваши решения на таких числах: 7+3j, 5e-7, 100_000, 3.62
Я бы использовал что-то такое:
print(sum(1 for i in input() if i.isdecimal()))
или isdigit, isnumeric.
Регистрация: 11.06.2022
Сообщений: 38
1 2 3 4 5 6 7
import re try: digit = input("Введите число: ") numbers = re.findall("\d", digit) print(f"Цифр в числе: ", end='') except Exception: pass
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как посчитать количество цифр в числе после запятой
есть число 3.45678 как посчитать числа после запятой т.е. 5
Как посчитать количество цифр в числе типа Real
Допустим у меня есть два числа типа Real r1:= 32.3456 r2:= 1.63 Как в них посчитать и целую.

Посчитать количество цифр в числе
как посчитать количество цифр в числе?

Посчитать количество цифр в числе
Помогите не могу никак разобратся! нужно сщздать прогу. Пользователь вводит с клавиатуры число.
Посчитать количество цифр в числе ?
есть число, его задает пользователь в консоли допустим 1238487805 в данном числе максимальная.
Рекурсия: посчитать количество цифр в числе
помогите решить задачу с помощью рекурсии, надо посчитать количество элементов в числе.Я сделал.
Посчитать количество цифр в десятичном числе
Написать программу, подсчитывающую количество различных цифр в десятичной записи натурального числа.
Посчитать количество чисел в списке. 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, что означает, что в исходном списке содержится два числа.
Переписать другими словами
Написать сочинение по запросу
Или попробуйте другие режимы нейросети.
Считать количество чисел в списке может быть довольно трудоемкой задачей, особенно когда дело касается больших массивов данных. Но теперь вы можете легко решить эту проблему с помощью нашей нейросети онлайн!
Наша нейросеть позволяет вам считывать количество чисел в списке без каких-либо сложностей. Просто загрузите ваш список на нашу платформу, и нейросеть пишет текст, указывая сколько цифр в этом списке. Это очень просто и удобно, и значительно экономит ваше время и убавляет затраты на ручной подсчет чисел. Попробуйте нашу нейросеть онлайн и вы не пожалеете о своем выборе.
