How to Calculate Powers of 2 in Python

The challenge

Complete the function that takes a non-negative integer n as input, and returns a list of all the powers of 2 with the exponent ranging from 0 to n (inclusive).

Examples

n = 0 ==> [1] # [2^0] n = 1 ==> [1, 2] # [2^0, 2^1] n = 2 ==> [1, 2, 4] # [2^0, 2^1, 2^2]
Code language: Python (python)

The solution in Python code

Option 1:

def powers_of_two(n): out = [] for i in range(n+1): out.append(2**i) return out
Code language: Python (python)

Option 2:

def powers_of_two(n): return [2**i for i in range(n+1)]
Code language: Python (python)

Option 3:

def powers_of_two(n): return [1<<x for x in range(n + 1)]
Code language: Python (python)

Test cases to validate our solution

import test from solution import powers_of_two @test.describe("Fixed Tests") def fixed_tests(): @test.it('Basic Test Cases') def basic_test_cases(): test.assert_equals(powers_of_two(0), [1]) test.assert_equals(powers_of_two(1), [1, 2]) test.assert_equals(powers_of_two(4), [1, 2, 4, 8, 16])
Code language: Python (python)
Tags:
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments