while循环永无止境(python)

时间:2018-12-02 15:33:45

标签: python while-loop

是否尝试过检查生成的私钥长度是否相等,但是程序陷入了while循环中?

    private_key_hex = '{:x}'.format(private_key_dec)
    print ("Length of private_key_hex: ", len(str(private_key_hex)))  

    while (len(private_key_hex) % 2) != 0:  
       private_key_hex = '{:x}'.format(private_key_dec)

    print("Private key (Hex):        " + private_key_hex)  # this never happens...

1 个答案:

答案 0 :(得分:1)

即使不知道private_key_dec的来源,我也可以看到您正在遍历字符串,并且由于您没有更改private_key_dec的值,因此实际上是在重新分配{{1} }每次都设为相同的值。
因此,如果它进入while循环,就永远不会离开。

一种解决方案是将private_key_hex分配给一个列表,而不是private_key_dec循环,对这个列表使用while循环。 但是,为了对此更加准确,请详细说明接收数据的格式。