gpt4 book ai didi

python - 在python中递增二进制数

转载 作者:太空宇宙 更新时间:2023-11-04 06:57:02 27 4
gpt4 key购买 nike

我想知道,如何递增表示二进制数的字符串,一直增加到另一个二进制数? (例如,用于 while 循环)。

例如,我从“0000”开始,在 15 个 incs 之后,我应该到达“1111”(换句话说:“0000”、“0001”、“0010”、...、“1111”)。起初这个问题看起来很简单,但我能想到的唯一解决方案非常荒谬(不是 pythonic,有些人可能会说)。有人有什么建议吗?

提前致谢!

最佳答案

要执行您真正要求的操作,您应该转换为整数,加一,然后再改回二进制。

x = to_binary(int(x, 2) + 1)

您可能会发现 bin 内置方法在实现 to_binary 时很有用,尽管您需要稍微修改其输出以匹配您想要的结果。

不过,如果可能的话,最好不要来回转换:只存储一个整数,然后在需要显示时将其转换为二进制。

仔细阅读您的问题后,您似乎只想生成字符串 '0000''0001''0010 ' 等。如果这是正确的,那么我建议使用 itertools.product .

例子:

import itertools
for x in map(''.join, itertools.product('01', repeat=4)):
print x

0000
0001
0010
...

在线查看它:ideone

关于python - 在python中递增二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10673008/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com