Exercises
Default Values
3 tasks. Write the code, press Check, and the page runs it against a real Python interpreter.
Exercise 1Passed
Give greeting a default of Hello so greet("Ada") works on its own.
Python
def greet(name, greeting):
print(f"{greeting}, {name}")
greet("Ada")
greet("Ada", "Hi")A default goes in the parameter list, after the ones without.
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}")
greet("Ada")
greet("Ada", "Hi")Exercise 2Passed
Make save default to not overwriting, so the dangerous option has to be asked for.
Python
def save(data, overwrite):
return f"saving {data}, overwrite={overwrite}"
print(save("report"))
print(save("report", overwrite=True))Pick the value the caller would want most of the time.
def save(data, overwrite=False):
return f"saving {data}, overwrite={overwrite}"
print(save("report"))
print(save("report", overwrite=True))Exercise 3Passed
The empty list passed in gets replaced because the test uses truthiness. Fix it.
Python
def add(item, target=None):
if not target:
target = []
target.append(item)
return target
mine = []
add("a", mine)
print(mine)Absence and emptiness are different questions.
def add(item, target=None):
if target is None:
target = []
target.append(item)
return target
mine = []
add("a", mine)
print(mine)