Introduction to. Marty Stepp (stepp@cs.washington.edu) University of Washington



Similar documents
Exercise 4 Learning Python language fundamentals

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Introduction to Python

Introduction to Java

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Chapter One Introduction to Programming

Python Basics. S.R. Doty. August 27, Preliminaries What is Python? Installation and documentation... 4

Variables, Constants, and Data Types

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

Informatica e Sistemi in Tempo Reale

Computational Mathematics with Python

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

Introduction to Java Applications Pearson Education, Inc. All rights reserved.

Topic 11 Scanner object, conditional execution

Chapter 5 Functions. Introducing Functions

SOME EXCEL FORMULAS AND FUNCTIONS

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

CSCE 110 Programming I Basics of Python: Variables, Expressions, and Input/Output

Computational Mathematics with Python

Computer Science 217

Welcome to Introduction to programming in Python

Building Java Programs

Figure 1: Graphical example of a mergesort 1.

Introduction to Python

Python Lists and Loops

Java Basics: Data Types, Variables, and Loops

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

Computers. An Introduction to Programming with Python. Programming Languages. Programs and Programming. CCHSG Visit June Dr.-Ing.

PYTHON Basics

Crash Dive into Python

Computational Mathematics with Python

CSC 221: Computer Programming I. Fall 2011

CSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals

ESCI 386 Scientific Programming, Analysis and Visualization with Python. Lesson 5 Program Control

Introduction to Visual C++.NET Programming. Using.NET Environment

Simple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language

Introduction to Python

Sources: On the Web: Slides will be available on:

Web Programming Step by Step

COMSC 100 Programming Exercises, For SP15

Welcome to Introduction to Computers and Programming Course using Python

Introduction to Python

Management Information Systems 260 Web Programming Fall 2006 (CRN: 42459)

Conditionals (with solutions)

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

McGraw-Hill The McGraw-Hill Companies, Inc.,

Chapter 8 Selection 8-1

grep, awk and sed three VERY useful command-line utilities Matt Probert, Uni of York grep = global regular expression print

Debugging. Common Semantic Errors ESE112. Java Library. It is highly unlikely that you will write code that will work on the first go

Moving from CS 61A Scheme to CS 61B Java

#820 Computer Programming 1A

University of Hull Department of Computer Science. Wrestling with Python Week 01 Playing with Python

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

JAVA - QUICK GUIDE. Java SE is freely available from the link Download Java. So you download a version based on your operating system.

River Dell Regional School District. Computer Programming with Python Curriculum

Example of a Java program

Introduction to Python

Chapter 2: Elements of Java

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

VB.NET Programming Fundamentals

Stage 5 Information and Software Technology

CS 241 Data Organization Coding Standards

Introduction to: Computers & Programming: Review for Midterm 2

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015

Summit Public Schools Summit, New Jersey Grade Level / Content Area: Mathematics Length of Course: 1 Academic Year Curriculum: AP Computer Science A

Numeral Systems. The number twenty-five can be represented in many ways: Decimal system (base 10): 25 Roman numerals:

JavaScript: Introduction to Scripting Pearson Education, Inc. All rights reserved.

Basic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C

Excel: Introduction to Formulas

Java Interview Questions and Answers

Expense Management. Configuration and Use of the Expense Management Module of Xpert.NET

if and if-else: Part 1

QUIZ-II QUIZ-II. Chapter 5: Control Structures II (Repetition) Objectives. Objectives (cont d.) 20/11/2015. EEE 117 Computer Programming Fall

CS106A, Stanford Handout #38. Strings and Chars

Chapter 2 Introduction to Java programming

J a v a Quiz (Unit 3, Test 0 Practice)

JavaScript: Control Statements I

Fundamentals of Programming

F ahrenheit = 9 Celsius + 32

Computer Programming I

Computer Programming I & II*

Visual Logic Instructions and Assignments

First Java Programs. V. Paúl Pauca. CSC 111D Fall, Department of Computer Science Wake Forest University. Introduction to Computer Science

Objective To introduce the concept of square roots and the use of the square-root key on a calculator. Assessment Management

5 Arrays and Pointers

Python Loops and String Manipulation

Graphing Calculator Scientific Calculator Version 2.0

Unit 6. Loop statements

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

A Python Tour: Just a Brief Introduction CS 303e: Elements of Computers and Programming

C# and Other Languages

ALGORITHMS AND FLOWCHARTS. By Miss Reham Tufail

Computer Programming I

Computer Science for San Francisco Youth

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming

Transcription:

Introduction to Programming with Python Marty Stepp (stepp@cs.washington.edu) University of Washington Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0

Outline Programming languages and Python Basic programs and numeric data Control statements Text processing What's next? / CSE 142 at UW 2

