1/26
Looks like no tags are added yet.
[Python Basics] for loop vs. while loop
A for loop runs once per item in a sequence. A while loop repeats as long as its condition is True.
total = 0
for n in [1, 2, 3]:
total += n
print(total) # → 6
n = 10
steps = 0
while n > 1:
n //= 2
steps += 1
print(steps) # → 3
[Python Basics] Mutable default argument pitfall
def f(items=[]) shares ONE list across every call. Use def f(items=None) and create the list inside the function.
def add_bad(item, items=[]):
items.append(item)
return items
print(add_bad(1)) # → [1]
print(add_bad(2)) # → [1, 2] ← the same list was reused!
def add_good(item, items=None):
if items is None:
items = []
items.append(item)
return items
print(add_good(1)) # → [1]
print(add_good(2)) # → [2]