PIC 16: Iterators and Generators
|
|
- Collin O’Brien’
- 5 years ago
- Views:
Transcription
1 PIC 16: Iterators and Generators Assigned 10/9/2018. To be completed before lecture 10/12/2018. Intended Learning Outcomes. By the end of this preparatory assignment, students should be able to: implement iterator behavior in custom classes so they can be looped through using the same convenient syntax as built-in containers; use generator functions to create iterators easily, and use generator expressions to create simple generators. Tasks. Read 9.9. The concepts may seem confusing and convoluted at first, but the explanation in the tutorial is actually very clear and concise, so try to follow it line by line. If that doesn t work, here are some (verbose) thoughts that might help. We re learning to write the blueprint for our own container objects, that is, objects that contain multiple elements that we can access individually and iterate over in a for loop. Python lists, tuples, sets, and dictionaries are all built-in container objects. Now we are trying to create our own. Our custom container might have a built-in container object as an instance variable. For instance, the tutorial s Reverse class has an instance variable data that is already a container. In this case, we just need to write some code that tells a for loop how to iterate over that instance variable. The simplest sort of container object will have its own next method that, when called, returns to the for loop the next element in the container. When there are no more elements in the container, it raises a StopIteration exception (see 8.4) instead of returning an element. The for loop terminates when it gets this exception. In general, however, the container object does not need to have its own next method. Instead, it may assign the job of picking the next element to a separate object, called an iterator. An iterator is any object that defines a suitable next method. When an iterator object s next method is invoked, the method should return the next element of some collection - whatever that may mean. How the next method is written defines the order in which the elements of a collection are iterated over in a for loop. Your collection appoints an iterator by defining an iter method that returns an instance of an iterator object. 1
2 If the collection has its own next method, the collection s iter method can return self; the container will serve as its own iterator. Note that in the tutorial s example, the Reverse class is both the container and the iterator object. But in general, the iterator can be a separate object from the container. If you are understand all this, you might ask Wouldn t it be simpler if containers were just required to have their own next method that the for loop would call? What is the use of first getting an iterator object from an iter method (which could just be the container object itself) and then invoking that object s next method? You ll see in the assignment. The following code might help clarrify the fact that for loops use iterators in Python. def myfor(container, dothisonelement): iterator = iter(container) keepgoing = True while keepgoing: element = iterator.next() dothisonelement(element) keepgoing = False def p(x): print x, l = [0,1,2,3] s = "hello" t = (6,6,6,"the number of the beast") myfor(l,p); myfor(s,p); myfor(t,p) Read and understand the following code (which continues on the next page). It will not run as written because self.i = 0 is commented out twice. Uncomment each individually, and observe how the code runs. Explain it to yourself. class ThreeElementContainer: def init (self, a = 0, b = 0, c = 0): #self.i = 0 self.a = a self.b = b self.c = c def iter (self): #self.i = 0 print "iter called" return self 2
3 #continued... def next(self): print "next called" if self.i == 0: el = self.a elif self.i == 1: el = self.b elif self.i == 2: el = self.c else: print "raised StopIteration" raise StopIteration self.i += 1 return el def str (self): return "[" + str(self.a) + ", " + str(self.b) + ", " + str(self.c) + "]" c = ThreeElementContainer(5,10,15) print c, "\n" Read Here s the example above using a generator... class ThreeElementContainer: def init (self, a = 0, b = 0, c = 0): self.a = a self.b = b self.c = c def iter (self): print "iter called" return self.generator() def generator(self): print "1st yield" yield self.a print "2nd yield" yield self.b print "3rd yield" yield self.c print "post 3rd yield" 3
4 def str (self): return "[" + str(self.a) + ", " + str(self.b) + ", " + str(self.c) + "]" c = ThreeElementContainer(5,10,15) print c, "\n" Do two for loops work correctly? Write a generator every_other(data) that yields every other element of the data. The test code: for char in every_other("supercalifragilisticexpialidocious"): print char, should print: s p r a i r g l s i e p a i o i u. Read Note the first example might come in handy in the MathVector assignment. The examples don t make clear exactly how generator expressions work because they immediately apply a function to the generator expressions. Maybe the following will help... r = 1-1.0/8888 N = genexp1 = (r**i for i in xrange(0,n)) genexp2 = (r**i for i in xrange(0,n)) genexp3 = (r**i for i in xrange(0,n)) genexp4 = (r**i for i in xrange(0,n)) print genexp1, genexp2 print genexp3, genexp4 for i in xrange(10): print genexp1.next() == r**i, print "\n" print sum(genexp2) print genexp3.next() print sum(genexp3) print sum(genexp4) genexp4.next() 4
5 xrange is iterable exactly like range, but it avoids creating a list: l = range(3) i = iter(l) print l, type(l) print type(i) print i.next(), i.next(), i.next() i.next() x = xrange(3) j = iter(x) print x, type(x) print type(j) print j.next(), j.next(), j.next() j.next() Create the same generator every_other (as above) in a single line using a lambda function and a generator expression. Especially if you are totally confused, you might find these other references useful: Remove the next method and index instance variable from the Reverse class from the tutorial. Write a new class, ReverseIterator, that serves as an iterator for the Reverse class. Modify the iter method of the Reverse class accordingly so that the test code from the tutorial (for char in Reverse('spam'): print char) still works. 5
Advanced topics, part 2
CS 1 Introduction to Computer Programming Lecture 24: December 5, 2012 Advanced topics, part 2 Last time Advanced topics, lecture 1 recursion first-class functions lambda expressions higher-order functions
More informationLecture #15: Generic Functions and Expressivity. Last modified: Wed Mar 1 15:51: CS61A: Lecture #16 1
Lecture #15: Generic Functions and Expressivity Last modified: Wed Mar 1 15:51:48 2017 CS61A: Lecture #16 1 Consider the function find: Generic Programming def find(l, x, k): """Return the index in L of
More informationLecture 27. Lecture 27: Regular Expressions and Python Identifiers
Lecture 27 Lecture 27: Regular Expressions and Python Identifiers Python Syntax Python syntax makes very few restrictions on the ways that we can name our variables, functions, and classes. Variables names
More informationLecture #16: Generic Functions and Expressivity. Last modified: Fri Feb 26 19:16: CS61A: Lecture #16 1
Lecture #16: Generic Functions and Expressivity Last modified: Fri Feb 26 19:16:38 2016 CS61A: Lecture #16 1 Consider the function find: Generic Programming def find(l, x, k): """Return the index in L
More informationCME 193: Introduction to Scientific Python Lecture 6: Classes and iterators
CME 193: Introduction to Scientific Python Lecture 6: Classes and iterators Sven Schmit stanford.edu/~schmit/cme193 6: Classes and iterators 6-1 Contents Classes Generators and Iterators Exercises 6: Classes
More informationIntro. Scheme Basics. scm> 5 5. scm>
Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if
More informationBe careful when deciding whether to represent data as integers or floats, and be sure that you consider all possible behaviors in computation.
Table of Contents: 1. Integers and floats 2. for vs. while loops 3. Checking boolean conditions with if/else 4. Docstrings 5. Changing collections while iterating over them 6. Directly Accessing Instance
More informationPython iterators and generators
Python iterators and generators Iterators and generators Python makes good use of iterators And has a special kind of generator function that is powerful and useful We ll look at what both are And why
More informationDelayed Expressions Fall 2017 Discussion 9: November 8, Iterables and Iterators. For Loops. Other Iterable Uses
CS 6A Delayed Expressions Fall 07 Discussion 9: November 8, 07 Iterables and Iterators An iterable is any container that can be processed sequentially. Examples include lists, tuples, strings, and dictionaries.
More informationIterators & Generators
Iterators & Generators Sequences A sequence is something that you can: Index into Get the length of What are some examples of sequences? Sequences We ve been working with sequences all semester! Examples:
More informationIterators and Generators
Iterators and Generators it ain't your gramps' loop any more 2005 Alex Martelli aleaxit@gmail.com Python Iteration Protocol the old way: "for x in y:..." used to mean: at each leg of the loop: y got indexed
More informationCS1 Lecture 22 Mar. 6, 2019
CS1 Lecture 22 Mar. 6, 2019 HW 5 due Friday Questions? In discussion exams next week Last time Ch 12. Zip, lambda, etc Default/keyword function parameters Ch 19 conditional expresssions, list comprehensions
More informationBeyond Blocks: Python Session #1
Beyond Blocks: Session #1 CS10 Spring 2013 Thursday, April 30, 2013 Michael Ball Beyond Blocks : : Session #1 by Michael Ball adapted from Glenn Sugden is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
More informationText Input and Conditionals
Text Input and Conditionals Text Input Many programs allow the user to enter information, like a username and password. Python makes taking input from the user seamless with a single line of code: input()
More informationIntroduction to Scientific Python, CME 193 Jan. 9, web.stanford.edu/~ermartin/teaching/cme193-winter15
1 LECTURE 1: INTRO Introduction to Scientific Python, CME 193 Jan. 9, 2014 web.stanford.edu/~ermartin/teaching/cme193-winter15 Eileen Martin Some slides are from Sven Schmit s Fall 14 slides 2 Course Details
More informationComputational Mathematics with Python
Numerical Analysis, Lund University, 2015 1 Computational Mathematics with Python Unit 7: Object oriented programming with classes Numerical Analysis, Lund University Lecturer: Claus Führer 2015 Classes
More informationA Brief Introduction to Python for those who know Java. (Last extensive revision: Daniel Moroz, fall 2015)
A Brief Introduction to Python for those who know Java (Last extensive revision: Daniel Moroz, fall 2015) Plan Day 1 Baby steps History, Python environments, Docs Absolute Fundamentals Objects, Types Math
More informationComputational Mathematics with Python
Numerical Analysis, Lund University, 2012 1 Computational Mathematics with Python Unit 8: Object oriented programming with classes Numerical Analysis, Lund University Claus Führer, Olivier Verdier, Tony
More informationTAIL RECURSION, SCOPE, AND PROJECT 4 11
TAIL RECURSION, SCOPE, AND PROJECT 4 11 COMPUTER SCIENCE 61A Noveber 12, 2012 1 Tail Recursion Today we will look at Tail Recursion and Tail Call Optimizations in Scheme, and how they relate to iteration
More informationProgramming for Engineers in Python
Programming for Engineers in Python Lecture 5: Object Oriented Programming Autumn 2011-12 1 Lecture 4 Highlights Tuples, Dictionaries Sorting Lists Modular programming Data analysis: text categorization
More informationCS1 Lecture 3 Jan. 18, 2019
CS1 Lecture 3 Jan. 18, 2019 Office hours for Prof. Cremer and for TAs have been posted. Locations will change check class website regularly First homework assignment will be available Monday evening, due
More informationCircuitPython 101: Working with Lists, Iterators and Generators
CircuitPython 101: Working with Lists, Iterators and Generators Created by Dave Astels Last updated on 2018-11-01 12:06:56 PM UTC Guide Contents Guide Contents Overview List Functions Slicing Filtering
More informationcallback, iterators, and generators
callback, iterators, and generators 1 Adding a Callback Function a function for Newton s method a function of the user to process results 2 A Newton Iterator defining a counter class refactoring the Newton
More informationIntro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming
Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals
More informationCME 193: Introduction to Scientific Python Lecture 1: Introduction
CME 193: Introduction to Scientific Python Lecture 1: Introduction Nolan Skochdopole stanford.edu/class/cme193 1: Introduction 1-1 Contents Administration Introduction Basics Variables Control statements
More informationCS1 Lecture 3 Jan. 22, 2018
CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow
More informationVariables, expressions and statements
Variables, expressions and statements 2.1. Values and data types A value is one of the fundamental things like a letter or a number that a program manipulates. The values we have seen so far are 2 (the
More informationSelection Statement ( if )
Islamic University Of Gaza Faculty of Engineering Computer Engineering Department Lab 4 Selection Statement ( if ) Eng. Ibraheem Lubbad October 10, 2016 In this lab we will constructs program that allow
More informationPython review. 1 Python basics. References. CS 234 Naomi Nishimura
Python review CS 234 Naomi Nishimura The sections below indicate Python material, the degree to which it will be used in the course, and various resources you can use to review the material. You are not
More informationSlide Set 15 (Complete)
Slide Set 15 (Complete) for ENCM 339 Fall 2017 Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary November 2017 ENCM 339 Fall 2017
More informationTAIL CALLS, ITERATORS, AND GENERATORS 11
TAIL CALLS, ITERATORS, AND GENERATORS 11 COMPUTER SCIENCE 61A November 13, 214 1 Tail Calls Scheme implements tail-call optimization, which allows programmers to write recursive functions that use a constant
More informationAPT Session 2: Python
APT Session 2: Python Laurence Tratt Software Development Team 2017-10-20 1 / 17 http://soft-dev.org/ What to expect from this session: Python 1 What is Python? 2 Basic Python functionality. 2 / 17 http://soft-dev.org/
More informationITERATORS AND GENERATORS 10
ITERATORS AND GENERATORS COMPUTER SCIENCE 6A July 23, 25 Iterators An iterator is an object that tracks the position in a sequence of values. It can return an element at a time, and it is only good for
More informationDo not turn this page until you have received the signal to start.
CSCA08 Fall 2014 Final Exam Duration 160 minutes Aids allowed: none Student Number: A Instructor: Brian Harrington Last Name: First Name: UtorID (Markus Login): Do not turn this page until you have received
More informationAbout Variables in Python F E B 1 1 T H
About Variables in Python F E B 1 1 T H Range of floating point numbers What is the largest floating point number in Python? Unfortunately, there is no sys.maxfloat. Here is an interesting way to find
More informationCS108 Lecture 16: User Defined Classes. Overview/Questions
CS108 Lecture 16: User Defined Classes Aaron Stevens 23 February 2009 1 Overview/Questions Review: the function of functions Thinking about program structure Review: objects and classes How do we design
More informationWelcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1
Welcome to CS61A! This is a course about programming, which is the art and science of constructing artifacts ( programs ) that perform computations or interact with the physical world. To do this, we have
More informationPython Data Structures
Python Data Structures Zbigniew Jędrzejewski-Szmek George Mason University Python Summer School, Zürich, September 02, 2013 Version Zürich-83-gf79f32d This work is licensed under the Creative Commons CC
More informationPython I. Some material adapted from Upenn cmpe391 slides and other sources
Python I Some material adapted from Upenn cmpe391 slides and other sources Overview Names & Assignment Data types Sequences types: Lists, Tuples, and Strings Mutability Understanding Reference Semantics
More informationPython iterators and generators
Iterators and generators Python iterators and generators Python makes good use of iterators And has a special kind of generator func7on that is powerful and useful We ll look at what both are And why they
More informationCS 115 Lecture 8. Selection: the if statement. Neil Moore
CS 115 Lecture 8 Selection: the if statement Neil Moore Department of Computer Science University of Kentucky Lexington, Kentucky 40506 neil@cs.uky.edu 24 September 2015 Selection Sometime we want to execute
More informationDSC 201: Data Analysis & Visualization
DSC 201: Data Analysis & Visualization Classes Dr. David Koop Tuple, List, Dictionary, or Set? [1,2,"abc"] 2 Tuple, List, Dictionary, or Set? {"a", 1, 2} 3 Tuple, List, Dictionary, or Set? {} 4 Tuple,
More informationFundamentals of Programming (Python) Object-Oriented Programming. Ali Taheri Sharif University of Technology Spring 2018
Fundamentals of Programming (Python) Object-Oriented Programming Ali Taheri Sharif University of Technology Outline 1. Python Data Types 2. Classes and Objects 3. Defining Classes 4. Working with Objects
More informationPython. Tutorial Lecture for EE562 Artificial Intelligence for Engineers
Python Tutorial Lecture for EE562 Artificial Intelligence for Engineers 1 Why Python for AI? For many years, we used Lisp, because it handled lists and trees really well, had garbage collection, and didn
More informationdnaseq.py Introduction to Algorithms Recitation 9b October 12, 2011
dnaseq.py 1 # Maps integer keys to a set of arbitrary values. 2 class Multidict: 3 # Initializes a new multi-value dictionary, and adds any key-value # 2-tuples in the iterable sequence pairs to the data
More informationName & Recitation Section:
Name & Recitation Section: Due Thursday, Jan 13 at 2:10 PM in 34-101. Please print out your code files (homework 3.py, queue.py, and any code you wrote for optional problems), and staple them to the back
More informationTHE AUSTRALIAN NATIONAL UNIVERSITY Mid Semester Examination September COMP1730 / COMP6730 Programming for Scientists
THE AUSTRALIAN NATIONAL UNIVERSITY Mid Semester Examination September 2016 COMP1730 / COMP6730 Programming for Scientists Study Period: 15 minutes Time Allowed: 2 hours Permitted Materials: One A4 page
More informationThe Pyth Language. Administrivia
Administrivia The Pyth Language Lecture 5 Please make sure you have registered your team, created SSH keys as indicated on the admin page, and also have electronically registered with us as well. Prof.
More informationPRG PROGRAMMING ESSENTIALS. Lecture 2 Program flow, Conditionals, Loops
PRG PROGRAMMING ESSENTIALS 1 Lecture 2 Program flow, Conditionals, Loops https://cw.fel.cvut.cz/wiki/courses/be5b33prg/start Michal Reinštein Czech Technical University in Prague, Faculty of Electrical
More informationIAP Python - Lecture 2
IAP Python - Lecture 2 Evan Broder, Andrew Farrell MIT SIPB January 6, 2011 Higher Order Functions A function is a first-class object, so it can be returned from a function. def maketunk(n): def thunk():
More informationITERATORS, GENERATORS, GENERIC FUNCTIONS
ITERATORS, GENERATORS, GENERIC FUNCTIONS 9 COMPUTER SCIENCE 61A July 22, 2014 0.1 Warmup What Would Python Output? 1. >>> a = iter(range(2)) >>> a >>> next(a) 0 >>> next(a) 1 >>>
More informationCOMP1730/COMP6730 Programming for Scientists. Testing and Debugging.
COMP1730/COMP6730 Programming for Scientists Testing and Debugging. Overview * Testing * Debugging * Defensive Programming Overview of testing * There are many different types of testing - load testing,
More informationIntroduction to Concepts in Functional Programming. CS16: Introduction to Data Structures & Algorithms Spring 2017
Introduction to Concepts in Functional Programming CS16: Introduction to Data Structures & Algorithms Spring 2017 Outline Functions State Functions as building blocks Higher order functions Map Reduce
More informationDSC 201: Data Analysis & Visualization
DSC 201: Data Analysis & Visualization Arrays Dr. David Koop Class Example class Rectangle: def init (self, x, y, w, h): self.x = x self.y = y self.w = w self.h = h def set_corner(self, x, y): self.x =
More informationVariable and Data Type I
Islamic University Of Gaza Faculty of Engineering Computer Engineering Department Lab 2 Variable and Data Type I Eng. Ibraheem Lubbad September 24, 2016 Variable is reserved a location in memory to store
More informationCS Summer 2013
CS 1110 - Summer 2013 intro to programming -- how to think like a robot :) we use the Python* language (www.python.org) programming environments (many choices): Eclipse (free from www.eclipse.org), or
More informationGIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes
GIS 4653/5653: Spatial Programming and GIS More Python: Statements, Types, Functions, Modules, Classes Statement Syntax The if-elif-else statement Indentation and and colons are important Parentheses and
More informationObject Oriented Programming in Python 3
Object Oriented Programming in Python 3 Objects Python 3 Objects play a central role in the Python data model All the types we ve seen until now are in-fact objects Numeric types, strings, lists, tuples,
More informationITERATORS, GENERATORS, GENERIC FUNCTIONS
ITERATORS, GENERATORS, GENERIC FUNCTIONS 9 COMPUTER SCIENCE 61A July 22, 2014 0.1 Warmup What Would Python Output? 1. >>> a = iter(range(2)) >>> a >>> next(a) >>> next(a) >>> next(a) 1 Iterators An iterator
More informationLecture 8: Simple Calculator Application
Lecture 8: Simple Calculator Application Postfix Calculator Dr Kieran T. Herley Department of Computer Science University College Cork 2016/17 KH (27/02/17) Lecture 8: Simple Calculator Application 2016/17
More informationLecture 19. Operators and Abstraction
Lecture 19 Operators and Abstraction Announcements Reading Tuesday: Chapter 18 Thursday reading online Assignments A4 due tonight at Midnight 10 pts per day late Consultants available tonight A5 posted
More informationENGR 101 Engineering Design Workshop
ENGR 101 Engineering Design Workshop Lecture 2: Variables, Statements/Expressions, if-else Edgardo Molina City College of New York Literals, Variables, Data Types, Statements and Expressions Python as
More informationRACKET BASICS, ORDER OF EVALUATION, RECURSION 1
RACKET BASICS, ORDER OF EVALUATION, RECURSION 1 COMPUTER SCIENCE 61AS 1. What is functional programming? Give an example of a function below: Functional Programming In functional programming, you do not
More informationMidterm #1 Fall minutes
15-112 Midterm #1 Fall 2014 80 minutes Name: Andrew ID: @andrew.cmu.edu Section: INSTRUCTIONS You may not use any books, notes, or electronic devices during this exam. You may not ask questions about the
More informationCS S-02 Python 1. Most python references use examples involving spam, parrots (deceased), silly walks, and the like
CS662-2013S-02 Python 1 02-0: Python Name python comes from Monte Python s Flying Circus Most python references use examples involving spam, parrots (deceased), silly walks, and the like Interpreted language
More informationLoops and Conditionals. HORT Lecture 11 Instructor: Kranthi Varala
Loops and Conditionals HORT 59000 Lecture 11 Instructor: Kranthi Varala Relational Operators These operators compare the value of two expressions and returns a Boolean value. Beware of comparing across
More informationIterators and Generators
Iterators and Generators Alex Martelli AB Strakt 1 This Tutorial s Audience You have a good base knowledge of Python 2.* (say, 2.0 or 2.1) You may have no knowledge of iterators, generators, other 2.2
More informationIf Statements, For Loops, Functions
Fundamentals of Programming If Statements, For Loops, Functions Table of Contents Hello World Types of Variables Integers and Floats String Boolean Relational Operators Lists Conditionals If and Else Statements
More informationPython Interpreted language: work with an evaluator for language expressions (like DrJava, but more flexible) Dynamically typed
Full Python Tutorial Developed by Guido van Rossum in the early 1990s Named after Monty Python Available on eniac Available for download from http://www.python.org 2 Python Interpreted language: work with
More informationTable of Contents EVALUATION COPY
Table of Contents Introduction... 1-2 A Brief History of Python... 1-3 Python Versions... 1-4 Installing Python... 1-5 Environment Variables... 1-6 Executing Python from the Command Line... 1-7 IDLE...
More informationAbstract Data Types. CS 234, Fall Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples
Abstract Data Types CS 234, Fall 2017 Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples Data Types Data is stored in a computer as a sequence of binary digits:
More information61A LECTURE 22 TAIL CALLS, ITERATORS. Steven Tang and Eric Tzeng July 30, 2013
61A LECTURE 22 TAIL CALLS, ITERATORS Steven Tang and Eric Tzeng July 30, 2013 Announcements Homework 12 due Thursday, not Monday. Take the time to get started on the project instead! Almost done with Scheme
More informationCS 2316 Exam 1 Spring 2014
CS 2316 Exam 1 Spring 2014 Name : Grading TA: Integrity: By taking this exam, you pledge that this is your work and you have neither given nor received inappropriate help during the taking of this exam
More information\n is used in a string to indicate the newline character. An expression produces data. The simplest expression
Chapter 1 Summary Comments are indicated by a hash sign # (also known as the pound or number sign). Text to the right of the hash sign is ignored. (But, hash loses its special meaning if it is part of
More informationPython: Functions and Generators. Giuseppe Attardi
Python: Functions and Generators Giuseppe Attardi Functional Programming Slides by Felix Hernandez-Campos List Comprehensions >>> freshfruit = [' banana', ' loganberry ', 'passion fruit '] >>> [x.strip()
More informationIntro to Algorithms. Professor Kevin Gold
Intro to Algorithms Professor Kevin Gold What is an Algorithm? An algorithm is a procedure for producing outputs from inputs. A chocolate chip cookie recipe technically qualifies. An algorithm taught in
More informationRapid Application Development with
Rapid Application Development with Scripting: Higher Level Programming for the 21st Century (IEEE Computer, March 1998) http://home.pacbell.net/ouster/scripting.html python Scripting Languages vs. System
More informationITERATORS AND STREAMS 9
ITERATORS AND STREAMS 9 COMPUTER SCIENCE 61A November 12, 2015 1 Iterators An iterator is an object that tracks the position in a sequence of values. It can return an element at a time, and it is only
More informationStructure and Interpretation of Computer Programs
CS 61A Summer 2014 Structure and Interpretation of Computer Programs Final Solutions INSTRUCTIONS ˆ You have 3 hours to complete the exam. ˆ The exam is closed book, closed notes, and closed electronics,
More informationSTEAM Clown & Productions Copyright 2017 STEAM Clown. Page 1
What to add next time you are updating these slides Update slides to have more animation in the bullet lists Verify that each slide has stand alone speaker notes Page 1 Python 3 Running The Python Interpreter
More informationCIS192 Python Programming
CIS192 Python Programming Object Oriented Programming Harry Smith University of Pennsylvania February 15, 2016 Harry Smith (University of Pennsylvania) CIS 192 Lecture 5 February 15, 2016 1 / 26 Outline
More informationVariable and Data Type I
The Islamic University of Gaza Faculty of Engineering Dept. of Computer Engineering Intro. To Computers (LNGG 1003) Lab 2 Variable and Data Type I Eng. Ibraheem Lubbad February 18, 2017 Variable is reserved
More informationENVIRONMENT DIAGRAMS AND RECURSION 2
ENVIRONMENT DIAGRAMS AND RECURSION 2 COMPUTER SCIENCE 61A February 4, 2016 1 Environment Diagrams An environment diagram keeps track of all the variables that have been defined and the values they are
More informationConditionals and Recursion. Python Part 4
Conditionals and Recursion Python Part 4 Modulus Operator Yields the remainder when first operand is divided by the second. >>>remainder=7%3 >>>print (remainder) 1 Boolean expressions An expression that
More informationWeek - 01 Lecture - 04 Downloading and installing Python
Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and
More informationCS 61A/CS Mehrdad Niknami. University of California, Berkeley
CS 61A/CS 98-52 Mehrdad Niknami University of California, Berkeley Credits: Mostly a direct Python adaptation of Wizards and Warriors, a series by Eric Lippert, a principal developer of the C# compiler.
More informationLECTURE 6 Python Basics Part 5
LECTURE 6 Python Basics Part 5 LAST LECTURE We just covered basic Class usage in Python. Now, we ll look at some more advanced OOP concepts and tie up loose ends. After this lecture, we ll start looking
More informationCS Lecture 18: Card Tricks. Announcements. Slides by D. Gries, L. Lee, S. Marschner, W. White
CS 1110 Lecture 18: Card Tricks Announcements Slides by D. Gries, L. Lee, S. Marschner, W. White Quick poker primer Basic (straight) version: 5 random cards in your hand 2 of same rank: pair (e.g., 3C
More informationVisualize ComplexCities
Introduction to Python Chair of Information Architecture ETH Zürich February 22, 2013 First Steps Python Basics Conditionals Statements Loops User Input Functions Programming? Programming is the interaction
More informationMUTABLE LISTS AND DICTIONARIES 4
MUTABLE LISTS AND DICTIONARIES 4 COMPUTER SCIENCE 61A Sept. 24, 2012 1 Lists Lists are similar to tuples: the order of the data matters, their indices start at 0. The big difference is that lists are mutable
More informationINTERPRETERS 8. 1 Calculator COMPUTER SCIENCE 61A. November 3, 2016
INTERPRETERS 8 COMPUTER SCIENCE 61A November 3, 2016 1 Calculator We are beginning to dive into the realm of interpreting computer programs that is, writing programs that understand other programs. In
More informationCS1 Lecture 2 Jan. 16, 2019
CS1 Lecture 2 Jan. 16, 2019 Contacting me/tas by email You may send questions/comments to me/tas by email. For discussion section issues, sent to TA and me For homework or other issues send to me (your
More informationAI Programming CS S-02 Python
AI Programming CS662-2013S-02 Python David Galles Department of Computer Science University of San Francisco 02-0: Python Name python comes from Monte Python s Flying Circus Most python references use
More informationSequence types. str and bytes are sequence types Sequence types have several operations defined for them. Sequence Types. Python
Python Sequence Types Sequence types str and bytes are sequence types Sequence types have several operations defined for them Indexing Python Sequence Types Each element in a sequence can be extracted
More informationPython Basics. Lecture and Lab 5 Day Course. Python Basics
Python Basics Lecture and Lab 5 Day Course Course Overview Python, is an interpreted, object-oriented, high-level language that can get work done in a hurry. A tool that can improve all professionals ability
More informationCIS192 Python Programming
CIS192 Python Programming Iterators, Generators, IO, and Exceptions Harry Smith University of Pennsylvania February 15, 2018 Harry Smith (University of Pennsylvania) CIS 192 Lecture 5 February 15, 2018
More informationQuestion 0. Do not turn this page until you have received the signal to start.
CSCA08 Fall 2017 Final Exam Duration 170 minutes Aids allowed: none Last Name: Student Number: Markus Login: First Name: A Question 0. [1 mark] Carefully read and follow all instructions on this page,
More informationA Brief Introduction to Python for those who know Java Last extensive revision: Jie Gao, Fall 2018 Previous revisions: Daniel Moroz, Fall 2015
A Brief Introduction to Python for those who know Java Last extensive revision: Jie Gao, Fall 2018 Previous revisions: Daniel Moroz, Fall 2015 Meet the Mighty Python Plan Day 1 Baby steps History, Python
More informationPython Tutorial. CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi
Python Tutorial CS/CME/BioE/Biophys/BMI 279 Oct. 17, 2017 Rishi Bedi 1 Python2 vs Python3 Python syntax Data structures Functions Debugging Classes The NumPy Library Outline 2 Many examples adapted from
More informationS206E Lecture 19, 5/24/2016, Python an overview
S206E057 Spring 2016 Copyright 2016, Chiu-Shui Chan. All Rights Reserved. Global and local variables: differences between the two Global variable is usually declared at the start of the program, their
More information