Languages Some influential ones: FORTRAN science / engineering COBOL business data LISP logic and AI BASIC a simple language 3

Python Created in 1991 by Guido van Rossum (now at Google) Named for Monty Python Useful as a scripting language script: A program meant for use in small/medium projects Used by: Google, Yahoo!, Youtube Many Linux distributions Games and apps (e.g. Eve Online) 4

Installing Python Windows: Download Python from http://www.python.org Install Python. Run Idle from the Start Menu. Note: For step by step installation instructions, see the course web site. Mac OS X: Python is already installed. Open a terminal and run python or run Idle from Finder. Linux: Chances are you already have Python installed. To check, run python from the terminal. If not, install from your distribution's package system. 5

Interpreted Languages interpreted Not compiled like many other languages (Java, C, C++) Code is written and then directly executed by an interpreter Type commands into interpreter and see immediate results Java: Code Compiler Runtime Environment Computer Python: Code Interpreter Computer 6

The Python Interpreter Allows you to type commands one-at-a-time and see results A great way to explore Python's syntax 7

Basic Programs and Numeric Data

The print Statement A Python program's code is just written directly into a file print "text" print (a blank line) hello.py 1 print "Hello, world!" swallows.py 1 2 3 4 print "Hello, world!" print print "Suppose two swallows carry it together." print "African or European swallow?" 9

Comments Syntax: # comment text (one line) swallows2.py 1 # Suzy Student, CSE 142, Fall 2097 2 # This program prints important messages. 3 print "Hello, world!" 4 print # blank line 5 print "Suppose two swallows \"carry\" it together." 6 print 'African or "European" swallows?' 10

Expressions expression: A value or operation(s) to compute a value. Example: 1 + 4 * 3 Arithmetic operators: + - * / add, subtract/negate, multiply, divide ** exponentiate % modulus, a.k.a. remainder precedence: Order in which operations are computed. * / % ** have a higher precedence than + - 1 + 3 * 4 is 13 (1 + 3) * 4 is 16 11

Integer division When we divide integers with /, the quotient is an integer. 3 52 4 ) 14 27 ) 1425 12 135 2 75 54 21 35 / 5 is 7 84 / 10 is 8 The % operator computes a remainder from integer division. 3 43 4 ) 14 5 ) 218 12 20 2 18 153 12

Variables variable: A named piece of memory that stores a value. assignment: Stores a value into a variable. Syntax: name = expression Examples: x = 5 gpa = 3.14 x 5 gpa 3.14 A variable can be used in expressions. x + 4 is 9 13

Exercise This program's code is redundant. Improve it with variables: print "Subtotal:" print 38 + 40 + 30 print "Tax:" print (38 + 40 + 30) *.09 print "Tip:" print (38 + 40 + 30) *.15 print "Total:" print 38 + 40 + 30 + (38 + 40 + 30) *.15 + (38 + 40 + 30) *.09 14

Data Types type: A category or set of data values. Constrains the operations that can be performed on the data Examples: integer, real number, text string Python is relaxed about types. A variable's type does not need to be declared. A variable can change types as a program is running. Value Python type 42 int 3.14 float "ni!" str 15

Parameters parameter: A value supplied to a command as you run it. Syntax: command ( value ) command ( value, value,..., value ) Example: print sqrt(25) print sqrt(15 + 10 * 10 + 6) x = 5 print sqrt(x + sqrt(16)) 16

Math commands Function name Description abs(value) absolute value ceil(value) rounds up cos(value) cosine, in radians floor(value) rounds down log10(value) logarithm, base 10 max(value1, value2) larger of two values min(value1, value2) smaller of two values round(value) nearest whole number sin(value) sine, in radians sqrt(value) square root Constant Description e 2.7182818... pi 3.1415926... To use these commands, place this line atop your program: from math import * 17

input input : Reads a number from the user's keyboard. You can store the result of input into a variable. Example: age = input("how old are you? ") print "Your age is", age print "You have", 65 - age, "years until retirement" Output: How old are you? 53 Your age is 53 You have 12 years until retirement Exercise: Modify the restaurant program to ask the user how much of a tip to leave. 18

Control Statements

if if statement: Executes a set of commands only if a certain condition is True. Otherwise, the commands are skipped. Syntax: if condition: statements Example: gpa = input("what is your GPA? ") if gpa > 2.0: print "Your application is accepted." 20

if/else if/else statement: Executes one set of statements if a certain condition is True, and a second set if it is False. Syntax: if condition: statements else: statements Example: gpa = input("what is your GPA? ") if gpa > 2.0: print "Welcome to Mars University!" else: print "Your application is denied." Multiple conditions can be chained with elif 21

