Class 30 — November 7
You are so controlling
While I can go on – I do not repeat myself – Always a new way
Look both ways
Agenda
- Consider module development
- Problem solve
- Appreciate Fall 2018 art gallery
Want to be a TA next semester
- Fill out for the application
Time to redownload
- url.py — adds web dictionary support
Problem
- Design a module translate.py to support text translation.
- Design a very simple tester que_pasa.py for module translate.py.
- Sample translation text phrases
links
est la baguette fraiche
dubailte dubailte kesusahan und guaio
umlilo adolebitque und ketel bombolla
umucu di una pantanoso neidr
dans der ketel bouyi und cuire
oog di tritons und kaki di rano
yun di fledermoyz und lingua di chien
viperae foarke und blyn cuc stik
moo fotur und ovlet tis
pre eng viehatys di voimakas guaio
mag un inferno salda bouyi und bombolla
Module of the day aid.py
- Complete the implementation of three functions. Simple tester program abet.py is available to help you test your module
aid
functions.
- None of your functions should get input or print output.
- Examine and think about algorithms for the problems. However, do not write any code before class.
Function
rotate( x )
- Updates list
x
by moving the last element of listx
(if any) to the beginning of listx
. This type of list transformation is often called a circular shift.
- In carrying out its action, the function neither returns anything nor prints anything — it only modify the contents of list
x
in place (e.g., by list-modification methods likepop()
,append()
, andinsert()
, or by directly modifying individual elements of listx
.
- The following code segment from abet.py demonstrates it usage.
x1 = []
x2 = [ 3 ]
x3 = [ 3, 1, 4, 1, 5, 9 ]
x4 = [ 'p', 'e', 'c', 'u', 'l', 'a', 't', 'i', 'o', 'n', 's' ]
aid.rotate( x1 ) ; print( x1 )
aid.rotate( x2 ) ; print( x2 )
aid.rotate( x3 ) ; print( x3 )
aid.rotate( x4 ) ; print( x4 )
- The segment produces as output:
[]
[3]
[9, 3, 1, 4, 1, 5]
['s', 'p', 'e', 'c', 'u', 'l', 'a', 't', 'i', 'o', 'n']
Function
rotate_k_times( x, k )
- Updates list
x
by performingk
circular shifts.
- In carrying out its action, the function neither returns anything nor prints anything — it only modify the contents of the list
x
in place. The following code segment from abet.py demonstrates it usage.
x1 = []
x2 = [ 3 ]
x3 = [ 3, 1, 4, 1, 5, 9 ]
x4 = [ 'p', 'e', 'c', 'u', 'l', 'a', 't', 'i', 'o', 'n', 's' ]
aid.rotate_k_times( x1, 2 ) ; print( x1 )
aid.rotate_k_times( x2, 3 ) ; print( x2 )
aid.rotate_k_times( x3, 4 ) ; print( x3 )
aid.rotate_k_times( x4 ,5 ) ; print( x4 )
- The segment produces as output:
[]
[3]
[4, 1, 5, 9, 3, 1]
['t', 'i', 'o', 'n', 's', 'p', 'e', 'c', 'u', 'l', 'a']
Function
common( x, y )
- Returns a new list whose elements are those elements in
x
that are also iny
. The ordering of elements in the return list should reflect their ordering inx
.
- The function does not modify parameters
x
andy
in any way.
- The following code segment from abet.py demonstrates it usage.
x1 = [] ; y1 = []
x2 = [ 3 ] ; y2 = []
x3 = [ 1 ] ; y3 = [ 3, 1, 4 ]
x4 = [ 2, 7, 1, 8, 2, 8, 1, 8 ] ; y4 = [ 2, 8, 4, 5, 9, ]
z = aid.common( x1, y1 ) ; print( z )
z = aid.common( x2, y2 ) ; print( z )
z = aid.common( x3, y3 ) ; print( z )
z = aid.common( x4, y4 ) ; print( z )
- The segment produces as output:
[]
[]
[1]
[2, 8, 2, 8, 8]
To do
- Examine parameter passing nuances for next class
- Review homework solutions to prepare for the test
- Assignment 16: same_difference.py
- Assignment 17: do_you_relate.py
- Assignment 18: olio.py
- Assignment 19: take_two.py
- Assignment 20: magnificent.py
- Assignment 21: quad.py
© 2019 Jim Cohoon | Resources from previous semesters are available. |