Integer Division with Ceil:
Swapping Array Portions:
Description: Rather than using any loop, make use of array slicing.
Description: Without using math module, getting the ceil functionality. The condition when evaluated to True, gets converted into 1 (in terms of integer) and added to result. When it is evaluated to False, gets converted to 0. Click here for reference thread.
def num_buses(n):
""" (int) -> int
Precondition: n >= 0
Return the minimum number of buses required to transport n people.
Each bus can hold 50 people.
>>> num_buses(75)
2
"""
assert n>0
return (n//50)+(n%50>0)
Swapping Array Portions:
Description: Rather than using any loop, make use of array slicing.
def swap_k(L, k):
""" (list, int) -> NoneType
Precondtion: 0 <= k <= len(L) // 2
Swap the first k items of L with the last k items of L.
>>> nums = [1, 2, 3, 4, 5, 6]
>>> swap_k(nums, 2)
>>> nums
[5, 6, 3, 4, 1, 2]
"""
assert 0 <= k <= len(L) // 2
start_block = L[:k]
end_block = L[-k:]
L[:k] = end_block
L[-k:] = start_block