Course A 201 Introduction to Programming 09302010 Outlines

  • Slides: 27
Download presentation
Course A 201: Introduction to Programming 09/30/2010

Course A 201: Introduction to Programming 09/30/2010

Outlines for this week • How to write for loops – Function range() –

Outlines for this week • How to write for loops – Function range() – Python membership operator: in – Write nested for loops to print out certain shapes • More on Strings – String Indexing – Function len() – String functions • Finish Part-1, understand what to do in Part-2

for loops vs while loops number = 1 While number< 11: print(number) count +=

for loops vs while loops number = 1 While number< 11: print(number) count += 1 number_list = range(1, 1) for number in number_list: print(number) The output will be exactly the same

Function range() [functions] You give me some inputs I give you some outputs back,

Function range() [functions] You give me some inputs I give you some outputs back, explicitly or implicitly input 1, input 2, input 3, … I am a function. I will perform a certain job. output 1, output 2, output 3, …

Function range() • Example of how to use range(): >>> range() ERROR! range expected

Function range() • Example of how to use range(): >>> range() ERROR! range expected at least 1 arguments >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> ans = range(10) >>> ans [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 10 is not included!

Function range() • So, we know that range() will require at least one argument,

Function range() • So, we know that range() will require at least one argument, let’s see how it works when there’re two: >>> range(3, 11) [3, 4, 5, 6, 7, 8, 9, 10] >>> range(-10, 1) [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0] >>> range(10, 1) Empty! when second argument is smaller than the first one, and there is no third argument. []

Function range() • Three arguments? >>> range(3, 11, 2) rd argument is the ‘step

Function range() • Three arguments? >>> range(3, 11, 2) rd argument is the ‘step argument’. The 3 [3, 5, 7, 9] The default value is 1. >>> range(10, 1, -1) [10, 9, 8, 7, 6, 5, 4, 3, 2] >>> range(-10, -1) Empty! [] >>> range(2, 8, 0) ERROR! range() step argument must not be zero

For loops name = “Linger Xu” for aa in name: print(aa) number_list = range(-10,

For loops name = “Linger Xu” for aa in name: print(aa) number_list = range(-10, 1) for number in number_list: print(number)

Python membership operator: in • The variable name is a string, “Linger Xu” [for

Python membership operator: in • The variable name is a string, “Linger Xu” [for aa in name] fetch every letter in this string sequentially, and put it into aa • The variable number_list contains a list of numbers: [for number in number_list ] fetch every number in this list sequentially, and put it into number Go throught every member of a specified sequence: -10, -9, -8, …

Python membership operator: in • user = “ 5198” if “ 1” in user:

Python membership operator: in • user = “ 5198” if “ 1” in user: print(“Number 1 is in”, user) if “ 0” not in user: print(“Number 0 is not in”, user) membership operator: in / not in

Python membership operator: in • The variable after in must be holding a sequence

Python membership operator: in • The variable after in must be holding a sequence of values, such as string and list. number_list = 9 for number in number_list: print(number) ERROR! 'int' object is not iterable

For loops • Finish first problem in Part 1 , Assignment 4 Write a

For loops • Finish first problem in Part 1 , Assignment 4 Write a program that counts for the user using a for loop as shown in class. Let the user enter the starting number, the ending number, and the amount by which to count.

Write nested for loops • How to print out: 1 1 1 2 2

Write nested for loops • How to print out: 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7

Write nested for loops row_size = 5 column_size = 7 for row in range(row_size):

Write nested for loops row_size = 5 column_size = 7 for row in range(row_size): for column in range(column_size ): print(column+1, end=“ ”) print() • Loop within a loop. Look out for indentation!!

Write nested for loops • What will happen if you indent the second print

Write nested for loops • What will happen if you indent the second print also? row_size = 5 column_size = 7 for row in range(row_size): for column in range(column_size ): print(column+1, end=“ ”) print()

Write nested for loops • How to print out: 1 2 3 4 5

Write nested for loops • How to print out: 1 2 3 4 5 1 2 3 4 5

Write nested for loops row_size = 5 column_size = 7 for row in range(row_size):

Write nested for loops row_size = 5 column_size = 7 for row in range(row_size): for column in range(column_size ): print(row+1, end=“ ”) print() • Just change column in 5 th line to row

Write nested for loops • Finish second problem in Part 1 , Assignment 4

Write nested for loops • Finish second problem in Part 1 , Assignment 4 Scalable Patterns: What do the following codes print? • Understand the 1 st problem in Part 2

String: Indexing • str=“killer rabbit” k i l l e r 0 1 2

String: Indexing • str=“killer rabbit” k i l l e r 0 1 2 3 4 5 -13 -12 -11 -10 -9 -8 r a b b i t 6 7 8 9 10 11 12 -7 -6 -5 -4 -3 -2 -1 • Ex: str[0] returns “k” str[1] returns “i” str[3] returns “l” str[-3] returns “b” str[-14] returns Error! Index out of range!

String: Indexing • Try this program (in textbook Chapter 4): import random word =

String: Indexing • Try this program (in textbook Chapter 4): import random word = "index" print("The word is: ", word, "n“) high = len(word) low = -len(word) for i in range(10): position = random. randrange(low, high) print("word[", position, "]t", word[position])

String: Indexing • Count the occurrence of one letter in a string str 1=“killer

String: Indexing • Count the occurrence of one letter in a string str 1=“killer rabbit” target =“i” count = 0 for letter in str 1: if letter == target: count += 1 print(“There’re ” + str(count) + “ ‘i‘s in string: ” + str(str 1) )

Function len() • Return an integer that represents how many elements are there in

Function len() • Return an integer that represents how many elements are there in this specified sequence >>> user = input(“Type a word: “) >>> user = “I like Python. ” >>> len(user) 14 >>> user = “ 5198” >>> len(user) 4

String: methods quote = "I like Python. “ • quote. upper() -> capitalize everything

String: methods quote = "I like Python. “ • quote. upper() -> capitalize everything –“I LIKE PYTHON. ” • quote. lower() -> small letter everything –“I like python. ” • quote. title() -> capitalize the first letter of every word –“I Like Python. ”

String: methods quote = "I like Python. “ • quote. strip() -> removes spaces,

String: methods quote = "I like Python. “ • quote. strip() -> removes spaces, tabs, newlines before and after • quote. replace(“like”, “dislike programming in”) –“I dislike programming in Python. ” • Try quote. center(50)

String methods vs Built-in functions • When you want to use a string method,

String methods vs Built-in functions • When you want to use a string method, you’ve got to use the dot “. ”: >>> quote = "I like Python. " >>> quote. upper() 'I LIKE PYTHON. ' >>> upper(quote) <- Error! • While built-in function >>> len(quote) >>> range(10)

String: Indexing and slicing • Understand the 2 nd and 3 rd problem in

String: Indexing and slicing • Understand the 2 nd and 3 rd problem in Part 2

Have a nice evening! See you tomorrow~

Have a nice evening! See you tomorrow~