11.11. Multiple Choice QuestionsΒΆ
- val = aTuple[1:2][1]
- Incorrect! Running this code would result in an error. Try again.
- val = aTuple[2][1]
- Incorrect! This would access the value 15. Try again.
- val = aTuple[1:2](1)
- Incorrect! Running this code would result in an error. Try again.
- val = aTuple[1][1]
- Correct! This first goes to the second item in the tuple, then grabs the second item from the list, which is 20.
11-9-1: Which of the following would complete val =
to set val
to 20 by slicing aTuple
.
aTuple = ("Orange", (10, 20, 30), (5, 15, 25))
val =
- True
- Correct! You can create tuples using tuple packing which requires no parentheses.
- False
- Incorrect! Parentheses are not always necessary. Try again.
11-9-2: True or False? A python tuple can be created without using any parentheses.
- list
- Incorrect! A list would use []. Try again.
- tuple
- Incorrect! To create a tuple with a single item, there must be a comma after the first item. Try again.
- array
- Incorrect! Arrays do not exist in Python. Try again.
- str
- Correct! To create a tuple with a single item, there must be a comma after the first item.
11-9-3: What type will be printed when the following code executes?
aTuple = ("Orange")
print type(aTuple)
- ("Yellow", 20, "Red")
- Incorrect! Hint: think about how tuple assignment works. Try again.
- Yellow
- Correct! Tuple assignment makes the first value of the tuple equal to a.
- 20
- Incorrect! Hint: think about how tuple assignment works. Try again.
- Red
- Incorrect! Hint: think about how tuple assignment works. Try again.
11-9-4: What will the following code return?
def practice(tup):
a, b, c = tup
return a
aTuple = "Yellow", 20, "Red"
practice(aTuple)
- Nothing, it will cause an error.
- Correct! A tuple is immutable, therefore you cannot change its values.
- (100, 800, 200, 300, 400, 500)
- Incorrect! Remember, tuples are immutable. Try again.
- (800, 100, 200, 300, 400, 500)
- Incorrect! Remember, tuples are immutable. Try again.
- (100, 200, 800, 300, 400, 500)
- Incorrect! Remember, tuples are immutable. Try again.
11-9-5: What will the following code return?
def tuple_indexing(tup):
tup[1] = 800
return tup
aTuple = (100, 200, 300, 400, 500)
print(tuple_indexing(aTuple))
- i, ii
- Incorrect! ii will cause an error because the highest index in tupl1 is 4. Try again.
- ii, iv
- Incorrect! ii will cause an error because the highest index in tupl1 is 4. Try again.
- i, iv
- Incorrect! i will output all items besides the last, whereas iv will output all items besides the first. Try again.
- i, iii
- Correct! These two options will both output all the items in the tuple except for the last one.
11-9-6: Which of the following options will produce the same output?
tupl1 = (5, 3, 1, 9, 0)
# options i, ii, iii, or iv
i) print(tup1[:-1])
ii) print(tup1[0:5])
iii) print(tupl1[0:4])
iv) print(tupl1[-4:])
- True
- Incorrect! When the first numbers in both tuples are equal, the comparison operator will move on to the next pair of numbers. Try again.
- False
- Correct! The compiler will look at the first pair of different numbers, then decide whether it is true or false depending on that pair.
11-9-7: What is returned when the following code is run?
def tuple_comparison(tup1, tup2):
return tup1 < tup2
tup1 = (66, 4, 17, 4)
tup2 = (66, 4, 16, 5)
tuple_comarison(tup1, tup2)
- Error, tuple slicing doesn't exist
- Incorrect! Tuple slicing does exist. Try again.
- [2, 3, 4]
- Incorrect! The output will be in the form of a tuple. Try again.
- (2, 3, 4)
- Incorrect! The value of -1 means to stop after the second to last item. Try again.
- (2, 3)
- Correct! This tuple slicing grabs the second item all the way to the second to last item.
11-9-8: What is printed when the following code is run?
a = (1, 2, 3, 4)
print(a[1:-1])
- KeyError
- Incorrect! A KeyError is raised when you try to access a dictionary with a key that doesn't yet exist. Try again.
- TypeError
- Incorrect! A TypeError is raised when you attempt to call a function or use an operator on something of the incorrect type. Try again.
- Shape Error
- Correct! Shape errors are more likely to occur when working with compound data structures.
11-9-9: What is the name of an error caused when a data structure has the wrong type, size, or composition?
- have
- Incorrect! This would be printed if in line 3 we called print(x) instead. Try again.
- ['have', 'fun']
- Incorrect! Hint: think about how tuple assignment works and apply that knowledge to lists. Try again.
- fun
- Correct! y is associated with the last value of tuple m.
- ('have', 'fun')
- Incorrect! This is the original tuple, but the function returns the second element of the tuple.
11-9-10: What is printed when the following code is run?
def practice(m):
m = list(m)
x, y = m
return y
m = ('have', 'fun')
print(practice(m))
- ['2', '3', '30', '8']
- This returns a list with the strings sorted in ascending order.
- ['2', '3', '8', '30']
- Incorrect, this would be the right order for numbers, but not for strings.
- ['30', '8', '3', '2']
- This would be correct if it was sorting numbers in descending order.
- ['8', '30', '3', '2']
- This would be correct if it was sorting in descending order.
11-9-11: What is printed when the following code is run?
tup = ('30', '3', '2', '8')
print(sorted(tup))
- ['2', '3', '30', '8']
- This would be true if it sorted the strings in ascending order.
- ['2', '3', '8', '30']
- This would be correct if if was sorting numbers in ascending order.
- ['30', '8', '3', '2']
- This would be correct if it was sorting numbers in descending order.
- ['8', '30', '3', '2']
- It sorts the strings in descending order.
11-9-12: What is printed when the following code is run?
tup = ('30', '3', '2', '8')
print(sorted(tup), reverse = True)
- [2, 3, 30, 8]
- This would be true if the values were strings and it sorted in ascending order.
- [2, 3, 8, 30]
- This would be correct if the values were sorted in ascending order.
- [30, 8, 3, 2]
- It sorts the numbers in descending order.
- [8, 30, 3, 2]
- This would be correcdt if the values were strings.
11-9-13: What is printed when the following code is run?
tup = (30, 3, 2, 8)
print(sorted(tup), reverse = True)