Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Last Week Looping through strings Lists List methods Nested Lists This Week • For loops and range for lists • Strings versus Lists • Aliasing • While loops Visiting the Items in a List L Visiting the items in a the list English: for each item in L statements using item Python: sum = 0 for item in L: sum = sum + item For Loops -- Revisited L1 = [1, 2, 3, 4] L2 = [‘A’, ‘B’, ‘C’, ‘D’] Want to print each element from L1 followed by the corresponding element from L2. for num in L1: print(num, ??) # How do we print the item from L2? Loop over indices: for index in [0, 1, 2, 3]: print(L1[index], L2[index]) For Loops -- Revisited L1 = [1, 2, 3, 4, …, 100] L2 = [‘A’, ‘B’, ‘C’, ‘D’, …, ‘Z’, ‘a’, …, ‘z’, …] Want to print each element from L1 followed by the corresponding element from L2. for num in L1: print(num, ??) # How do we print the item from L2? Loop over indices: Don’t want to write all the numbers from 0 – 100!! for index in ??: print(L1[index], L2[index]) For Loops -- Revisited Want to create a list of numbers from 0-100. >>> L = [0, 1, 2, 3, 4, …, 99, 100] Is there an easier way to do this? >>> >>> >>> >>> >>> L = range(0, 101) L range(0, 101) list(L) [0, 1, 2, 3, 4, …, 99, 100] Range >>> >>> >>> >>> >>> L = range(0, 101) L range(0, 101) list(range(0, 1010)) [0, 1, 2, 3, 4, …, 99, 100] range(start, stop[,step]) • • • • returns a list of integers beginning with start to the last integer before stop. start can be omitted and defaults to 0 step can be omitted and defaults to 1 For Loops -- Revisited L1 = [1, 2, 3, 4, …, 100] L2 = [‘A’, ‘B’, ‘C’, ‘D’, …, ‘Z’, ‘a’, …, ‘z’, …] Want to print each element from L1 followed by the corresponding element from L2. for index in range(0, len(L1)): print(L1[index], L2[index]) Lists vs. Strings • Lists and strings both have functions and methods. • Lists can be changed, strings cannot be changed. • new_string = old_string – creates a new copy of old_string – we now have two different strings with the same content. – we cannot change the strings (we can change the content of the variables) • new_list = old_list – does not create a new copy – new_list and old_list store the same list – changing one changes the other Aliasing Alias: an assumed or additional name. squares = [0, 1, 4, 9, 16, 25, 36] squares_copy = squares squares.append(49) Q. What is squares now? squares_copy? squares == [0, 1, 4, 9, 16, 25, 36, 49] squares_copy == [0, 1, 4, 9, 16, 25, 36, 49] Aliasing Pictorally square square_copy [0, 1, 4, 9, 16, 25, 36] square_slice = square[4:7] [16, 25, 36] Slicing creates a new object. While Loops Sometimes we need to loop until a condition is met. For example: – Ask user for a password twice – If the passwords don’t match, ask again until they match or the user quits While Loop Example English example: Ask for password. Ask for password again. While the passwords don’t match: Ask again. While Loop Example Python example: password1 = input(‘Enter password: ’) Ask for password again. While the passwords don’t match: Ask again. While Loop Example Python example: password1 = input(‘Enter password: ’) password2 = input(‘Re-enter password: ’) While the passwords don’t match: Ask again. While Loop Example Python example: password1 = input(‘Enter password: ’) password2 = input(‘Re-enter password: ’) while password1 != password2: Ask again. While Loop Example Python example: password1 = input(‘Enter password: ’) password2 = input(‘Re-enter password: ’) while password1 != password2: password2 = input(‘Re-enter password:’)