将每个连续数字循环减半

时间:2014-09-11 18:08:40

标签: python python-2.7 loops encoding python-idle

将一个杯子倒入1/2满,然后1/4满,然后1/8满,依此类推。构造一个循环,计算在给定次数的倾倒后杯子的充满程度。

我的问题是如何在最后一个

之后将每个数字减半

到目前为止我已经

cup=0
while cup<1:
    print(cup, "cup is full")
    cup+=1/2

我只能添加1/2,并告诉我杯子满了。

3 个答案:

答案 0 :(得分:1)

你的杯子应该<1>开始 1.然后每次倒水时应该cup *= 0.5,因为你在每次倒水时从杯子中减去一半的内容,通过它的声音(而不是填满一个空杯子。)

答案 1 :(得分:0)

amount_to_fill = .5
current_fill = 0
loops = 10
for i in range(loops):
    current_fill += amount_to_fill
    amount_to_fill /= 2
print "cup is {}% full".format(current_fill*100)

答案 2 :(得分:0)

cup = 0
amountToFill = .5
count = 1

while cup < 1:
    print "#{} The cup is {} full".format(count, cup)
    cup += amountToFill
    amountToFill /= 2
    count += 1