定义" while"的数量。循环完成?

时间:2015-10-25 02:23:19

标签: python

我希望在python中操作一个字符串,定义为:

bin = 5000

通过将while循环的每次运行减半。

我能想到的唯一解决方案是将while循环的数量定义为n并将字符串用作bin*(1/2)**n

如何定义n或者我应该寻找其他方法?

2 个答案:

答案 0 :(得分:1)

我不确定你要问的是什么,但这些是我提出的两个解决方案。如果你想在while循环的每次迭代中将字符串剪成一半,我会这样做:

string = 'x' * 5000
while len(string) != 1:  # can't be cut into whole number anymore
    string = string[:len(string)/2]

如果你试图简单地使用while循环将每个迭代的数字减半,我会这样做:

number = 5000
while number != 1:  #again, can't be cut into a whole number anymore
    number /= 2

答案 1 :(得分:0)

如果我正确理解你的问题,你只是希望while循环的条件是每次迭代都是一半的数字?如果是这样,我发布了一个如何做到这一点的例子。如果没有,请尝试重新解释您的问题。

while bin > 1:
    bin = bin * .5