Как увеличить значение с помощью ведущих нулей?

Каким будет лучший способ увеличить значение, содержащее ведущие нули? Например, я хотел бы увеличить «00000001». Однако следует отметить, что число ведущих нулей не будет превышать 30. Таким образом, могут быть такие случаи, как «0000012», «00000000000000099» или «000000000000045».

Я могу подумать о нескольких путях, но я хочу посмотреть, кто-то придумает что-то пятно.

7 Solutions collect form web for “Как увеличить значение с помощью ведущих нулей?”

Используйте сильно упущенную str.zfill ():

str(int(x) + 1).zfill(len(x)) 
 int('00000001') + 1 

если вы хотите вернуть нули:

 "%08g" % (int('000000001') + 1) 

"%% 0% ii"% len (x)% (int (x) +1)

– MarkusQ

PS При x = "0000034" он разворачивается так:

 "%%0%ii" % len("0000034") % (int("0000034")+1) "%%0%ii" % 7 % (34+1) "%07i" % 35 "0000035" 

Предположительно, вы конкретно подразумеваете целое число, представленное в виде строки с ведущими нулями?

Если это так, я бы сделал это так:

 >>> a '00000000000000099' >>> l = len(a) >>> b = int(a)+1 >>> b 100 >>> ("%0"+"%dd" % l) % b '00000000000000100' 

Определите длину, преобразуйте ее в целое число, увеличьте ее, а затем преобразуйте обратно в строку с ведущими нулями, чтобы она имела ту же длину, что и раньше.

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

«мой код находится в c» int a[6]={0,0,0,0,0,0},i=5,k,p; while(a[0]!=10) { do { for(p=0;p<=i;p++) printf("%d",a[p]); printf("\n"); delay(100); a[i]++; }while(a[i]!=10); for(k=0;k<=i;k++) if(a[ik]==10) { a[i-(k+1)]++; a[ik]=0; } } int a[6]={0,0,0,0,0,0},i=5,k,p; while(a[0]!=10) { do { for(p=0;p<=i;p++) printf("%d",a[p]); printf("\n"); delay(100); a[i]++; }while(a[i]!=10); for(k=0;k<=i;k++) if(a[ik]==10) { a[i-(k+1)]++; a[ik]=0; } } в int a[6]={0,0,0,0,0,0},i=5,k,p; while(a[0]!=10) { do { for(p=0;p<=i;p++) printf("%d",a[p]); printf("\n"); delay(100); a[i]++; }while(a[i]!=10); for(k=0;k<=i;k++) if(a[ik]==10) { a[i-(k+1)]++; a[ik]=0; } }

  • Переопределить + оператор в python для float + obj
  • Как сделать то, что strtok () делает в C, в Python?
  • Метод python dunder для `is`
  • Должен ли я вернуть пустой символ вместо «Нет»?
  • Такое же имя переменной для разных значений в вложенных циклах.
  • Прочитать файл в App Engine с помощью Python?
  • Как работает Python .join?
  • Как получить самую старую задачу пользователя из API Asana?
  •  
    Interesting Posts for Van-Lav

    Как threading.Thread дает остальную часть своего кванта в Python?

    Python / Pandas – Производительность – вычисление% числа значений в столбце

    Как вызвать элемент в массиве numpy?

    lxml error from .itertext () "ValueError: входной объект не имеет элемента: HtmlComment"

    скрученный люк: как получить доступ к серверам в приложении?

    Регулярное выражение в Python

    Как настроить тестовый пример Selenium Grid Python для тестирования нескольких машин?

    Нужно сбрасывать все дерево DOM с идентификатором элемента с сервера селена

    TensorFlow: использование тензора для индексации другого тензора

    При использовании случайного, какая форма возвращает равный 50% шанс?

    Подпарамеры с несколькими уровнями argparse

    Будет ли все в стандартной библиотеке обрабатывать строки как unicode в Python 3.0?

    Могу ли я использовать параметр paste0 () в R, чтобы эта функция выполнялась так же быстро, как исходный пример Python?

    Как сравнить список списков / наборов в python?

    Пустой cookiejar с использованием SUDS

    Python - лучший язык программирования в мире.