Write Python code which starts with the number 1 and then displays the result of halving the previous number until the result is less than 0.001.
The expected output should be: 1.0 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625 0.001953125
ive tried a couple different things , still learning how to code , but i cant figure out what im missing
basenum = 1.000
endnum = 0.001
print(basenum)
while basenum > endnum:
basenum //=2
print(basenum)
how would i get it to work?
CodePudding user response:
Your problem is that you added an extra / in the line basenum //=2.
This should instead be basenum /= 2.
In Python, /= is similar to =, -=, and *=, where it modifies the variable on the left by the number on the right, in this case through divison.
Instead, //= is floor division. This is why you got the result of 1 and then 0, as 1 divide 2 is 0.5, which is then floored to 0.


