Lecture 15: Dictionaries
|
|
- Bertram Simmons
- 5 years ago
- Views:
Transcription
1 Lecture 15: Dictionaries CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork
2 Summary Python s dictionary concept. 1
3 Dictionaries
4 Dictionaries Dictionary values container to capture associations between keys and Examples Number-word associations to english = {1: one, 2: two, 3: three } Location-temperature associations temp = { athenry : 6.0, ballyhaise : 5.0, casement : 6.0} Person-dob associations dob = { aishling : 1/1/1995, bob : 2/2/1996 } 2
5 Dictionary basics Creating a dictionary temp = { athenry : 6.0, ballyhaise : 5.0, casement : 6.0} Terminology Contains key-value pairs called items e.g. ("casement", 6.0) Values (here 6.0) can be anything (even lists, functions etc.) Keys e.g. casement (almost) any comparable type 1 Keys in dictionary must be distinct 1 Mutable ( changeable ) objects e.g. lists, dictionaries cannot be used as keys. 3
6 Dictionary basics Suppose d = {1: "one", 2: "two", 3: "three"} Code Result Explanation len(d) 3 Return the number if itels in dictionary. d[2] two Return the value of item with key specified key. d[17] KeyError Error if key is not in the dictionary (raises ); Use test k in d to check first. k in d True Return True if key k is present in dictionary d, False otherwise. 4
7 Changing dictionary contents Suppose d = {1: "one", 2: "two", 3: "three"} Code d[2] = "zwei" Explanation Update (key present): Re-associate key 2 with value zwei. Dictionary now {1: "one", 2: "zwei", 3: "three"} 5
8 Changing dictionary contents Suppose d = {1: "one", 2: "two", 3: "three"} Code d[2] = "zwei" Explanation Update (key present): Re-associate key 2 with value zwei. Dictionary now {1: "one", 2: "zwei", 3: "three"} d[7] = "seven" Insert (key absent): Add fresh item with key 4 and value four. Dictionary now {1: "one", 2: "zwei", 3: "three", 7: "seven"} 5
9 Dictionaries vs Lists Issue Structure to keep track of CS6507 marks Bad approach : parallel arrays names = [ tom, dick, harry ] results = [55, 70, 35] Better approach : dictionary marks = { tom : 55, dick : 70, harry : 35} 6
10 Dictionary applications
11 Literary interlude: Wuthering Heights in Morse code Task: write a function to translate a passage of text into Morse code Idea: Use a dictionary to capture letters and their Morse equivalents Process text character by character and for each look up and print the appropriate code 7
12 Representing the cpde MORSE = {"a": ".-", "b": "-...", "c": "-.-.", "d": "--.", "e" : ".", "f" : "..-.",... } 8
13 Translating into Morse code def generate morse( plain ): for ch in plain : if ch. isalpha (): print(morse[ch.lower()]) MORSE =... text = I have just returned from a visit to my landlord the solitary neighbour that I shall be troubled with.... generate morse( text) 9
14 Dictionary traversals Can use for loop walk through dictionary contents (keys): d = {1: one, 2: two, 3: three } for k in d: print(k) yields keys (one per line, in some order). 10
15 Dictionary traversals Can use for loop walk through dictionary contents (keys): d = {1: one, 2: two, 3: three } for k in d: print(k) yields keys (one per line, in some order). Python provides no guarantee that keys are handles in increasing order. 10
16 Dictionary traversals cont d Can also get values or items. Code d.keys() d.values() d.items() Explanation Return a new view of the dictionarys keys. Default. Return a new view of the dictionarys values. Return a new view of the dictionarys items ((key, value) pairs). Note: A view is a list-like object. To translate into a list, use e.g. list(d.keys()) 11
17 Letter frequency analysis Task: Analyze a body of English-language text and print the percentage of letters that are As, Bs and so on. Idea: Keep letter count data in dictionary (key = letter, value = number of appearances) Process text character maintaining the count of letters in dictionary Use letter-count data to determine and print percentages 12
18 Outline def analyze( text ): letter count = 0 freq = {} for c in text : # process a character updating freq and letter count # (ignore non letters and case differences ) # Run through contents of freq to print percentages 13
19 Updating freq Loop body: if c. isalpha (): letter count += 1 c upper = c.upper() if c upper in freq : freq [c upper] += 1 else : freq [c upper] = 1 14
20 Notes c.upper() returns copy of c with all lowercase letters translated in upper c.isalpha() returns True is c consists entirely of letters x in d returns True if key x appears in dictionary d if character already represented, just add one to its count if not, create new dictionary entry (key = character, value = 1) 15
21 Aside Python supports a conditional expresion feature e.g. judgement = pass if mark >= 40 else fail The RHS evaluates to either pass or fail dependeing on whether condition is True or False Could re-express freq update as follows: freq [c upper] = freq[c upper] + 1 if c upper in freq else 1 16
22 Printing percentages first approach for c in freq.keys (): percent = freq[c] 100 / letter count print( '%s': %4.2f%% % (c, percent)) Potential snag: dictionary traversals don t guarantee order. 17
23 Printing percentages better approach Workaround: iterate over sorted keys! 18
24 Printing percentages better approach Workaround: iterate over sorted keys! for c in sorted(freq.keys ()): percent = freq[c] 100 / letter count print( '%s': %4.2f%% % (c, percent)) Note: sorted(lst) returns a copy of list lst but in increasing order. Will see this later. 18
25 More dictionary functions
26 Some dictionary operations k in d d.get(k, dft) d.pop(k, dft) d.popitem() d.copy() Return True if d has a key k, else False. Return the value for k if k is in the dictionary, else dft. If dft is not given, it defaults to None, so that this method never raises a KeyError. If key k is in the dictionary, remove it and return its value, else return dft. If dft is not given and k is not in the dictionary, a KeyError is raised. Remove and return an arbitrary (key, value) pair from the dictionary. Return a shallow copy of the dictionary. Link: docs.python.org/3.4/library/stdtypes.html 19
27 Another dictionary application
28 Birthday analysis Task: Analyze date of birth data for group of individuals and identify clusters (of two or more) who share the same birthday Idea: Use dictionary to keep track of dates and the individuals who have birthdays on that date (Keys = dates, values = list of names) 20
29 The data classlist = [ [ Aoife, 1/1/1990 ], [ Barra, 2/2/1990 ],... [ Turlough, 3/6/1991 ] ] Assume data presented as list of pairs of names and dates of birth (as stings) 21
30 A useful helper function def day of year (date): # Return the day month prefix of parameter 'date' return date [: date. rfind ( / )] Treat as black box for now. 22
31 def common birthdays(persons): # Analyze list ' persons' and output the names of all clusters # of individuals that share a common birthday. Assume each # element of 'persons' is a name & date of birth pair. 1. Add each person to list indicated by his/her dob 2. Sweep through days and for each value (list of names) of len at least two print the date and the names in the list 23
32 Populating days dictionary days = {} for p in persons: name = p[0] dob = p[1] birthday = day of year(dob) if birthday not in days: days[ birthday ] = [name] else : days[ birthday ]. append(name) 24
33 Printing birthday clusters for d in days: names = days[d] if len(names) > 1: print( %s: % d, end = ) for n in names: print( %s % n, end = ) print() 25
34 Back Material
35 Notes and Acknowledgements Reading Code Acknowledgements 26
Lecture 11: while loops CS1068+ Introductory Programming in Python. for loop revisited. while loop. Summary. Dr Kieran T. Herley
Lecture 11: while loops CS1068+ Introductory Programming in Python Dr Kieran T. Herley Python s while loop. Summary Department of Computer Science University College Cork 2017-2018 KH (24/10/17) Lecture
More informationLecture 18: Lists II. CS1068+ Introductory Programming in Python. Dr Kieran T. Herley 2018/19. Department of Computer Science University College Cork
Lecture 18: Lists II CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary More on Python s lists. Sorting and reversing.
More informationLecture 10: Boolean Expressions
Lecture 10: Boolean Expressions CS1068+ Introductory Programming in Python Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (12/10/17) Lecture 10: Boolean Expressions
More informationLecture 4: Simple Input-Calculate-Output Programs
Lecture 4: Simple Input-Calculate-Output Programs CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2017/18 Department of Computer Science University College Cork input Statement Python s
More informationLecture 2: Writing Your Own Class Definition
Lecture 2: Writing Your Own Class Definition CS6507 Python Programming and Data Science Applications Dr Kieran T. Herley 2017-2018 Department of Computer Science University College Cork Summary Writing
More informationIntroduction to Python. Cathal Hoare
Introduction to Python Cathal Hoare Dictionaries We are familiar with dictionaries in the real world: Contains word definitions Creates associations between words and definitions Searchable Dictionaries
More informationLecture 2: SQL Basics CS1106/CS5021/CS6503 Introduction to Relational Databases. Brief Note on Naming Conventions. Our Running Example.
Lecture 2: SQL Basics CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T. Herley Summary Review of relation model. Simple SELECT-FROM and SIMPLE-FROM-WHERE queries. SQL s operators.
More informationLecture 7: Functions. CS1068+ Introductory Programming in Python. Dr Kieran T. Herley 2018/19. Department of Computer Science University College Cork
Lecture 7: Functions CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary Functions in Python. Terminology and execution.
More informationLecture 10: Strings. CS1068+ Introductory Programming in Python. Dr Kieran T. Herley 2018/19. Department of Computer Science University College Cork
Lecture 10: Strings CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary 1 Python text: data type str String sequences of
More informationLecture 2: SQL Basics
Lecture 2: SQL Basics CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (19/09/17) Lecture 2: SQL Basics
More informationCIS192: Python Programming Data Types & Comprehensions Harry Smith University of Pennsylvania September 6, 2017 Harry Smith (University of Pennsylvani
CIS192: Python Programming Data Types & Comprehensions Harry Smith University of Pennsylvania September 6, 2017 Harry Smith (University of Pennsylvania) CIS 192 Fall Lecture 2 September 6, 2017 1 / 34
More informationSets and Dictionaries. Modules and File I/O
Sets and Dictionaries Modules and File I/O get excited! CS 112 @ GMU Sets some allowed set values: numbers, strings, and tuples some disallowed set values: lists, dictionaries, other sets not allowed in
More informationChapter 2 Writing Simple Programs
Chapter 2 Writing Simple Programs Charles Severance Textbook: Python Programming: An Introduction to Computer Science, John Zelle (www.si182.com) Software Development Process Figure out the problem - for
More informationCS1 Lecture 11 Feb. 9, 2018
CS1 Lecture 11 Feb. 9, 2018 HW3 due Monday morning, 9:00am for #1 I don t care if you use 1, 2, or 3 loops. Most important is clear correct code for #3, make sure all legal situations are handled. Think
More informationPLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science
PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science DECEMBER 2009 EXAMINATIONS CSC 108 H1F Instructors: Gries, Horton, Zingaro Duration 3 hours PLEASE HAND IN Examination Aids: None Student
More informationModule 09: Additional Options for Organizing Data
Module 09: Additional Options for Organizing Data Topics: Dictionaries Classes Readings: ThinkP 11, 15, 16, 17 1 Collections of key-value pairs In CS115, you studied collections of key-value pairs, where
More informationLecture 4: SQL Data Manipulation Basics
Lecture 4: SQL Data Manipulation Basics Data Manipulation Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (26/09/17) Lecture 4: SQL Data Manipulation Basics 2017-2018
More informationLecture #12: Immutable and Mutable Data. Last modified: Mon Feb 22 16:33: CS61A: Lecture #12 1
Lecture #12: Immutable and Mutable Data Last modified: Mon Feb 22 16:33:22 2016 CS61A: Lecture #12 1 Listing Leaves def leaf_labels(tree): """A list of the labels of all leaves in TREE.""" Last modified:
More informationUNIVERSITY OF TORONTO SCARBOROUGH. December 2017 EXAMINATIONS. CSCA20H3 Duration 3 hours. Examination Aids: Instructor: Bretscher
PLEASE HAND IN UNIVERSITY OF TORONTO SCARBOROUGH December 2017 EXAMINATIONS CSCA20H3 Duration 3 hours PLEASE HAND IN Examination Aids: None Student Number: Last (Family) Name(s): First (Given) Name(s):
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 informationQuestion 1. December 2009 Final Examination Marking Scheme CSC 108 H1F
Question 1. [10 marks] Below are five segments of code. Each one runs without error. To the right of each segment, show the output it generates. L = [1, 2, 3, 4] for item in L: item = item * 5 print L
More informationPLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science
PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science APRIL 2012 EXAMINATIONS CSC 108 H1S Instructors: Campbell Duration 3 hours PLEASE HAND IN Examination Aids: None Student Number: Family
More informationAbstract Data Types Chapter 1
Abstract Data Types Chapter 1 Part Two Bags A bag is a basic container like a shopping bag that can be used to store collections. There are several variations: simple bag grab bag counting bag 2 Bag ADT
More informationCIS192 Python Programming
CIS192 Python Programming Data Types Joseph Cappadona University of Pennsylvania September 03, 2015 Joseph Cappadona (University of Pennsylvania) CIS 192 September 03, 2015 1 / 32 Outline 1 Data Types
More informationData Structures. Lists, Tuples, Sets, Dictionaries
Data Structures Lists, Tuples, Sets, Dictionaries Collections Programs work with simple values: integers, floats, booleans, strings Often, however, we need to work with collections of values (customers,
More informationCollections. Lists, Tuples, Sets, Dictionaries
Collections Lists, Tuples, Sets, Dictionaries Homework notes Homework 1 grades on canvas People mostly lost points for not reading the document carefully Didn t play again Didn t use Y/N for playing again
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College September 18, 2017 Outline Outline 1 Chapter 4: Linked Structures and Iterators Outline 1 Chapter 4: Linked Structures and
More informationLecture 14. Nested Lists and Dictionaries
Lecture 14 Nested Lists and Dictionaries Announcements for This Lecture Readings Today: Chapter 11 Next Week: Sec. 5.8-5.10 Prelim, Oct 12 th 7:30-9:00 Material up to TUESDAY Study guide is posted Review
More informationChapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines.
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 informationLecture 15-16: Intermediate Code-Generation
Lecture 15-16: Intermediate Code-Generation Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (16/11/17) Lecture 15-16: Intermediate Code-Generation 2017-2018 1 /
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 1: Relational Databases
Lecture 1: Relational Databases CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (12/09/17) Lecture 1: Relational
More informationSI Networked Computing: Storage, Communication, and Processing, Winter 2009
University of Michigan Deep Blue deepblue.lib.umich.edu 2009-01 SI 502 - Networked Computing: Storage, Communication, and Processing, Winter 2009 Severance, Charles Severance, C. (2008, December 19). Networked
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 informationLecture 3: More SQL Basics CS1106/CS5021/CS6503 Introduction to Relational Databases. Single-Criterion WHERE Conditions. SQL Conditions.
Lecture 3: More SQL Basics CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T. Herley Summary Composite conditions using AND, OR and NOT. The IN operator. Ordering results. Renaming
More informationLECTURE 3 Python Basics Part 2
LECTURE 3 Python Basics Part 2 FUNCTIONAL PROGRAMMING TOOLS Last time, we covered function concepts in depth. We also mentioned that Python allows for the use of a special kind of function, a lambda function.
More informationLast Name: First Name: Cornell NetID, all caps: CS 1110 Regular Prelim 1 Solutions March 2018
Last Name: First Name: Cornell NetID, all caps: CS 1110 Regular Prelim 1 Solutions March 2018 1. [7 points] What s the point? Consider the Point3 class as it was defined in lecture, with 3 attributes:
More informationDictionaries. Looking up English words in the dictionary. Python sequences and collections. Properties of sequences and collections
Looking up English words in the dictionary Comparing sequences to collections. Sequence : a group of things that come one after the other Collection : a group of (interesting) things brought together for
More informationLecture 2: Python Arithmetic
Lecture 2: Python Arithmetic CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Basic data types in Python Python data types Programs
More informationCS 1110 Prelim 2 November 10th, 2016
CS 1110 Prelim 2 November 10th, 2016 This 90-minute exam has 5 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need
More informationCS 1110: Introduction to Computing Using Python Loop Invariants
CS 1110: Introduction to Computing Using Python Lecture 21 Loop Invariants [Andersen, Gries, Lee, Marschner, Van Loan, White] Announcements Prelim 2 conflicts due by midnight tonight Lab 11 is out Due
More informationLecture 7. Memory in Python
Lecture 7 Memory in Python Announcements For This Lecture Readings Reread Chapter 3 No reading for Thursday Lab Work on Assignment Credit when submit A Nothing else to do Assignment Moved to Fri, Sep.
More informationQuestion 1. CSC A08 F Midterm Test Solutions Fall 2011
The next two questions involve the sound module that we used in the first assignment. At the end of the test, you ll find a list of the sound functions we learned about. Note that you may not need to use
More informationLecture 3: More SQL Basics
Lecture 3: More SQL Basics CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T. Herley Department of Computer Science University College Cork 2018/19 KH (11/09/18) Lecture 3: More SQL
More informationCS1 Lecture 13 Feb. 13, 2019
CS1 Lecture 13 Feb. 13, 2019 Exam 1, Thursday evening, 2/21, 6:30-8:00pm, W290 CB Email about make-ups will be sent tomorrow HW4 Q1 available. Q2 Q4 tomorrow. For Q1 only, Academic Honesty policy does
More informationCS 331/401 Summer 2018 Midterm Exam
CS 331/401 Summer 2018 Midterm Exam Instructions: This exam is closed-book, closed-notes. Computers of any kind are not permitted. For numbered, multiple-choice questions, fill your answer in the corresponding
More informationLecture 5: SQL s Data Definition Language
Lecture 5: SQL s Data Definition Language CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (29/09/17) Lecture
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 informationData Definition and Data Manipulation. Lecture 5: SQL s Data Definition Language CS1106/CS5021/CS6503 Introduction to Relational Databases
and Data Manipulation Lecture 5: SQL s Language CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T Herley Department of Computer Science University College Cork 2017-2018 So far we ve
More informationCS Introduction to Computational and Data Science. Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017
CS 133 - Introduction to Computational and Data Science Instructor: Renzhi Cao Computer Science Department Pacific Lutheran University Spring 2017 Introduction to Python II In the previous class, you have
More informationpygtrie Release Jul 03, 2017
pygtrie Release Jul 03, 2017 Contents 1 Features 3 2 Installation 5 3 Upgrading from 0.9.x 7 4 Trie classes 9 5 PrefixSet class 19 6 Version History 21 Python Module Index 23 i ii Implementation of a
More informationCS 1110 Prelim 2 November 13th, 2014
CS 1110 Prelim 2 November 13th, 2014 This 90-minute exam has 5 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need
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 informationCS1 Lecture 12 Feb. 11, 2019
CS1 Lecture 12 Feb. 11, 2019 HW4 available tomorrow, due next Wed. Discussion sections this week will be closely tied to one of the homework problems. Exam 1, Thursday evening, 2/21, 6:30-8:00pm HW2 scores
More informationLecture 4: Defining Functions (Ch ) CS 1110 Introduction to Computing Using Python
http://www.cs.cornell.edu/courses/cs0/209sp Lecture 4: Defining Functions (Ch..4-.) CS 0 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]
More informationCS Lecture 26: Grab Bag. Announcements
CS 1110 Lecture 26: Grab Bag Announcements The End is Nigh! 1. Next (last) lecture will be recap and final exam review 2. A5 due Wednesday night 3. Final exam 7pm Thursday May 15 in Barton Hall (East section)
More informationToday: Revisit some objects. Programming Languages. Key data structure: Dictionaries. Using Dictionaries. CSE 130 : Winter 2009
CSE 130 : Winter 2009 Programming Languages Lecture 11: What s in a Name? Today: Revisit some objects Exploit features and build powerful expressions Base: int, float, complex Sequence: string, tuple,
More informationProgramming for Engineers in Python. Recitation 3
Programming for Engineers in Python Recitation 3 Plan Modules / Packages Tuples Mutable / Imutable Dictionaries Functions: Scope Call by Ref / Call by Val Frequency Counter Python Code Hierarchy Statement
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College October 24, 2016 Outline Outline 1 Chapter 7: Trees Outline Chapter 7: Trees 1 Chapter 7: Trees The Binary Search Property
More informationSpring 2017 CS 1110/1111 Exam 2
Spring 2017 CS 1110/1111 Exam 2 Bubble in your computing ID in the footer of this page. We use an optical scanner to read it, so fill in the bubbles darkly. If you have a shorter ID, leave some rows blank.
More informationCS 1110 Prelim 2 November 12th, 2015
CS 1110 Prelim 2 November 12th, 2015 This 90-minute exam has 6 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need
More informationLecture 4: Basic I/O
Lecture 4: Basic I/O CS1068+ Introductory Programming in Python Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (21/09/17) Lecture 4: Basic I/O 2017-2018 1 / 20
More informationPlay with Python: An intro to Data Science
Play with Python: An intro to Data Science Ignacio Larrú Instituto de Empresa Who am I? Passionate about Technology From Iphone apps to algorithmic programming I love innovative technology Former Entrepreneur:
More informationPLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science
PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science DECEMBER 2013 EXAMINATIONS CSC 108 H1F Instructors: Craig and Gries Duration 3 hours PLEASE HAND IN Examination Aids: None Student Number:
More informationPython Programming: Lecture 2 Data Types
Python Programming: Lecture 2 Data Types Lili Dworkin University of Pennsylvania Last Week s Quiz 1..pyc files contain byte code 2. The type of math.sqrt(9)/3 is float 3. The type of isinstance(5.5, float)
More informationQuestion 1. Part (a) Part (b) December 2013 Final Examination Marking Scheme CSC 108 H1F. [13 marks] [4 marks] Consider this program:
Question 1. Part (a) [4 marks] Consider this program: [13 marks] def square(x): (number) -> number Write what this program prints, one line per box. There are more boxes than you need; leave unused ones
More informationThe Practice of Computing Using PYTHON
The Practice of Computing Using PYTHON William Punch Richard Enbody Chapter 6 Lists and Tuples 1 Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Data Structures 2 Data Structures
More information15 212: Principles of Programming. Some Notes on Continuations
15 212: Principles of Programming Some Notes on Continuations Michael Erdmann Spring 2011 These notes provide a brief introduction to continuations as a programming technique. Continuations have a rich
More informationCS 1110 Prelim 1, March 2018
Last Name: First Name: Cornell NetID, all caps: CS 1110 Prelim 1, March 2018 This 90-minute exam has 7 questions worth a total of 69 points. You may separate the pages while working on the exam; we have
More informationBasic Scripting, Syntax, and Data Types in Python. Mteor 227 Fall 2017
Basic Scripting, Syntax, and Data Types in Python Mteor 227 Fall 2017 Basic Shell Scripting/Programming with Python Shell: a user interface for access to an operating system s services. The outer layer
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 informationCSCA08 Winter 2018 Week 3: Logical Operations, Design Recipe. Marzieh Ahmadzadeh, Brian Harrington University of Toronto Scarborough
CSCA08 Winter 2018 Week 3: Logical Operations, Design Recipe Marzieh Ahmadzadeh, Brian Harrington University of Toronto Scarborough Administrative Detail ex1 is up TT #1 and TT #2 info. can be found on
More informationChapter 5: Control Structures
Chapter 5: Control Structures What we will learn: Selection structures Loops What you need to know before: Data types Functions For loop While loop If selection If else structures Control structures are
More informationCSC148 Fall 2017 Ramp Up Session Reference
Short Python function/method descriptions: builtins : input([prompt]) -> str Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed without a trailing
More information[301] Objects/References. Tyler Caraza-Harter
[301] Objects/References Tyler Caraza-Harter Learning Objectives Today More data types tuple (immutable list) custom types: creating objects from namedtuple and recordclass References Motivation is vs
More informationPLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science
PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science APRIL 2010 EXAMINATIONS CSC 108 H1S Instructors: Horton Duration 3 hours PLEASE HAND IN Examination Aids: None Student Number: Family Name(s):
More informationLists, loops and decisions
Caltech/LEAD Summer 2012 Computer Science Lecture 4: July 11, 2012 Lists, loops and decisions Lists Today Looping with the for statement Making decisions with the if statement Lists A list is a sequence
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 informationAlgorithmic Thinking: Computing with Lists
Algorithmic Thinking: Computing with Lists So Far in Python Data types: int, float, Boolean, string Assignments, function definitions Control structures: For loops, while loops, conditionals Last Lecture
More informationLecture I: Shortest Path Algorithms
Lecture I: Shortest Path Algorithms Dr Kieran T. Herley Department of Computer Science University College Cork October 201 KH (21/10/1) Lecture I: Shortest Path Algorithms October 201 1 / 28 Background
More informationUNIVERSITY OF TORONTO SCARBOROUGH. Wnter 2016 EXAMINATIONS. CSC A20H Duration 2 hours 45 mins. No Aids Allowed
Student Number: Last Name: First Name: UNIVERSITY OF TORONTO SCARBOROUGH Wnter 2016 EXAMINATIONS CSC A20H Duration 2 hours 45 mins No Aids Allowed Do not turn this page until you have received the signal
More informationProgramming with Python
Programming with Python Dr Ben Dudson Department of Physics, University of York 21st January 2011 http://www-users.york.ac.uk/ bd512/teaching.shtml Dr Ben Dudson Introduction to Programming - Lecture 2
More informationCS2304: Python for Java Programmers. CS2304: Advanced Function Topics
CS2304: Advanced Function Topics Functions With An Arbitrary Number of Parameters Let s say you wanted to create a function where you don t know the exact number of parameters. Python gives you a few ways
More informationMinimum Spanning Trees. Lecture II: Minimium Spanning Tree Algorithms. An Idea. Some Terminology. Dr Kieran T. Herley
Lecture II: Minimium Spanning Tree Algorithms Dr Kieran T. Herley Department of Computer Science University College Cork April 016 Spanning Tree tree formed from graph edges that touches every node (e.g.
More informationERTH 401 / GEOP 501 Computational Methods for Geoscientists. Lecture 04: Functions
ERTH 401 / GEOP 501 Computational Methods for Geoscientists Lecture 04: Functions Ronni Grapenthin rg@nmt.edu MSEC 356 x5924 September 18, 2017 1 / 15 2 / 15 Wouldn t it be great if we could think up some
More informationDictionaries in Python
Dictionaries in Python Zelle, 11.6 Learning Python, 8.3, 8.4 1 2 Dictionary Basics A dictionary can be created by listing key-value pairs inside curly braces Keys and values are joined with : Main function:
More informationCHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS
CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS 1439-1440 1 Outline 1. Introduction 2. Why Python? 3. Compiler and Interpreter 4. The first program 5. Comments and Docstrings 6. Python Indentations
More informationModule 08: Searching and Sorting Algorithms
Module 08: Searching and Sorting Algorithms Topics: Searching algorithms Sorting algorithms 1 Application: Searching a list Suppose you have a list L. How could you determine if a particular value is in
More informationdef F a c t o r i a l ( n ) : i f n == 1 : return 1 else : return n F a c t o r i a l ( n 1) def main ( ) : print ( F a c t o r i a l ( 4 ) )
116 4.5 Recursion One of the most powerful programming techniques involves a function calling itself; this is called recursion. It is not immediately obvious that this is useful; take that on faith for
More informationWorking with Lists 4
CS 61A Lecture 10 Announcements Lists ['Demo'] Working with Lists 4 Working with Lists >>> digits = [1, 8, 2, 8] 4 Working with Lists >>> digits = [1, 8, 2, 8] >>> digits = [2//2, 2+2+2+2, 2, 2*2*2] 4
More informationCS 1110 Prelim 2 November 12th, 2015
CS 1110 Prelim 2 November 12th, 2015 This 90-minute exam has 6 questions worth a total of 100 points. Scan the whole test before starting. udget your time wisely. Use the back of the pages if you need
More informationLecture #11: Immutable and Mutable Data. Last modified: Sun Feb 19 17:03: CS61A: Lecture #11 1
Lecture #11: Immutable and Mutable Data Last modified: Sun Feb 19 17:03:49 2017 CS61A: Lecture #11 1 Building Recursive Structures In Lecture #9, we defined map rlist and filter rlist: def map rlist(f,
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 informationCS Lecture 19: Loop invariants
CS 1110 Lecture 19: Loop invariants Announcements Prelim 2 conflicts Today (April 2) is two weeks before the prelim, and the deadline for submitting prelim conflicts. Instructor travel This week and the
More informationRuby: Introduction, Basics
Ruby: Introduction, Basics Computer Science and Engineering College of Engineering The Ohio State University Lecture 4 Ruby vs Java: Similarities Imperative and object-oriented Classes and instances (ie
More informationCS 1301 Exam 1 Fall 2010
CS 1301 Exam 1 Fall 2010 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 in
More informationKey Differences Between Python and Java
Python Python supports many (but not all) aspects of object-oriented programming; but it is possible to write a Python program without making any use of OO concepts. Python is designed to be used interpretively.
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 informationComputer Science 1001.py. Lecture 19a: Generators continued; Characters and Text Representation: Ascii and Unicode
Computer Science 1001.py Lecture 19a: Generators continued; Characters and Text Representation: Ascii and Unicode Instructors: Daniel Deutch, Amir Rubinstein Teaching Assistants: Ben Bogin, Michal Kleinbort,
More informationTOPIC 2 INTRODUCTION TO JAVA AND DR JAVA
1 TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared
More information