Follow me to learn 🐍 Python in 5-minute a day fun quizzes!
Todays quiz is all about sequences and unpacking them. When you deal with list-type objects or tuples, sequence unpacking come to help! In this quiz guess a proper usage to unpack function arguments and print out user's score!
Sample 1
def process_data(*data):
name, age, *scores = data
print(f"Name: {name}, Age: {age}, Scores: {scores}")
process_data("Alice", 30, 75, 85, 90)
Sample 2
def process_data(*data):
name, *age, scores = data
print(f"Name: {name}, Age: {age}, Scores: {scores}")
process_data("Bob", 25, 80, 70, 95)
Which code snippet is correct? Post your answer in the comments – is it 0 for the first sample or 1 for the second! As usual, the correct answer will be explained later in comments.
Top comments (1)
The correct answer is Sample 1.
In Sample 1, the function
process_data
uses the unpacking feature of Python to neatly extract a name, an age, and a list of scores from the given arguments. The syntaxname, age, *scores = data
correctly assigns the first two elements of the data to name and age, and the rest of the elements to scores as a list.Sample 2, however, incorrectly attempts to unpack the data.
This quiz is based on Python's sequence unpacking, which allows for a flexible and readable way to assign values from sequences (like lists or tuples) to variables. This feature is covered in various Python Enhancement Proposals (PEPs) related to tuple unpacking and extended iterable unpacking, such as PEP 3132.