Как найти длину числа в питоне
Перейти к содержимому

Как найти длину числа в питоне

  • автор:

поиск минимального и максимального по критерию длины числа 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 это использовать функцию len() .

>>> word = 'hexlet' >>> len(word) 6 

19 января 2023

Спасибо Walter White не ты ли это?

Основы Python за 14 дней
72 урока в онлайн-тренажере
4 живых вебинара и масскодинг
Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Похожие вопросы

01 ноября 2021
01 ноября 2021

  • python строки
  • python массивы

01 ноября 2021
01 ноября 2021

  • python строки
  • python массивы
  • 8 800 100 22 47 бесплатно по РФ
  • +7 495 085 28 38 бесплатно по Москве

Направления

  • Курсы «Backend-разработка»
  • Курсы «Frontend-разработка»
  • Курсы «Создание сайтов»
  • Курсы «Тестирование»
  • Курсы «Аналитика данных»
  • Интенсивные курсы
  • Курсы DevOps
  • Курсы «Веб-разработка»
  • Курсы «Математика для программистов»
  • Все курсы

О Хекслете

  • О нас
  • Карьера в Хекслете
  • Хекслет Колледж

ООО «Хекслет Рус» 108813, г. Москва, вн.тер.г. поселение Московский, г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 10/3 ОГРН 1217300010476

  • Справка
  • Вопросы и ответы
  • Сообщество
  • Дополнительно
  • Условия использования
  • Соглашение об обработке ПД
  • Оферта
  • Акции

Четыре способа найти длину строки в 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 гораздо больше? Записывайтесь на наш курс для продвинутых разработчиков!

Как найти длину списка в Python: инструкция

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

Метод len()

len() — встроенный метод Python для нахождения длины списка. На вход метод принимает один параметр: сам список. В качестве результата len() возвращает целочисленное значение — длину списка. Также этот метод работает и с другими итеративными объектами, например со строками.

Country_list = ["The United States of America", "The Russian Federation", "France", "Germany"]
count = len(Country_list)

print("There are", count, "countries")
There are 4 countries

Поиск длины списка с помощью цикла

Длину списка можно узнать с помощью цикла for . Для этого необходимо пройти по всему списку, увеличивая счетчик на 1 за каждую итерацию. Определим для этого отдельную функцию:

def list_length(list): 
counter = 0
for i in list:
counter=counter+1
return counter

Country_list = ["The United States of America", "The Russian Federation", "France", "Germany","Japan"]
count = list_length(Country_list)

print("There are", count, "countries")
There are 5 countries

Поиск длины списка с помощью рекурсии

Задачу поиска длины списка можно решить с помощью рекурсии. Вот код:

def list_length_recursive(list): 
if not list:
return 0
return 1 + list_length_recursive(list[1:])

Country_list = ["The United States of America", "The Russian Federation", "France", "Germany","Japan","Poland"]
count = list_length_recursive(Country_list)

print("There are", count, "countries")
There are 6 countries

Как это работает. На вход в функцию list_length_recursive() поступает список. Если он не содержит элементов, то возвращает 0 — длина пустого списка равна нулю. Если в нём есть элементы, то он вызывает рекурсивную функцию с аргументов list[1:] — срезом исходного списка с 1 элемента, т.е. списком без элемента на 0 индексе. Результат работы этой функции прибавляется к 1. За каждую рекурсию result увеличивается на единицу, а список уменьшается на 1 элемент.

Метод length_hint()

Метод length_hint() относится к модулю operator . В модуль operator включены функции, аналогичные внутренним операторам Python: сложению, вычитанию, сравнению и т.п. Метод length_hint() возвращает длину итеративных объектов: строк, кортежей, словарей и списков. Работает length_hint() аналогично методу len() :

from operator import length_hint

Country_list = ["The United States of America", "The Russian Federation", "France", "Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)

print("There are", count, "countries")
There are 7 countries

Для работы с length_hint() его необходимо импортировать.

Заключение

В рамках этого материала мы рассмотрели 4 способа нахождения длины списка в Python. Наиболее оптимальным методом при прочих равных является len() . Сложность его работы равна O(1) и применение остальных методов оправдано для реализации собственных классов наподобие list . Если вы хотите изучить Python глубже, то читайте другие наши публикации на тему работы с Python, а также арендуйте VDS и VPS у Timeweb Cloud для реализации своих проектов и экспериментов с этим языком.

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

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