1. Write a function f1(list)
that will return the number of odd elements in a given list.
>>> f1([1,2,3,4]) 2 >>> f1([1,2,3,4,5]) 3
def f1(list): count = 0 for i in range(0, len(list)): if list[i] % 2 == 1: count = count + 1 return count
2. Write a function f2(list)
that will print each odd element in a given list.
>>> f2([1,2,3,4]) 1 3 >>> f2([1,2,3,4,5]) 1 3 5
def f2(list): for i in range(0, len(list)): if list[i] % 2 == 1: print(list[i])
3. Write a function f3(list)
that will return the sum of all odd elements in a given list.
>>> f3([1,2,3,4]) 4 >>> f3([1,2,3,4,5]) 9
def f3(list): sum = 0 for i in range(0, len(list)): if list[i] % 2 == 1: sum = sum + list[i] return sum
4. Write a function f4(list)
that will return the sum of all the index positions whose corresponding element is odd in a given list.
>>> f4([1,2,3,4]) 2 >>> f4([1,2,3,4,5]) 6
def f4(list): sum = 0 for i in range(0, len(list)): if list[i] % 2 == 1: sum = sum + i return sum
5. Write a function f5(list)
that will return the same list where each element has been squared.
>>> f5([1,2,3,4]) [1, 4, 9, 16] >>> f4([1,2,3,4,5]) [1, 4, 9, 16, 25]
def f5(list): for i in range(0, len(list)): list[i] = list[i] ** 2 return list
6. Write a function f6(list)
that will return the largest number in a given list.
>>> f6([1,2,3,4]) 4 >>> f6([1,2,3,4,5]) 5
def f6(list): largest = list[0] for i in range(0, len(list)): if largest < list[i]: largest = list[i] return largest
7. Write a function f7(list)
that will return the average of all the numbers in a given list.
>>> f7([1,2,3,4]) 2.5 >>> f7([1,2,3,4,5]) 3.0
def f7(list): sum = 0 for i in range(0, len(list)): sum = sum + list[i] return sum / len(list)
8. Write a function f8(a,b,n)
that will print all the numbers divisible by n
within the range a
and b
inclusive. Assume n
is positive.
>>> f8(1,10,2) 2 4 6 8 10 >>> f8(1,10,11) >>> f8(1,10,7) 7
def f8(n): for i in range(a, b+1): if i % n == 0: print(i)
9. Write a function f9(width,height)
that will print an ASCII rectangle with the given width and height.
>>> f9(0,1) >>> f9(10,0) >>> f9(1,1) * >>> f9(1,2) * * >>> f9(5,5) ***** ***** ***** ***** *****
def f9(width, height): for i in range(0, height): for j in range(0, width): print("*", end="") print()
10. Write a function f10(n)
that will print a triangle with the given height n
. Assume n
is nonnegative.
>>> f10(1) * >>> f10(2) * ** >>> f10(3) * ** ***
def f10(n): for i in range(0, n): for j in range(0, i+1): print("*", end="") print()
11. Write a function f11(list)
that will return True
if the list is sorted in descending order and False
otherwise. Return True
for the empty list.
>>> f11([]) True >>> f11([5,4,3,2,1]) True >>> f11([5,4,3,2,0]) True >>> f11([5,4,5,2]) False
def f11(list): for i in range(0, len(list)-1): if list[i] < list[i+1]: return False return True
12. Write a function f12(list)
that will return True
if the list consists of all negative numbers and False
otherwise. Return True
for the empty list.
>>> f12([]) True >>> f12([-1,-2,-3,-4,5]) False >>> f12([1,2,3,4,5]) False >>> f12([-1,-2,-3]) True
def f12(list): for i in range(0, len(list)): if list[i] > 0: return False return True
13. Write a function f13(list,target)
that will return the index of the last occurrence of target in the list. Assume the list is nonempty and always contains the target.
>>> f13([1,2,3], 3) 2 >>> f13([1,2,3,1,2,3], 3) 5 >>> f13([1,1,1,1], 1) 3
def f13(list, target): last_index = 0 for i in range(0, len(list)): if list[i] == target: last_index = i return last_index
14. Write a function f14(list)
that will return the index of the last negative number in the list. Assume the list is nonempty and always contains a negative number.
>>> f14([1,2,-3]) 2 >>> f14([1,-2,-3,1,-2,-3]) 5 >>> f14([-1,1,1,1]) 0
def f14(list): last_index = 0 for i in range(0, len(list)): if list[i] < 0: last_index = i return last_index
15. Write a function f15(list)
that will return the sum of all the elements at even index positions.
>>> f15([1,2,-3]) -2 >>> f15([1,-2,-3,1,-2,-3]) -4 >>> f15([-1,1,1,1]) 0
def f15(list): i = 0 sum = 0 while i < len(list): sum = sum + list[i] i = i + 2 return sum
16. Write a function f16(n)
that will print out an upside down triangle.
>>> f16(3) *** ** * >>> f16(2) ** * >>> f16(1) *
def f16(n): for i in range(0, n): for j in range(0, n-i): print("*", end="") print()
17. Write a function f17(list)
that will print out every other element in a list in reverse order.
>>> f17([1,2,3,4,5,6]) 6 4 2 >>> f17([1,2,3,4]) 4 2 >>> f17([1]) 1
def f17(list): i = len(list)-1 while i >= 0 print(list[i]) i = i - 2
18. Write a function f18(n)
that will return n!
>>> f18(0) 1 >>> f18(2) 2 >>> f18(3) 6
def f18(n): factorial = 1 for i in range(1, n+1): factorial = factorial * i return factorial
19. Write a function f19(matrix)
that will print the sum of each row of the matrix.
>>> f19([[1,0],[0,1]]) 1 1 >>> f19([[1,2,3],[4,5,6]]) 6 15 >>> f19([[1],[2],[3],[4]]) 1 2 3 4
def f19(matrix): for row in range(0, len(matrix)): sum = 0 for col in range(0, len(matrix[row])): sum = sum + matrix[row][col] print(sum)
20. Write a function f20(matrix)
that will print the diagonals of the matrix. Assume the matrix is a square.
>>> f20([[1,0],[0,1]]) 1 1 >>> f20([[1,2,3],[4,5,6],[7,8,9]]) 1 5 9 >>> f20([[1]]) 1
def f20(matrix): for row in range(0, len(matrix)): for col in range(0, len(matrix[row])): if row == col: print(matrix[row][col])
21. Write a function f21(list)
that will print the factorial of each element of a given list.
>>> f21([]) >>> f21([1,2,3]) 1 2 6 >>> f21([1,2,3,4]) 1 2 6 24
def f21(list): for i in range(0, len(list)): factorial = 1 for j in range(1, list[i]+1): factorial = factorial * j print(factorial)
22. Write a function f22(list)
that will print a countdown starting from each element to zero for a given list.
>>> f22([]) >>> f22([1,3,5]) 1 0 3 2 1 0 5 4 3 2 1 0 >>> f22([5,3,6,2]) 5 4 3 2 1 0 3 2 1 0 6 5 4 3 2 1 0 2 1 0
def f22(list): for i in range(0, len(list)): countdown = list[i] while countdown >= 0: print(countdown, end=" ") countdown = countdown - 1 print()
23. Write a function f23(list1, list2)
that will return a new list where each index in the new list corresponds to list1[index] + list2[index]
. Assume list1
and list2
are the same length.
>>> f23([], []) [] >>> f23([1,2,3], [1,2,3]) [2, 4, 6] >>> f23([0,0,0], [1,2,3]) [1, 2, 3]
def f23(list1, list2): list3 = [] for i in range(0, len(list1)): list3.append(list1[i] + list2[i]) return list3
24. Write a function f24(n)
that will print all the numbers from 1 to n
inclusive that is a multiple of 2 or 3.
>>> f24(10) 2 3 4 6 8 9 10 >>> f24(1) >>> f24(3) 2 3
def f24(n): for i in range(1, n+1): if i % 2 == 0 or i % 3 == 0: print(i)
25. Write a function f25(list)
that will return the largest value in the list (of all the nested lists inside list). Note that list
is a nested list. Assume list starts with a nonempty list.
>>> f25([[1,2,3],[4,5,6],[7,8,9]]) 9 >>> f25([[3,2,1],[0,-1,-2]]) 3 >>> f25([[1,2,3,4],[],[34],[],[],[56],[67]]) 67
def f25(list): largest = list[0][0] for i in range(0, len(list)): for j in range(0, len(list[i])): if list[i][j] > largest: largest = list[i][j] return largest
26. Write a function f26(list)
that will return the second largest value in the list. Assume that the elements of list are all unique and it contains at least 2 elements.
>>> f26([1,4,3,2,5]) 4 >>> f26([3,2]) 2 >>> f26([3,4]) 3
def f26(list): largest = max(list[0], list[1]) second_largest = min(list[0], list[1]) for i in range(0, len(list)): if list[i] > largest: second_largest = largest largest = list[i] elif list[i] > second_largest: second_largest = list[i] return second_largest
27. Write a function f27(n)
that will return the leftmost digit in n
. Assume n
is positive.
>>> f27(1234) 1 >>> f27(4321) 4 >>> f27(3) 3
def f27(n): q = n while q >= 10: q = q // 10 return q
28. Write a function f28(list)
that will print the largest value of each of the nested lists in the given list. Note that list
is a nested list. Assume each nested list in the given list is not empty.
>>> f28([[1,2,3],[4,5,6],[7,8,9]]) 3 6 9 >>> f28([[3,2,1],[0,-1,-2]]) 3 0 >>> f28([[1,2,3,4],[1],[34],[2],[3],[56],[67]]) 4 1 34 2 3 56 67
def f28(list): for i in range(0, len(list)): max_value = list[i][0] for j in range(0, len(list[i])): if max_value < list[i][j]: max_value = list[i][j] print(max_value)