#!/usr/bin/env python3 peeps = {123: ['last', 'first', 32], 445: ['vast', 'birst', 44], 557: ['gast', 'kirst', 56]} peeps[445][0] = 'ok' peeps[557][1] = 'dokay' msg = 'This is a test. This is a test.' words = msg.split(' ') tot = len(words) tot2 = len(msg) def sum(x): total = 0 for y in x: total += len(y) w = 3 ww = 3.14 www = 4 # 3.1 False # 3.2 False # 3.3 0 # 3.4 True # 3.5 f # 3.6 True # 3.7 T # 3.8 False # 3.9 1 # 3.1 8 # 3.11 last # 3.12 None # 3.13 1.5 # 3.14 This # 3.15 8 # 3.16 32 # 3.17 16 # 3.18 5 + 3 # 3.19 False # 3.2 None # 3.21 False # 3.22 1 #4.1) add an item 'hello' to words words.append('hello') #4.2) print the summation of v[2] over all v in peeps # For some reason this code actually doesn't work # But I'm not going to ask this on the exam # The correct answer should be close to this however #sum([v[2] for v in peeps.values()]) #4.3) set www to be ww times w www = ww * w #4.4) print v[0] for each value v in peeps [print(v[0]) for v in peeps.values()] #4.5) print last letter in msg print(msg[-1]) #4.6) count how many times 'i' occurs in msg, print the result print(msg.count('i')) #4.7) set ww to be 3.14159 ww = 3.14159 #4.8) print last item in words print(words[-1]) # 5.1) Parameter is a list of numbers, return the summation of the numbers def sum_numbers(nums): total = 0 for num in nums: total = total + num return total # 5.2) Parameter is an integer n, print integers from 1 up to n def print_numbers(n): for i in range(1,n): print(n) # 5.3) Parameter is a string, return how many times - is in the string def count_dashes(s): return s.count('-') # 5.4) Parameters a filename f and string s - open f for writing, write string s to it, close file def write_string(f, s): try: fd = open(f) fd.write(s) fd.close() except: # It would be rare that we would get an exception here. print('There was an error writing to the file.') # 5.5) Parameters are string s and letter l, return index of first occurrence of l in s (or -1 if not present) def first_ocurrence(s, l): for i in range(len(s)): if s[i] == l: return i # The letter was not found return -1 # 6.1 def selection_sort(arr): for i in range(len(arr)-1): # index of the minimum value minx = i for j in range(i+1, len(arr)): if arr[j] < arr[minx]: minx = j # Swap values tmp = arr[minx] arr[minx] = arr[i] arr[i] = tmp print('i = ', i, arr) L = [1, 2, 3, 6, 5, 4] selection_sort(L) # i = 0 [1, 2, 3, 6, 5, 4] # i = 1 [1, 2, 3, 6, 5, 4] # i = 2 [1, 2, 3, 6, 5, 4] # i = 3 [1, 2, 3, 4, 5, 6] # i = 4 [1, 2, 3, 4, 5, 6] # 6.2) Base convert algorithm def convertToBase(x, b): ans = '' while x > 0: # We can just add print statements to verify the output ans = str(x % b) + ans print('x%b= ', x%b) x = x // b print(x) return ans print(convertToBase(35, 2)) # Write what x is each time it changes, and x%b each time it gives a new digit of the answer # x: 35, 17, 8, 4, 2, 1, 0 # x % b: 1, 1, 0, 0, 0, 1 # Final value printed to screen: 100011