Переменная s будет хранить в себе текст, который введёт пользователь
strnum - будем в неё сохранять цифры, которые будут нам попадаться в тексте и идти подряд
count - счётчик, в котором мы будем сохранять кол-во наших чисел
s=input() - пользователь вводит текст
for sym in s: - проверяем абсолютно каждый символ в тексте по очереди
if sym.isdigit(): - если наша буква является цифрой (метод isdigit именно это и проверяет), то мы прибавляем этот символ к нашей строке strnum
elif strnum - эта строка развнозначна строке elif strnum!='' , т.е., если наша строка не пустая и нам попалась не цифра, то:
num-int(strnum) - переменная num будет получать найденные числа, причём мы преобразовываем их в формат целых чисел (по умолчанию в тексте все цифры считаются просто символами)
проверяем, получившееся число будет двузначным или нет. Если да, увеличиваем счётчик count.
И не забываем очищать нашу строку, ведь мы нашли число и отработали с ним, теперь пора искать следующее.
В нашей программе есть одна проблема: если последний символ будет цифрой, то мы не будем учитывать его, что не есть хорошо, поэтому в самом конце мы выполняем доп проверку:
if s[-1].isdigit(): - если последняя цифра (индекс -1 проверяет именно последний символ), то проверяем то, что осталось в самом конце в нашей переменной strnum
Answers & Comments
s=''
strnum=''
count=0
s=input()
for sym in s:
if sym.isdigit():
strnum+=sym
elif strnum:
num=int(strnum)
if num>9 and num<100:
count+=1
strnum=''
if s[-1].isdigit():
num=int(strnum)
if num>9 and num<100:
count+=1
print(count)
Разберём этот код:
Переменная s будет хранить в себе текст, который введёт пользователь
strnum - будем в неё сохранять цифры, которые будут нам попадаться в тексте и идти подряд
count - счётчик, в котором мы будем сохранять кол-во наших чисел
s=input() - пользователь вводит текст
for sym in s: - проверяем абсолютно каждый символ в тексте по очереди
if sym.isdigit(): - если наша буква является цифрой (метод isdigit именно это и проверяет), то мы прибавляем этот символ к нашей строке strnum
elif strnum - эта строка развнозначна строке elif strnum!='' , т.е., если наша строка не пустая и нам попалась не цифра, то:
num-int(strnum) - переменная num будет получать найденные числа, причём мы преобразовываем их в формат целых чисел (по умолчанию в тексте все цифры считаются просто символами)
проверяем, получившееся число будет двузначным или нет. Если да, увеличиваем счётчик count.
И не забываем очищать нашу строку, ведь мы нашли число и отработали с ним, теперь пора искать следующее.
В нашей программе есть одна проблема: если последний символ будет цифрой, то мы не будем учитывать его, что не есть хорошо, поэтому в самом конце мы выполняем доп проверку:
if s[-1].isdigit(): - если последняя цифра (индекс -1 проверяет именно последний символ), то проверяем то, что осталось в самом конце в нашей переменной strnum