How would you write this procedure?
--8<---cut here---start->8---
def powers_of_2_in(n):
s = 0
while "I still find factors of 2 in n...":
q, r = divmod(n, 2)
if r == 0:
s = s + 1
n = n // 2
else:
return s, n
--8<---c
def powers_of_2_in(n):
s = 0
while n % 2 == 0:
s += 1
n = n // 2
return s, n
> On 30 Nov 2023, at 02:44, Julieta Shem via Python-list
> wrote:
>
> How would you write this procedure?
>
> --8<---cut here---start->8---
> def powers_
On 2023-11-29 at 21:44:01 -0300,
Julieta Shem via Python-list wrote:
> How would you write this procedure?
>
> --8<---cut here---start->8---
> def powers_of_2_in(n):
> s = 0
> while "I still find factors of 2 in n...":
> q, r = divmod(n, 2)
> if r
Julieta Shem writes:
How would you write this procedure?
def powers_of_2_in(n):
...
def powers_of_2_in(n):
return (n ^ (n - 1)).bit_count() - 1
--
https://mail.python.org/mailman/listinfo/python-list
Alan Bawden ha scritto:
Julieta Shem writes:
How would you write this procedure?
def powers_of_2_in(n):
...
def powers_of_2_in(n):
return (n ^ (n - 1)).bit_count() - 1
Great solution, unfortunately the return value is not a tuple as in the
OP version. Maybe in this way?
Dom Grigonis ha scritto:
def powers_of_2_in(n):
s = 0
while n % 2 == 0:
s += 1
n = n // 2
return s, n
Good solution, unfortunately if the input data is zero, the function
never ends.
On 30 Nov 2023, at 02:44, Julieta Shem via Python-list
wrote:
How would y
jak writes:
Alan Bawden ha scritto:
> Julieta Shem writes:
>
> How would you write this procedure?
> def powers_of_2_in(n):
> ...
>
> def powers_of_2_in(n):
> return (n ^ (n - 1)).bit_count() - 1
>
Great solution, unfortunately the return va