在位串的前面加 0,在位串的末尾加 1 进行 N 次迭代

目前,我有一个由


1 #for n = 0

对于 n 次迭代,我想在比特串的前面添加一个 0,在比特串的末尾添加一个 1


对于 n = 1:


011  #added 0 and 1

对于 n = 2:


00111  #added 0 and 1 from previous bit string

对于 n = 3:


0001111  #added 0 and 1 from previous bit string

. .


我试过了:


bit_str = ""

for i in range(n):

    if i == 0: 

        full_b_tree = "1"

        print(full_b_tree)

    else:

        inc_one = "1"

        bit_str += inc_one

        inc_zero = "0"

        full_b_tree += inc_zero

        print(full_b_tree)

但是对于 n = 3,我得到


1

011

01110

0101110

这是我第一次使用位串,因为我不熟悉在前面添加 0 并在末尾添加 1,希望得到一些帮助。


莫回无
浏览 166回答 3
3回答

哔哔one

好的,问题在于总结如下:您正在做以下求和full_b_tree += inc_zero这意味着full_b_tree = full_b_tree + inc_zero将添加0到最后。你应该做full_b_tree = inc_zero + full_b_tree这将附加0到前面,这就是您想要的。我也换成了range(n)byrange(n+1)因为range(3)只会上升到2.n = 3bit_str = ""for i in range(n+1): # n replaced by n+1    if i == 0:         full_b_tree = "1"        print(full_b_tree)    else:        inc_one = "1"        full_b_tree += inc_one        inc_zero = "0"        full_b_tree = inc_zero + full_b_tree # The summation corrected        print(full_b_tree)1011001110001111

素胚勾勒不出你

试试这个代码:bit_str = ""for i in range(n+1):    if i == 0:         full_b_tree = "1"        print(full_b_tree)    else:        inc_one = "1"        full_b_tree = full_b_tree+inc_one        inc_zero = "0"        full_b_tree = inc_zero + full_b_tree        print(full_b_tree)

慕工程0101907

这应该有助于-N=3bit_string = '1'for i in range(N):    bit_string = '0' + bit_string + '1'    print(bit_string)输出-011001110001111
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python