Logic Operator Meaning Example Result == equals 1 + 1 == 2 True!= does not equal 3.2!= 2.5 True < less than 10 < 5 False > greater than 10 > 5 True <= less than or equal to 126 <= 100 False >= greater than or equal to 5.0 >= 5.0 True Logical expressions can be combined using logical operators: Operator Example Result and (9!= 6) and (2 < 3) True or (2 == 3) or (-1 < 5) True not not (7 > 0) False 22

for loops for name in range(start, end): statements for name in range(start, end, step): statements Repeats for values start (inclusive) to end (exclusive) >>> for i in range(2, 6): print i 2 3 4 5 >>> for i in range(15, 0, -5): print i, "squared is", (i * i) 15 squared is 225 10 squared is 100 5 squared is 25 23

Cumulative loops Some loops incrementally compute a value. sometimes called a cumulative loop sum = 0 for i in range(1, 11): sum = sum + (i * i) print "sum of first 10 squares is", sum Output: sum of first 10 squares is 385 24

Exercise Write a program that reads a student's homework scores as input and computes the student's homework percentage. This program computes your average homework grade. How many assignments were there? 3 Assignment 1 Points earned? 12 Points possible? 15 Assignment 2 Points earned? 10 Points possible? 20 Assignment 3 Points earned? 4 Points possible? 5 Your total score: 26 / 40 : 65 % 25

while while loop: Executes as long as a condition is True. good for indefinite loops (repeat an unknown number of times) Syntax: while condition: statements Example: number = 1 while number < 200: print number, number = number * 2 Output: 1 2 4 8 16 32 64 128 26

Random numbers from random import * randint(min, max) Produces a random value between min and max (inclusive) Example: coinflip = randint(1, 2) if coinflip == 1: print "Heads" else: print "Tails" 27

Exercise Write a program that plays a guessing game with the user: Let's play a game. Try to guess my number from 1-100! Your guess? 40 Too low. Your guess? 85 Too high. Your guess? 68 Too high. Your guess? 51 Too low. Your guess? 57 Too low. Your guess? 63 Too high. Your guess? 61 You got it right in 7 guesses! 28

Text Processing

Strings string: A sequence of text characters in a program. Strings start and end with quote " or apostrophe ' characters. "hello" "This is a string" "This, too, is a string. It can be very long!" A string can represent special characters with a backslash. \" quotation mark character \t tab character \\ backslash character "Bob said, \"Hello!\" to Susan." 30

Indexes Characters in a string are numbered with indexes : name = "P. Diddy" index 0 1 2 3 4 5 6 7 character P. D i d d y Accessing an individual character from a string: variable [ index ] print name, "starts with", name[0] Output: P. Diddy starts with P 31

String properties len(string) str.lower(string) str.upper(string) - number of characters in a string (including spaces) - lowercase version of a string - uppercase version of a string Example: name = "Martin Douglas Stepp" big_name = str.upper(name) print big_name, "has", len(big_name), "characters" Output: MARTIN DOUGLAS STEPP has 20 characters 32

raw_input raw_input : Reads a string of text from the user's keyboard. Example: name = raw_input("howdy. What's yer name? ") print name, "... what a silly name!" Output: Howdy. What's yer name? Paris Hilton Paris Hilton... what a silly name! 33

Text processing text processing: Examining, editing, formatting text. Often uses loops that examine characters one by one. A for loop can examine each character in a string in order. Example: for c in "booyah": print c Output: b o o y a h 34

Strings and numbers ord(text) - Converts a string into a number. Example: ord("a") is 97, ord("b") is 98,... Characters use standard mappings such as ASCII and Unicode. chr(number) - Converts a number into a string. Example: chr(99) is "c" 35

Exercise Write a program that "encrypts" a secret message by shifting the letters of the message by 1: e.g. "Attack" when rotated by 1 becomes "buubdl" 36

What's Next?

Further programming What do students learn next? Arrays, data structures Objects and object-oriented programming Algorithms: searching, sorting, recursion, etc. Graphical user interfaces, drawing, event-driven programming 38

CSE 142 Homework Our homeworks process interesting data and text 39

Student pictures Around the 3rd week, we assign a graphical program Two parts: draw a particular figure using loops and parameters draw any figure you want figures posted on course web site and voted on by students 40

Critter simulation Students write several small classes to represent animals in a simulation world Each student writes a custom "Husky" animal with their choice of behavior The best huskies compete in a tournament for prizes 41

Facebook integration 42

Links Python for math teachers: http://showmedo.com/videos/series?id=101 Physics and 3D in Python: http://showmedo.com/videos/series?name=pythonthompsonvpythonseries Handbook of the Physics Computing Course (Python): http://www-teaching.physics.ox.ac.uk/computing/handbook_python/handbook_python.html Biopython - Python tools for biology: http://biopython.org/wiki/main_page Python course in Bioinformatics: http://www.pasteur.fr/recherche/unites/sis/formation/python/index.html 43