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

Как убрать ведущие нули в питоне

  • автор:

Убрать нули из числа

Добрый день! Имею такое задание: вводится число, например 1134560809. Натуральное. Нужно убрать все нули из числа и на выходе получить 11345689. Как это сделать?

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Убрать лишние нули
Нужно перевести число -999.9999 в -1,000, -1234567.0001236 в -1,234,567. А получается -1,000.0 и.

Убрать нули спереди числа!
Всем привет такая проблемка есть число например 060 или 004 или 230 нужно проверять если у него.

Убрать нули в десятичной части числа
При конвертировании строки в число остаются нули в десятичной части. Как их убрать? string sd =.

Убрать из ListBox все числа, содержащие нули
limit = количество элементов в ListBox1 ListBox1 содержит миллион чисел от 1 до 1000000.

Как убрать незначащие нули из вещественного числа?
Помогите пожалуйста! Есть число double value == 12 650 320. 250 000 Как убрать 0 после.

4974 / 3210 / 1125
Регистрация: 21.03.2016
Сообщений: 7,940

num = 1134560809 print(int(str(num).replace('0','')))

Регистрация: 29.04.2020
Сообщений: 34
огромное спасибо!
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305

1 2 3 4 5 6 7 8 9 10
n = 1134560809 lst = [] while n: n, y = divmod(n, 10) if y != 0: lst.append(y) res = 0 for i, v in enumerate(lst): res += v * 10**(i) print(res)

Регистрация: 29.04.2020
Сообщений: 34

а можно ли это сделать через условный оператор? или через while, for?

Добавлено через 32 секунды
Спасибо!

1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
Без списка

1 2 3 4 5 6 7 8 9
n = 1134560809 cnt = 0 res = 0 while n: n, y = divmod(n, 10) if y != 0: res += y * 10**cnt cnt += 1 print(res)

Эксперт функциональных языков программированияЭксперт Python

36833 / 19881 / 4166
Регистрация: 12.02.2012
Сообщений: 33,015
Записей в блоге: 13

Лучший ответ

Сообщение было отмечено newtmasglee как решение

Решение

1 2 3 4 5 6 7 8 9
n = 1134560809 cnt = 1 res = 0 while n: n, y = divmod(n, 10) if y != 0: res += y * cnt cnt *= 10 print(res)

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Убрать нули при разделении массива на положительные и отрицательные числа
Дан массив A размера N. Сформировать два новых массива B и C: в массив B записать все положительные.

Как убрать нули в начале числа с шестнадцатеричной системой счисления
Как убрать в начале чисел нули в Ф.А.? И возможно ли как-то напрямую вычислять значения в 16ной.

Убрать из текста нули
Доброе утро, прошу помощи с работой над текстом. Дан текстовый файл, в котором нужно из всех чисел.

Как убрать нули
Есть массив, вывожу задом-наперед, так как не знаю сколько именно чисел введет пользователь — делаю.

Убрать нули из матрицы
дана матрица и нужно рассчитать логарифм этой матрицы. но в матрице есть нули. можно ли как то.

Убрать нули из массива
Есть массив мне нужно убрать нули из массива т.е. уменьшить размерность массива. Подскажите, как.

Как убрать все нули из начала строки?

Подскажите, пожалуйста, регулярное выражение, чтобы убрать все нули из начала строки.
Количество нулей может быть разным(0012345, 0000012345, 000000000000000012345).

  • Вопрос задан более двух лет назад
  • 1099 просмотров

Комментировать
Решения вопроса 2
ltrim($str, ‘0’)
Ответ написан более двух лет назад
Нравится 9 1 комментарий

Кстати, ltrim тоже не универсально.
Я так думаю, что «000000», «0000.567» и «000asd» нужно в «0», «0.567» и «asd» превратить.
Короче, в общем случае нужно проверять содержимое строки.

0xD34F

0xD34F @0xD34F Куратор тега Регулярные выражения

Не надо никаких регулярных выражений:

Хотя, разумеется, есть такой вариант:

Ответ написан более двух лет назад
Нравится 5 7 комментариев

FanatPHP

а зачем strval?

0xD34F

0xD34F @0xD34F Куратор тега Регулярные выражения
FanatPHP, чтобы на выходе было значение того же типа, что и на входе.
intval не катит. вдруг в строке float или что-то типа «000000sdfghj».

0xD34F

0xD34F @0xD34F Куратор тега Регулярные выражения

zombtron, всё-таки катит — перечитал вопрос, не увидел в примерах обрабатываемых строк ни флоат, ни «что-то типа».

0xD34F, Но в примере нет и указания, что будут строго целые с нулями в начале.
А люди частенько сводят общую задачу к желаемой. ) Да и вообще, в програмизме нужно все варианты учитывать, руководствуясь «аксиомой недосказанности».

0xD34F, Но пусть будет целое. Что intval сделает со строкой «00018446744073709551616»? )))

0xD34F

0xD34F @0xD34F Куратор тега Регулярные выражения

zombtron, да-да, а ещё нет указания, что будет строго строка.

Не нужно ничего учитывать. Достаточно считать, что автор вопрос умственно полноценен, понимает, что спрашивает. Ну а какой вопрос — такой ответ.

Задание на нули

Здравствуйте, как можно решить на python?
Юная программистка Ева очень любит нули. Но нули на конце числа не кажутся ей интересными. Разумеется, ведущие нули тоже не интересуют Еву.

Ева считает красоту числа равной количество нулей в его десятичной записи, за исключением нулей в конце числа. Разумеется, ведущих нулей в записи быть не должно. Например, красота числа 100500 равна 2.

