当前位置: 首页 > 面试题库 >

如何保留int变量的前导零?

梁丘缪文
2023-03-14
问题内容

下面是一段代码,它是功能解密和加密程序的一部分。

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

如您所见,两个变量i和j首先被视为字符串,以便在任何一位数字前添加一个0(作为字符串)。然后将这些变量组合成一个四位数的数字(仍为字符串)。在程序的后面,在pow()函数中使用创建的数字,因为ints删除所有前导零。

我的问题:是否可以强制python保持ints的前导零?我已经并且继续在线搜索。

编辑

为了帮助人们,我将程序的加密部分包括在内。这就是问题所在。上面代码中创建的变量通过pow()函数传递。由于这无法处理字符串,因此我不得不将变量转换为ints,其中前导零会丢失。

#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

问题答案:

前导零的概念是显示概念,而不是数字的概念。您可以在数字上放置无数个前导零而不更改其值。由于它不是数字概念,因此不会与数字一起存储。

当您将数字转换为字符串时,必须决定要多少个零。如果需要,您可以单独保留该号码。



 类似资料:
  • 问题内容: 当我对sudo使用任何命令时,环境变量不存在。例如,设置HTTP_PROXY后,如果不使用,该命令可以正常工作。但是,如果我键入它说它不能绕过代理设置。 问题答案: 技巧是通过命令将环境变量添加到文件并添加以下行: 摘自ArchLinux Wiki 。 对于Ubuntu 14,您需要在单独的行中指定,因为它会返回多变量行的错误:

  • 我试图验证输入,这样用户只允许输入一个有9位数字的int。我当前的代码负责前导零,任何大于9位的输入,但如果小于9位则不负责。 例如,它不应该允许用户输入int 123。 如果数字大于9,下面的代码将验证数字输入,但不考虑小于9的数字。 如果用户输入的整数小于9位。由于字符串的原因,它将填充剩余的插槽,并使其成为9位数字。格式(我只包含这个,以便它适用于前导零)。我不知道如何绕过前导零,以及确保输

  • Table of Contents Request variables[页面请求变量](译注:就是get,post,server,session等变量) {$smarty.now} {$smarty.const} {$smarty.capture} {$smarty.config} {$smarty.section}, {$smarty.foreach} {$smarty.template} Th

  • 问题内容: 我需要处理一个CSV文件,并且对于每个记录(行)都保留一个实体。现在,我这样做: 该方法基本上只是一个调用。CSV文件中大约有20,000个实体(行)。这是一种有效的方法吗?似乎很慢。使用会更好吗?这个解决方案有任何缺陷吗? 编辑 这是一个漫长的过程(超过400秒)和我都尝试的解决方案,与和。两者花费的时间大致相同(459s与443s)。问题是,像这样一个接一个地保存实体是否最佳。据我

  • 我正在编写一个函数来展平嵌套数组(Python)。例如将[1,2,[3]]变成[1,2,3],[[1,2,[3]],4]变成[1,2,3,4]等。 我有以下内容: 所以这个想法是让函数是递归的,以处理嵌套到未知深度的情况。我的问题是每次遇到嵌套列表都会被重新初始化(当被递归调用时)。 在进行递归调用时,如何保持展平数组的状态?