3 способа определить количество разрядов в числе в Python
Статьи
Введение
В ходе статьи рассмотрим три вариации кода для определения количества разрядов в ведённом пользователем числе на языке программирования Python.
Длинный способ с циклом while
Дадим пользователю возможность ввести число:
Если было введено отрицательное число, нужно его сделать положительным. Для этого добавим его в модуль методом abs():
Добавим переменную count равную нулю:
Создадим цикл while, который не закончится, пока n > 0. В цикле будем убирать последнюю цифру в переменной n, а к count прибавлять единицу:
Осталось вывести результат:
Короткий способ циклом for
Обычно подобным не занимаются при помощи цикла for, но почему бы и нет. Как и в предыдущем способе даём пользователю возможность ввода числа, и добавляем его в модуль. Также создаём переменную count равную нулю:
Создадим цикл for, в котором пройдёмся по количеству символов в переменной n. Внутри цикла прибавляем к count единицу:
Выведем результат в консоль:
Самый быстрый способ
Как и в предыдущих способах даём пользователю возможность ввода числа, и добавляем его в модуль:
Теперь в переменную count сохраним длину значения преобразованного в строковый тип данных в переменной n:
Заключение
В ходе статьи мы с Вами разобрали целых 3 способа определить количество разрядов в числе в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов!
Напишите функцию, которая определяет количество цифр переданного ей числа в паскале
function F1(a: integer): string; // описание функции.
begin
Result := inttostr(a); // преобразуем переданное в качестве параметра число в строку.
writeln(‘Количество цифр в числе ‘,a,’ равно: ‘, length(Result)); // вывод на экран строки.
end;
var // начало основной программы.
b: integer; // объявление переменной целочисленного типа.
begin
writeln(‘Введите целое число:’); // вывод на экран строки.
readln(b); // считываем введенное с клавиатуры число.
F1(b); // вызываем функцию и передаем в качестве параметра введенное число.
end.
[C++] Разбиение числа на разряды и порязрядный вывод через пробел
P.S. Решение на С++. Используя инструкцию if. И функции printf(), scanf().
iskander-k
- 14 Авг 2010
- #2
Alex1983
- 14 Авг 2010
- #3
AlexTNT
Активный пользователь
- 14 Авг 2010
- #4
Alex1983
- 14 Авг 2010
- #5
AlexTNT
Активный пользователь
- 15 Авг 2010
- #6
Drongo
- 15 Авг 2010
- #7
Число нужно, а не строка.
Покопавшись в своих решениях, нашёл, эту задачу из книги Дейтелов, и как я её тогда решил, прочитав только первую и вторую главу.
Программа просит ввести четырёхзначное число и разбивает на числа через пробел, если вводить меньше четырёх или больше четырёх разрядов, выводимое решение будет неверно. Но это было решено уже позже, понадобились знания создания динамических массивов и вроде бы всё. Если интересно, поищу и приведу пример уже в понедельник.
Как правильно найти количество цифр заданного целого числа?
Мой код проходит по всем тестам на 90% , не проходит один тест. Проблему почему не проходит на все 100 — не нашёл..
Условие: Найти количество цифр заданного целого числа number .
Пример: вводим число 37 должно вывести число 2 .
![]()
Почти наверняка в том единственном тесте вводится 0 .
Делать условие именно на то, что юзер введёт цифру 0, и нужно вывести 1. Както колхозно, как можно реализовать без етого?
Делать отдельно условие нормально, но если есть желание сделать без условия, то можно и без него:
Если вводите с консоли, то и не нужно рассматривать последовательность цифр как число. Можно просто читать и "выбрасывать" символы_цифры, с увеличением счетчика:
Вариантов решения много. Задание должно четко выразить что критично и каким образом задается объект. Потому что "задано число" наталкивает написать функцию с целочисленным аргументом, а пример рождает вопрос "откуда вводится?".