Download Fri 12/2 slides - UC Davis Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Theoretical computer science wikipedia , lookup

Data analysis wikipedia , lookup

Pattern recognition wikipedia , lookup

Corecursion wikipedia , lookup

Transcript
12/2/11
12/2/11
Announcements
Functions
Functions
Final - Mon Dec 5, 8-10AM, this room.
Similar to Midterm 2; two programs.
  Bring a Scantron.
  Open book, notes, programs. No computers,
phones.
  Office hours Sunday, 1-3 1131 KEMPER
def twoChars(myStr, i):
if i < 0 or i > len(myStr)-2:
return “”
one = myStr[i]
two = myStr[i+1]
return(one+two)
def setUpList():
L = []
for i in
range(4):
L = L + [i]return L
def setUpList():
numbers = setUpList() print(numbers)
 
 
NOTE: This
example will be
relevant to final.
def main():
s = twoChars(“Edith”,2)
print(s)
main()
ECS 10
What does this
print?
12/2
What to review
 
Using a dictionary
Combined data structures
  List
  Putting
  Dictionary
data in
  Getting data out
  Changing data
 
 
  Creating
 
of lists
Functions
  Calling
functions
data in
data out
  Local variables
  Global variables
Using a list
  Passing
  Putting
  Passing
data in
  Getting data out
  Changing data
Materials
Functions
You’re responsible for what was covered in lecture.
Review slides. Readings in book.
  Emphasis on things in programming assignments.
  Go over programs we did in class, solutions to
programs. Do you understand every line?
  Last year’s final is on SmartSite, and a program for
the problem we’ll do today. Also we’ll post
Michael’s Solution to Armen’s tic-tac-toe problem,
and I’ll post solution to last year’s final MC.
def initX():
x = 10
def main():
print(x)
main()
 
Functions
Functions
def setUpList():
L = []
for i in
range(4):
L = L + [i]return L
def setUpList():
numbers = setUpList() print(numbers)
def setUpList():
L = []
for i in
range(4):
L = L + [i]return L
def setUpList(L1):
numbers = setUpList() print(numbers)
L = []
for i in range(4):
L.append(i)
def main():
setUpList()
print(L)
main()
where values are lists
L = []
for i in range(4):
L.append(i)
return L
def main():
numbers = setUpList()
print(numbers)
main()
 
 
What does it print?
What if it was….
 
What does it print?
What if it was….
 
What does it print?
 
for i in range(4):
L1.append(i)
def main():
L = []
setUpList(L)
print(L)
main()
List indexing
What does this
do?
L = [5,7,2,6,3]
averages = []
____________:
avg = (L[i]+L[i+1])/2
averages.append(avg)
print(averages)
1
Prints [6, 4.5, 4, 4.5]
What could fill in the
blank?
2
12/2/11
Putting things into a dictionary
For on a dictionary
Band = {}
Band[“Anders”] = “tuba”
Band[“Ho”] = “flute”
Band[“Moon”] = “tuba”
L = []
___________________
__________________
L.append( [instrument, name] )
L.sort()
Programming problems
 
12/2/11
Program structure
What could fill in
the blanks?
 
Three functions:
  Loop1
  Loop2
Thanks!
 
Thank you all, and see you Monday!
(file read, build data structure),
(use data structure to produce output),
  Main.
  What
is the data structure? What should go into and
out of each function?
Yelp
Build a program out of parts:
  Read
a file and build a dictionary, possibly combining
items.
  Read
a file and build a list (or list of lists)
user input and look up item in a dictionary
dictionary items into a list
  Sort a list
  Write an output file, or write dictionary contents out to
a file.
  Get
  Put
The job – make a top ten list
 
Input is long file of user rankings
  Each
line has restaurant, number of stars
order
  Arbitrary
 
 
Get average number of stars per restaurant
Output restaurant with best average
An algorithm
Read file, store in dictionary using restaurant name
as key.
  Values are [total stars, number of ratings]
  When we get a new rating for restaurant,
 
  Create
  Add
 
Average number of stars
new dictionary entry if necessary
to total stars, number of ratings for the restaurant
 
For loop on dictionary
 
Sort the list to get top ten
  Compute
  (total
stars) / (number of ratings)
  Example: ***, **, ****, ** = (3+2+4+2) / 4 = 2.75
  Put
average for each restaurant
[avg, restaurant name] into a list
3
4