По заданному числу k выясните, чему равна его красота по мнению Евы.
Входные данные содержат одно число k (1 ⩽ k ⩽ 10 9 ).

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Напишите программу, которая ищет нули в таблице чисел и печатает True, если нули нашлись
Я знаю, что такая тема уже была на этом форуме, но всё же не хочу копировать чужой код. Создал.

Создать и вывести массив, в котором есть нули. Все нули массива заменить на 10 и вывести полученный массив
var massiv6=; for(var i=0;i<a;i++)< massiv6.push(Math.round(Math.random()*0)) >.

Скопировать в новый текстовый файл все символы исходного, заменив все нули на единицы, а единицы на нули
Дан текстовый файл f. Переписать в файл g все компоненты файла f с заменой символа 0 на символ 1 и.

Задание что бы запусказалось через сочетание клавиш само задание внутри
Написать функцию, которая заполняет выделенный диапазон целыми числами от 1 до.

Как убрать ведущие нули в питоне

Спасибо, совет правильный. Еще такой вопрос всвязи с этим, есть форма списка документов, надо, чтобы номер документа там также без нулей был, как это проще сделать?

(15) посмотри модуль печати документа, там и префикс убирается, и нули
можно попробовать при вводе строки устновить вывод текста и там подменять номер.

стр = стрзаменить(ВходСтр,»0″,Символы.ПС);
для к = 1 по СтрЧислоСтрок(стр) Цикл
если СтрДлина(стрполучитьстроку(стр,к))>0 тогда
прервать;
КОнецЕсли;
КонецЦикла;

(6)
> ПроверяемыйСимвол = Сред(ИскомаяСтрока, НомерСимвола,1);
> Если КодСимвола(ПроверяемыйСимвол) <> 48 Тогда

достаточно
Если КодСимвола(ПроверяемыйСимвол,ПроверяемыйСимвол) <> 48 Тогда

+если уж на скорость, то ПозицияНеНуля можно выкинуть. в 1С переменная цикла при выходе из цикла определена (НомерСимвола).

при выходе = после выхода

стр = СокрЛ(СтрЗаменить(ИскомаяСтрока, «0», » «));
Поз = СтрДлина(ИскомаяСтрока) — СтрДлина(стр) + 1;

Если Поз > 1 Тогда
СтрокаБезВедущихнулей = Сред(ИскомаяСтрока,Поз);
Иначе
СтрокаБезВедущихнулей = ИскомаяСтрока;
КонецЕсли;

о где Serg69? Он такое любит под попкорн.

Вот еще вариант (если посередине строки пробелов нет):

СтрокаБезНулей = СтрЗаменить(ИскомаяСтрока, «0», » «);
СтрокаБезНулей = СокрЛ(СтрокаБезНулей);
Результат = СтрЗаменить(СтрокаБезНулей, » «, «0»);

(23) если были пробелы, не прокатит.

СтрокаБезНулей = СтрЗаменить(СтрЗаменить(ИскомаяСтрока,» «, «_»), «0», » «);
СтрокаБезНулей = СокрЛ(СтрокаБезНулей);
Результат = Прав(ИсходнаяСтрока, СтрДлина(СтрБезНулей));

(22) А? что? где? где попкорн?

//Убрать ведущие нули из строки
Запрос = Новый Запрос();
Запрос.Текст = «ВЫБРАТЬ ВЫБОР КОГДА Т1.Стр ПОДОБНО «»0%»» ТОГДА ПОДСТРОКА(Т1.Стр, 2, 1000) ИНАЧЕ Т1.Стр КОНЕЦ КАК БезНулей
|ИЗ (ВЫБРАТЬ ВЫБОР КОГДА Т2.Стр ПОДОБНО «»00%»» ТОГДА ПОДСТРОКА(Т2.Стр, 3, 1000) ИНАЧЕ Т2.Стр КОНЕЦ КАК Стр
|ИЗ (ВЫБРАТЬ ВЫБОР КОГДА Т3.Стр ПОДОБНО «»0000%»» ТОГДА ПОДСТРОКА(Т3.Стр, 5, 1000) ИНАЧЕ Т3.Стр КОНЕЦ КАК Стр
|ИЗ (ВЫБРАТЬ ВЫБОР КОГДА Т4.Стр ПОДОБНО «»00000000%»» ТОГДА ПОДСТРОКА(Т4.Стр, 9, 1000) ИНАЧЕ Т4.Стр КОНЕЦ КАК Стр
|ИЗ (ВЫБРАТЬ ВЫБОР КОГДА Т5.Стр ПОДОБНО «»0000000000000000%»» ТОГДА ПОДСТРОКА(Т5.Стр, 17, 1000) ИНАЧЕ Т5.Стр КОНЕЦ КАК Стр
|ИЗ (ВЫБРАТЬ ВЫБОР КОГДА &ЕстьНули ПОДОБНО «»00000000000000000000000000000000%»» ТОГДА ПОДСТРОКА(&ЕстьНули, 33, 1000) ИНАЧЕ &ЕстьНули КОНЕЦ КАК Стр) КАК Т5) КАК Т4) КАК Т3) КАК Т2) КАК Т1″;

// Проверим?
Фигня = «0000000000000000000000000000000000000000000000000000000000000000123»;
Запрос.УстановитьПараметр(«ЕстьНули», Фигня);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
Сообщить(«Было : » + Фигня + «, стало : » + Выборка.БезНулей);
Возврат;

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

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