Python Force python pour garder les zéros non significatifs des variables int

Ci-dessous est une section de code qui fait partie d'une fonctionnelle de cryptage et décryptage de programme.

while checkvar < maxvar: # is set to < as maxvar is 1 to high for the index of var
    #output.append("%02d" % number)
    i =ord(var[checkvar]) - 64 # Gets postional value of i
    i = ("%02d" % i)
    if (checkvar + 1) < maxvar:
        j =ord(var[(checkvar + 1)]) - 64 # Gets postional value of i
        j = ("%02d" % j)
        i = str(i) + str(j) #'Adds' the string i and j to create a new i
    li.append(int(i))
    checkvar = checkvar + 2

print li

Comme vous pouvez le voir, les deux variables i et j sont d'abord traités comme chaîne de caractères à ajouter un 0 devant toute seule chiffres (string). Ces variables sont ensuite combinés pour faire un numéro à quatre chiffres (toujours comme une chaîne de caractères). Plus tard dans le programme, le nombre créés sont utilisés dans une fonction pow. COMME ints supprimer les zéros.

Ma question: Est-il possible de la force python à garder le zéro pour ints. J'ai et de continuer à rechercher en ligne.

MODIFIER

POUR aider les gens, j'ai inclus le encrpytion partie du programme. C'est là que réside le problème. Les variables créées dans le code ci-dessus sont passés à travers une fonction pow (). Comme cela ne peut pas gérer les chaînes-je convertir des variables à ints où le zéro est perdu.

#a = li[]
b=int(17)#pulic = e
c=int(2773)#=n

lenli=int(len(li))
enchecker = int(0)

#encrpted list
enlist = []

while enchecker < lenli:
    en = pow(li[enchecker],b,c)#encrpyt the message can only handle int
    enlist.append(int(en))
    enchecker = enchecker + 1

print enlist
Vous avez i = "%02d" %i, qui est la bonne chose à faire ici... pourquoi n'est-ce pas le travail pour vous?
Non, les valeurs entières ne sont pas stockées avec zéro. D'autre comment définiriez-vous combien de zéros non significatifs à prendre en considération? Vous devez la formater pour l'imprimer dans la forme d'une chaîne, que vous utilisez actuellement.
Quand Python contient un entier, sous les couvertures, il est juste un tas de zéros et des uns. Le nombre décimal que vous voyez comment est ce que des tas de bits est converti en lisible par l'homme de la représentation. Vous pouvez utiliser des chaînes de caractères fonctions de mise en forme (comme celui que vous utilisez) pour ajouter des zéros à cette représentation, mais vous ne pouvez pas stocker les zéros à gauche dans l'int lui-même. Il n'a tout simplement pas de bon sens.
Ce code ne fonctionne pas. le problème est variable int enlever le 0. À Rohit Jain. Si vous vous demandez combien de zéros je considère que c'est déjà fait (même si c'est un string). Si l'on parle de python définir les zéros alors je ne sais pas

OriginalL'auteur Dan1676 | 2012-11-21