/
Strings, part 2 Strings, part 2

Strings, part 2 - PowerPoint Presentation

min-jolicoeur
min-jolicoeur . @min-jolicoeur
Follow
380 views
Uploaded On 2017-01-28

Strings, part 2 - PPT Presentation

Victor Norman CS104 Calvin College Itembased vs Indexbased Iteration itembased for ltitemgt in ltsequencegt ltitemgt is each item in the sequence indexbased for lt idx ID: 515095

item print string based print item based string code idx index function cheeses sequence write weirder len def remove range resstr activity

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Strings, part 2" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Strings, part 2

Victor Norman

CS104

Calvin CollegeSlide2

Item-based

vs

Index-based Iteration

item-based:

for <item> in <sequence>:

<item> is each item in the sequence.

index-based:

for <

idx

> in range(

len

(<sequence>)):

code in the body has the index of what item to deal with, as

someSeq

[

idx

]).Slide3

Examples of each

Item-based

for cheese in cheeses:

print(cheese)

Index-based

for

idx

in range(

len

(cheeses)):

print(cheeses[

idx

])Slide4

When to use which?

item-based:

simpler syntax, easier to read.

use when code does not need to know where the item is in the sequence.

index-based:

harder to read.

a

ccessing the item is more complicated (using indexing operator).

code can know where the item is in the sequence.

code can access other items around the item.Slide5

Example

What if we want to print out the items from a list

cheeses

like this:

Cheddar

Gouda

Venezuelan Beaver Cheese

Need to use index-based:Slide6

Example continued

for

idx

in range(

len

(cheeses)):

#

idx

starts at 0, but we want to

# print out as if indices start at 1,

# so add 1.

print(

str

(

idx

+ 1) + “.”, cheeses[

idx

])Slide7

Accumulator Pattern

resStr

= “”

for

ch

in

someStr

:

if

somethingAbout

(

ch

):

resStr

=

resStr

+

ch

Used item-based, because didn’t care about where we were in the string.

someStr

is a sequence, so syntax is legal.

results accumulated in

resStrSlide8

Whiteboard activity

Given this string:

message = “greetings from the planet

zorgon

write

code to print this

out. (Use split().)

greetings

from

the

planet

zorgonSlide9

Whiteboard Activity

Write the following function that returns a string that is the same as

s

except that spaces are removed.

def

remove_spaces

(s):Slide10

while Loop vs

Index-Based for Loop

(Suppose s is a string or a list.)

for

i

in range(

len

(s)):

code here uses s[

i

]

i

= 0

while

i

<

len

(s):

use s[

i

]

i

=

i

+ 1 # better:

i

+= 1Slide11

in

and

not in

very useful for searching a string to see if

a sub-string

is in the string or not.

returns Boolean: so you know if the target is in the string, but don’t know where.

if “wherefore” in

hamletText

:

print(“art thou”)Slide12

Optional Parameters

Terminology:

parameters may be optional in the

call

.

in function definition, optional

params

must appear on the end of the parameter list.

indicated by being given a

default value

.

Code in the function is exactly the same.Slide13

Examples

def

weird(a, b, c=3):

return a + b + c

print(weird(3, 7))

print(weird(3, 7, 44))

def

weirder(a=3, b=4, c=5):

return a + b + c

print(weirder())

print(weirder(7))

print(weirder(7, 8))

print(weirder(7, 8, 9))Slide14

Examples

def

something(a, b, debug=False):

res = a + b

if debug:

print(“something returning “ + res)

return res

x = something(44, -10)

x = something(44, -10, True) # turn on debuggingSlide15

Activity

Write a function that removes certain letters from a given string. If no letters are given, it removes all vowels (not including y). You can assume everything is lowercase. The result is returned.

def

remove_chars

(s, <stuff>): # remove from s

Slide16

Activity continued

Given a string s, write code to call your function on s to remove all vowels. Then, write a function call to remove all letters from a to f, inclusive. Print the results.Slide17

Assignment