相关疑难解决方法(0)

显示前导零的数字

鉴于:

a = 1
b = 10
c = 100
Run Code Online (Sandbox Code Playgroud)

如何为少于两位数的所有数字显示前导零?

那是,

01
10
100
Run Code Online (Sandbox Code Playgroud)

python integer string-formatting

819
推荐指数
14
解决办法
71万
查看次数

Python使用str.format添加前导零

你能用str.format函数显示带前导零的整数值吗?

输入示例:

"{0:some_format_specifying_width_3}".format(1)
"{0:some_format_specifying_width_3}".format(10)
"{0:some_format_specifying_width_3}".format(100)
Run Code Online (Sandbox Code Playgroud)

期望的输出:

"001"
"010"
"100"
Run Code Online (Sandbox Code Playgroud)

我知道,无论zfill%基于格式(如'%03d' % 5)可以做到这一点.但是,我想要一个解决方案,用于str.format保持我的代码干净和一致(我也使用datetime属性格式化字符串),并扩展我对格式规范迷你语言的了解.

python string string-formatting python-2.7

78
推荐指数
2
解决办法
5万
查看次数

Python格式整数到固定长度的字符串

我想生成一个基于int零的字符串.而且长度应始终5不超过那个长度.

For example:

Consider a Integer: 1
Formatted String : 00001

Consider a Integer: 12
Formatted String : 00012

Consider a Integer: 110
Formatted String : 00110

Consider a Integer: 1111
Formatted String : 01111

Consider a Integer: 11111
Formatted String : 11111
Run Code Online (Sandbox Code Playgroud)

python

28
推荐指数
1
解决办法
4万
查看次数

在Python中,如何在将int转换为字符串时指定格式?

在Python中,如何在将int转换为字符串时指定格式?

更确切地说,我希望我的格式添加前导零以具有恒定长度的字符串.例如,如果常量长度设置为4:

  • 1将被转换为"0001"
  • 12将被转换为"0012"
  • 165将被转换为"0165"

当整数大于允许给定长度(在我的示例中为9999)时,我对行为没有约束.

我怎么能用Python做到这一点?

python string

13
推荐指数
4
解决办法
3万
查看次数

Python问题中的二进制字符串

出于某种原因,我很想知道如何在Python中做到这一点.我试图在字符串变量中表示二进制字符串,而我想要的只是

0010111010
Run Code Online (Sandbox Code Playgroud)

但是,无论我如何尝试将其格式化为字符串,Python总是会删除前导零,这让我在尝试解析它时感到头痛.

我希望这个问题会有所帮助,但事实并非如此......

有没有办法强制Python停止自动将我的字符串转换为整数?

我尝试过以下方法:

val = ""
if (random.random() > 0.50):
  val = val + "1"
else
  val = val + "0"
Run Code Online (Sandbox Code Playgroud)

val = ""
if (random.random() > 0.50):
  val = val + "%d" % (1)
else:
  val = val + "%d" % (0)
Run Code Online (Sandbox Code Playgroud)

我以前把它插入到一个数组中,但遇到了将该数组插入另一个数组的问题,所以我认为将它解析为字符串会更容易.

关于如何让我的领先零回归的任何想法?如果有帮助,该字符串应该是10位的固定长度.


编辑:

代码:

  def create_string(x):
    for i in xrange(10):        # 10 random populations
      for j in xrange(int(x)):  # population size
        v = ''.join(choice(('0','1')) for _ in range(10))
        arr[i][j] = v …
Run Code Online (Sandbox Code Playgroud)

python string binary

3
推荐指数
1
解决办法
2958
查看次数

将前导零添加到字符串Python

我已经有了一个算法可以做到这一点,但是代码很丑陋而且很慢.我假设libs中有一个内置函数或一些函数可以提供更快,更精确的结果.

我想要的是我可以给出最终位数,字符串,列表或双端队列(最后可以转换为字符串的任何内容).

func(totalBits, binaryInStringOrListForm) -> String or List with leading zeroes
Run Code Online (Sandbox Code Playgroud)

我已经得到的代码如下:

 val = deque(["1", "0"])

     while len(val) < 8:

         val.appendleft("0")
Run Code Online (Sandbox Code Playgroud)

顺便说一下,deque是一种来自集合的对象,允许您在leftappend其中将项目添加到列表的开头,而不必将所有内容都移动一个.

对此有旧的答案,但它们都是Python 2,整个格式化的事情发生了重大变化.

编辑:我认为这个问题并不是链接的重复,因为我实际上在领导零之后,正如@Martijn Pieters让我意识到的那样.

编辑:好吧,它似乎是那个副本.抱歉欺骗.

我最后编辑:我只是注意到了一些事情.在尝试使其长达一个字节时,我不断获得像000b0110这样的值.这与我想要的00000110相反.我只是添加这个,以便如果将来有人查找这个问题,他们会找到正确的东西.所以我所做的就是使用以下方法忽略字符串的前两个字符:

val = val[2::].rjust(8, '0')
Run Code Online (Sandbox Code Playgroud)

我得到这个是因为我正在用一个带有"bin"的二进制数来转换一个数字,它返回一个字符串,该字符串在开头有一个"0b"(声明为二进制).

python python-3.x

3
推荐指数
1
解决办法
3556
查看次数

Python Str to Int - 非常简单但很棘手

我的GUI应用程序中有一个小问题.只需要显示字符串.我必须执行以下逻辑.我有一个字符串'a',它们是数字.这是五位数.我必须将它增加'1'并再次将它放在我的GUI上 - 如"00002"这是代码.

a = '00001'

b = int(a) + 1

print str(b)
Run Code Online (Sandbox Code Playgroud)

预期结果:"00002" - 我得到"2"我必须为"00001"或"00043"或"00235"或"03356"或"46579"做这项工作 - 我想说 - 它必须工作对于'a'中的任意位数

python string int string-formatting python-2.7

2
推荐指数
1
解决办法
213
查看次数