Как найти длину (кол-во цифр) числа?


Найти кол-во цифр числа, больших 6 и произведение цифр, не удовлетворяющих данному критерию
Дано натуральное число. Написать программу, котрая будет находить: а)кол-во цифр этого числа.
Найти длину сторон прямоугольника (дано кол-во линий внутренней сетки и кол-во узлов)
Добрый вечер. Подскажите пожалуйста, как решается такая задача. Имеется расчерченный.
Найти общее кол-во цифр десятичной записи числа.
Найдите общее количество цифр в десятичной записи числа 2 в 2011 степени ! help!!
C++ Дано целое число, записанное как строка. Найти количество цифр числа, сумма цифр числа и реверс числа * 2
Дано целое число, записанное как строка (предусмотреть варианты: число вводится пользователем, или.
4494 / 3242 / 1131
Регистрация: 21.03.2016
Сообщений: 7,985
потому что len применяется к итерируемым обьектам коим не является число.
1 2 3 4
chislo = input() sisyema = int(input()) a = len(chislo) print(a*10)
или как то так
1 2 3 4 5 6 7 8 9 10 11 12 13
def len_int (x): if x == 0: return 1 len_ = 0 while x: x //= 10 len_ += 1 return (len_) chislo = int(input()) sisyema = int(input()) a = len_int(chislo) print(a*10)
Функция len() в Python, количество элементов объекта
Количество элементов в последовательности или коллекции
Синтаксис:
len(s)
Параметры:
- s — последовательность или коллекция.
Возвращаемое значение:
Описание:
Функция len() возвращает длину (количество элементов) в объекте.
Аргумент может быть последовательностью, такой как строка, байты, кортеж, список или диапазон или коллекцией (такой как словарь, множество или неизменяемое множество).
Когда объект является строкой, функция len() возвращает количество символов в строке (строка представляет собой частный случай кортежа Python).
Пользовательские типы данных могут определять метод __len__() , значение из которого, будет возвращено при вызове функции len() .
Примеры подсчета количества элементов в последовательности.
Что можно подсчитать:
- число элементов в списке;
- число элементов в кортеже;
- число символов в строке (длина строки);
- количество байтов в строке;
- число элементов в множестве;
- число пар ключ-значение в словаре;
Подсчет элементов списка.
# подсчет количества элементов списка >>> mylist = ['apple', 'banana', 'cherry'] >>> len(mylist) # 3
Подсчет количества символов в строке (длина строки).
# подсчет символов в строке >>> string = 'Hello' >>> len(string) # 5 >>> len('абракадабра') # 11
Подсчет количества байтов в строке.
# подсчет символов в строке >>> line_en = 'Hello'.encode('utf-8') >>> line_ru = 'Привет'.encode('utf-8') >>> len(line_en) # 5 >>> len(line_ru) # 12
Подсчет количества ключей словаря.
# подсчет количества ключей словаря. >>> d = 'a': 1, 'b': 1, 'c': 1, 'd': 1> >>> keys = list(d) >>> len(keys) # 4
Другие паттерны использования функции len() .
Проверка списка на дублирующие значения:
Чтобы проверить уникальность значений списка достаточно сравнить количество элементов списка с количеством элементов множества этого списка. Используя тот факт, что множество set() содержит только уникальные элементы.
>>> lst = [1, 2, 3, 4, 5, 6] # список с уникальными значениями >>> len(lst) == len(set(lst)) # True >>> lst.append(3) >>> lst # [1, 2, 3, 4, 5, 6, 3] # в списке есть повторы >>> len(lst) == len(set(lst)) # False
Использование функции len() для подчеркивания строки:
>>> mystr = "Привет Python!" >>> underline = '-' * len(mystr) >>> print(f'mystr>\nunderline>') # Привет Python! # --------------
Использование функции len() в итерации по индексам последовательности:
Это пример — как один из вариантов получения индексов элементов списка. Конечно, для этой цели лучше использовать встроенную функцию enumerate() , т.к. сразу можно получить и индекс элемента и его значение.
>>> mylist = ['apple', 'banana', 'cherry', 'pear', 'plum'] >>> for i in range(len(mylist)): . print(i, mylist[i]) . # 0 apple # 1 banana # 2 cherry # 3 pear # 4 plum
Использование встроенной функции enumerate() для получения индексов элементов:
>>> mylist = ['apple', 'banana', 'cherry', 'pear', 'plum'] >>> for i, item in enumerate(mylist): . print(i, item) . # 0 apple # 1 banana # 2 cherry # 3 pear # 4 plum
По индексам последовательности, конечно удобнее итерироваться при помощи функции enumerate() .
Подсчет количества цифр в числе (длина числа)
Для того, чтобы посчитать количество цифр в числе необходимо сначала перевести число float или int в любую последовательность, например в строку, а затем к последовательности применить функцию len() , что бы получить количество элементов.
Для получения строкового представления объектов float и int , применим к ним функцию str.
Пример получения длины целого числа:
# получение длины целого числа >>> x = 1235412687 >>> str_x = str(x) >>> str_x # '1235412687' >>> num_x = len(str_x) >>> num_x # 10
Так как вещественные числа в Python имеют запятую, то количество цифр в числе float будет на 1 меньше, а именно len(str(float)) — 1 .
Пример получения длины вещественного числа:
# получение длины вещественного числа >>> x = 0.1230541287 # запишем преобразования короче >>> num_x = len(str(x)) - 1 >>> num_x # 11
Чтобы получить количество уникальных цифр в числе, необходимо строковое представление числа преобразовать в множество set , т.к. множество представляет собой последовательность неповторяющихся элементов.
Пример подсчета уникальных цифр в числах float и int :
# получение кол-ва уникальных цифр целого числа >>> x = 1235412687 # получаем строковое представление >>> str_x = str(x) # получаем множество уникальных цифр числа >>> set_x = set(str_x) # # считаем кол-во уникальных цифр >>> num_x = len(set_x) >>> num_x # 8 # для получения кол-ва уникальных цифр # числа `float` сделаем запись короче >>> x = 0.1230541287 # количество уникальных цифр числа `float` # будет на 1 меньше, т.к. число имеет разделитель >>> num_x = len(set(str(x))) - 1 # 8
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Функция abs(), абсолютное значение числа
- Функция all(), все элементы True
- Функция any(), хотя бы один элемент True
- Функция ascii(), преобразует строку в ASCII
- Функция bin(), число в двоичную строку
- Класс bool(), логическое значение объекта
- Функция breakpoint(), отладчик кода
- Класс bytearray(), преобразует в массив байтов
- Класс bytes(), преобразует в строку байтов
- Функция callable(), проверяет можно ли вызвать объект
- Функция chr(), число в символ Юникода
- Класс classmethod, делает функцию методом класса
- Функция compile() компилирует блок кода Python
- Класс complex(), преобразует в комплексное число
- Функция delattr(), удаляет атрибут объекта
- Класс dict() создает словарь
- Функция dir(), все атрибуты объекта
- Функция divmod(), делит числа с остатком
- Функция enumerate(), счетчик элементов последовательности
- Функция eval(), выполняет строку-выражение с кодом
- Функция exec(), выполняет блок кода
- Функция filter(), фильтрует список по условию
- Класс float(), преобразует в вещественное число
- Функция format(), форматирует значение переменной
- Класс frozenset(), преобразует в неизменяемое множество
- Функция getattr(), значение атрибута по имени
- Функция globals(), переменные глобальной области
- Функция hasattr(), наличие атрибута объекта
- Функция hash(), хэш-значение объекта
- Функция help(), справка по любому объекту
- Функция hex(), число в шестнадцатеричную строку
- Функция id(), идентификатор объекта
- Функция input(), ввод данных с клавиатуры
- Класс int(), преобразует в тип int
- Функция isinstance(), принадлежность экземпляра к классу
- Функция issubclass(), проверяет наследование класса
- Функция iter(), создает итератор
- Функция len(), количество элементов объекта
- Класс list(), преобразовывает в список
- Функция locals(), переменные локальной области
- Функция map(), обработка последовательности без цикла
- Функция max(), максимальное значение элемента
- Класс memoryview(), ссылка на буфер обмена
- Функция min(), минимальное значение элемента
- Функция next(), следующий элемент итератора
- Класс object(), возвращает безликий объект
- Функция oct(), число в восьмеричную строку
- Функция open(), открывает файл на чтение/запись
- Функция ord(), число символа Unicode
- Функция pow(), возводит число в степень
- Функция print(), печатает объект
- Класс property(), метод класса как свойство
- Класс range(), генерирует арифметические последовательности
- Функция repr(), описание объекта
- Функция reversed(), разворачивает последовательность
- Функция round(), округляет число
- Класс set(), создает или преобразовывает в множество
- Функция setattr(), создает атрибут объекта
- Класс slice(), шаблон среза
- Функция sorted(), выполняет сортировку
- Декоратор staticmethod(), метод класса в статический метод
- Класс str(), преобразует объект в строку
- Функция sum(), сумма последовательности
- Функция super(), доступ к унаследованным методам
- Класс tuple(), создает или преобразует в кортеж
- Класс type(), возвращает тип объекта
- Функция vars(), словарь переменных объекта
- Функция zip(), объединить элементы в список кортежей
- Функция __import__(), находит и импортирует модуль
- Функция aiter(), создает асинхронный итератор
- Функция anext(), следующий элемент асинхронного итератора
поиск минимального и максимального по критерию длины числа python
Дана последовательность чисел, завершающаяся числом 0. Найдите самое короткое и длинное число из введенных. Для вычисления длины числа, нахождения минимума и максимума используйте отдельные функции. Формат входных данных: Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
def count_digits(num): count = 0 while num: num //= 10 count += 1 return count def min_max(num, count): num_len = count max_len, min_len = -1, 99999999 min_num, max_num = None, None if num_len > max_len: max_len = num_len max_num = num if num_len < min_len: min_len = num_len min_num = num print(min_num, max_num) while True: num = int(input()) if num == 0: break count = count_digits(num) min_max(num, count)
Не могу понять, в чем проблема, если например просто использовать поиск максимума, т.е убирать в функции часть с посиком минимума, все хорошо.. Не могу понять, где спотыкаюсь.
Отслеживать
задан 21 ноя 2021 в 13:38
113 3 3 бронзовых знака
по заданию оценить самое длиное и короткое через длину числа, я понимаю, что простое сравнение даст верный результат
Четыре способа найти длину строки в Python
В некоторых случаях при работе со строками в Python нам необходимо определить длину строки. Сделать это можно несколькими способами, а какими — мы сейчас и узнаем.
Итак, в языке программирования Python строки относят к категории неизменяемых последовательностей, что необходимо помнить при вызове методов и функций. Теперь давайте представим, что у нас есть строка, и нам требуется найти её длину:
Input: 'otus' Output: 4Сделать это можно несколькими способами.
Определяем длину строки в Python: способ № 1
Начнём с общеизвестного и наиболее популярного — использования функции len() . Эта встроенная функция возвращает количество символов в исследуемой нами строке, определяя таким образом её длину. Тут всё элементарно, и вы можете проверить код ниже на любом онлайн-компиляторе:
# Находим длину строки в Python с помощью функции len() str = 'otus' print(len(str))Итогом работы функции станет следующий вывод в терминал:
Ищем длину строки в «Питоне»: способ № 2
Чтобы подсчитать количество символов в строке Python, мы можем воспользоваться циклом for и счётчиком. Тут тоже всё просто, т. к. определение длины происходит путём подсчёта числа итераций.
# Python-код возвращает длину строки def findLen(str): counter = 0 for i in str: counter += 1 return counter str = "otus" print(findLen(str))Соответственно, наш вывод в консоли тоже будет равен 4.
Поиск длины строки в Python: способ № 3
Теперь давайте воспользуемся циклом while. Мы «нарежем» строку, укорачивая её на каждой итерации, в результате чего получим пустую строку и остановку цикла. А подсчёт количества итераций снова позволит нам вывести в терминал искомую длину.
# Python-код, возвращающий длину строки def findLen(str): counter = 0 while str[counter:]: counter += 1 return counter str = "otus" print(findLen(str))Находим длину строки в Python: способ № 4
Теперь воспользуемся строковым методом объединения. Он принимает итеративный элемент, возвращая строку, являющуюся объединением строк в итерируемом нами элементе. Разделитель между элементами — исходная строка, для которой и вызывается метод. Применение метода объединения с последующим подсчётом объединённой строки в исходной строке тоже позволит нам получить длину строки на «Питоне».
# Python-код, возвращающий длину строки def findLen(str): if not str: return 0 else: some_random_str = 'py' return ((some_random_str).join(str)).count(some_random_str) + 1 str = "otus" print(findLen(str))Как и во всех примерах выше, в консоль выведется количество символов в строе ‘otus’, равное 4. Вот и всё!
Хотите знать про Python гораздо больше? Записывайтесь на наш курс для продвинутых разработчиков!