course a201: introduction to programming 09/30/2010

27
Course A201: Introduction to Programming 09/30/2010

Upload: lorraine-stanley

Post on 14-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Course A201:Introduction to Programming

09/30/2010

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)

String: Indexing and slicing

• Understand the 2nd and 3rd problem in Part2

Have a nice evening! See you tomorrow~