course a201: introduction to programming 09/30/2010
TRANSCRIPT
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 = 1While number< 11:
print(number) count += 1
number_list = range(1, 11, 1)for number in number_list:
print(number)
The output will be exactly the same
Function range()
[functions]
I am a function.I will perform a
certain job.
input1, input2, input3, …
output1, output2, output3, …
You give me some inputs
I give you some outputs back, explicitly or implicitly
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, 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)[3, 5, 7, 9]>>> range(10, 1, -1)[10, 9, 8, 7, 6, 5, 4, 3, 2] >>> range(-10, -1, -1)[]>>> range(2, 8, 0)ERROR! range() step argument must not be zero
Empty!
The 3rd argument is the ‘step argument’. The default value is 1.
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 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:
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 of values, such as string and list.
number_list = 9for number in number_list:
print(number)
ERROR! 'int' object is not iterable
For loops
• Finish first problem in Part1 , 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 2 3 4 5 6 71 2 3 4 5 6 71 2 3 4 5 6 71 2 3 4 5 6 71 2 3 4 5 6 7
Write nested for loops
row_size = 5column_size = 7for 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 also?
row_size = 5column_size = 7for 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 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5
Write nested for loops
row_size = 5column_size = 7for row in range(row_size):
for column in range(column_size ):print(row+1, end=“ ”)
print()
• Just change column in 5th line to row
Write nested for loops
• Finish second problem in Part1 , Assignment 4
Scalable Patterns: What do the following codes print?
• Understand the 1st problem in Part2
String: Indexing
• str=“killer rabbit”
• 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!
k i l l e r r a b b i t0 1 2 3 4 5 6 7 8 9 10 11 12
-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
String: Indexing
• Try this program (in textbook Chapter 4):import randomword = "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
str1=“killer rabbit”target =“i”count = 0for letter in str1:
if letter == target:count += 1
print(“There’re ” + str(count) + “ ‘i‘s in string: ” + str(str1) )
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
–“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, 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, 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)