gpt4 book ai didi

python - 使用递归在 Python 中生成给定长度的所有二进制字符串的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 03:47:45 25 4
gpt4 key购买 nike

我现在正在研究递归并尝试构建一些代码来生成给定长度“n”的所有二进制字符串。
我找到了一个用于循环的代码:

n = 5
for i in range(2**n, 2**(n+1)):
print(bin(i)[3:])
但是有没有其他方法可以使用递归来解决这个问题?
谢谢!

最佳答案

很难确定哪种方式是“最好的”;)
我们必须向当前字符串添加零或一并转到下一个递归级别。
停止条件达到所需长度(此处 n-1 因为我们必须提供与您的示例相对应的前导一个)

def genbin(n, bs = ''):
if n-1:
genbin(n-1, bs + '0')
genbin(n-1, bs + '1')
else:
print('1' + bs)

genbin(4)

1000
1001
1010
1011
1100
1101
1110
1111

关于python - 使用递归在 Python 中生成给定长度的所有二进制字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64890117/

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