SlideShare a Scribd company logo
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:                                  Mac OS X:
• Download Python from                    • Python is already installed.
  http://www.python.org                   • Open a terminal and run python
• Install Python.                           or run Idle from Finder.
• Run Idle from the Start Menu.
                                          Linux:
                                          • Chances are you already have
                                             Python installed. To check, run
                                             python from the terminal.
                                          • If not, install from your
                                            distribution's package system.
 Note: For step by step installation
 instructions, see the course web site.




                                                                               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:                           Runtime
                Code   Compiler                 Computer
                                  Environment


    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   print "Hello, world!"
   2   print
   3   print "Suppose two swallows carry it together."
   4   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
                                    15
                                     3
                                                                 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             Constant   Description
abs(value)            absolute value          e          2.7182818...
ceil(value)           rounds up               pi         3.1415926...
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


• 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)          - number of characters in a string
                         (including spaces)
• str.lower(string)    - lowercase version of a string
• str.upper(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

More Related Content

What's hot (20)

Python basics
Python basicsPython basics
Python basics
TIB Academy
 
Python Workshop
Python WorkshopPython Workshop
Python Workshop
Saket Choudhary
 
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
Fariz Darari
 
Python final ppt
Python final pptPython final ppt
Python final ppt
Ripal Ranpara
 
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
Prof. Wim Van Criekinge
 
Python training
Python trainingPython training
Python training
Kunalchauhan76
 
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
MeetupDataScienceRoma
 
Intro to Python Programming Language
Intro to Python Programming LanguageIntro to Python Programming Language
Intro to Python Programming Language
Dipankar Achinta
 
Python Intro
Python IntroPython Intro
Python Intro
Tim Penhey
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
pythoncharmers
 
Python Tutorial Part 1
Python Tutorial Part 1Python Tutorial Part 1
Python Tutorial Part 1
Haitham El-Ghareeb
 
Zero to Hero - Introduction to Python3
Zero to Hero - Introduction to Python3Zero to Hero - Introduction to Python3
Zero to Hero - Introduction to Python3
Chariza Pladin
 
More mpi4py
More mpi4pyMore mpi4py
More mpi4py
A Jorge Garcia
 
Python - An Introduction
Python - An IntroductionPython - An Introduction
Python - An Introduction
Eueung Mulyana
 
Scientific Python
Scientific PythonScientific Python
Scientific Python
Eueung Mulyana
 
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Edureka!
 
Programming with Python - Adv.
Programming with Python - Adv.Programming with Python - Adv.
Programming with Python - Adv.
Mosky Liu
 
Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)
IoT Code Lab
 
Introduction to MPI
Introduction to MPIIntroduction to MPI
Introduction to MPI
Akhila Prabhakaran
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
Mosky Liu
 
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
Fariz Darari
 
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
2016 bioinformatics i_python_part_2_strings_wim_vancriekinge
Prof. Wim Van Criekinge
 
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
Paolo Galeone - Dissecting tf.function to discover auto graph strengths and s...
MeetupDataScienceRoma
 
Intro to Python Programming Language
Intro to Python Programming LanguageIntro to Python Programming Language
Intro to Python Programming Language
Dipankar Achinta
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
pythoncharmers
 
Zero to Hero - Introduction to Python3
Zero to Hero - Introduction to Python3Zero to Hero - Introduction to Python3
Zero to Hero - Introduction to Python3
Chariza Pladin
 
Python - An Introduction
Python - An IntroductionPython - An Introduction
Python - An Introduction
Eueung Mulyana
 
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Advanced Python Tutorial | Learn Advanced Python Concepts | Python Programmin...
Edureka!
 
Programming with Python - Adv.
Programming with Python - Adv.Programming with Python - Adv.
Programming with Python - Adv.
Mosky Liu
 
Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)Chapter 0 Python Overview (Python Programming Lecture)
Chapter 0 Python Overview (Python Programming Lecture)
IoT Code Lab
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
Mosky Liu
 

Similar to Cs4hs2008 track a-programming (20)

lecture 2.pptx
lecture 2.pptxlecture 2.pptx
lecture 2.pptx
Anonymous9etQKwW
 
Introduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIMLIntroduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIML
VijaySharma802
 
made it easy: python quick reference for beginners
made it easy: python quick reference for beginnersmade it easy: python quick reference for beginners
made it easy: python quick reference for beginners
SumanMadan4
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
VijaySharma802
 
Python programing
Python programingPython programing
Python programing
hamzagame
 
Bikalpa_Thapa_Python_Programming_(Basics).pptx
Bikalpa_Thapa_Python_Programming_(Basics).pptxBikalpa_Thapa_Python_Programming_(Basics).pptx
Bikalpa_Thapa_Python_Programming_(Basics).pptx
Bikalpa Thapa
 
pythonQuick.pdf
pythonQuick.pdfpythonQuick.pdf
pythonQuick.pdf
PhanMinhLinhAnxM0190
 
python 34💭.pdf
python 34💭.pdfpython 34💭.pdf
python 34💭.pdf
AkashdeepBhattacharj1
 
python notes.pdf
python notes.pdfpython notes.pdf
python notes.pdf
RohitSindhu10
 
An overview on python commands for solving the problems
An overview on python commands for solving the problemsAn overview on python commands for solving the problems
An overview on python commands for solving the problems
Ravikiran708913
 
Python
PythonPython
Python
Kumar Gaurav
 
Chapter 1-Introduction and syntax of python programming.pptx
Chapter 1-Introduction and syntax of python programming.pptxChapter 1-Introduction and syntax of python programming.pptx
Chapter 1-Introduction and syntax of python programming.pptx
atharvdeshpande20
 
Sessisgytcfgggggggggggggggggggggggggggggggg
SessisgytcfggggggggggggggggggggggggggggggggSessisgytcfgggggggggggggggggggggggggggggggg
Sessisgytcfgggggggggggggggggggggggggggggggg
pawankamal3
 
Module-1.pptx
Module-1.pptxModule-1.pptx
Module-1.pptx
Manohar Nelli
 
Python avinash
Python avinashPython avinash
Python avinash
Avinash Jangir
 
Chapter1 python introduction syntax general
Chapter1 python introduction syntax generalChapter1 python introduction syntax general
Chapter1 python introduction syntax general
ssuser77162c
 
ITC 110 Week 10 Introdution to Python .pptx
ITC 110 Week 10  Introdution to Python .pptxITC 110 Week 10  Introdution to Python .pptx
ITC 110 Week 10 Introdution to Python .pptx
aaaaaannnnn6
 
Unit -1 CAP.pptx
Unit -1 CAP.pptxUnit -1 CAP.pptx
Unit -1 CAP.pptx
malekaanjum1
 
Help with Pyhon Programming Homework
Help with Pyhon Programming HomeworkHelp with Pyhon Programming Homework
Help with Pyhon Programming Homework
Helpmeinhomework
 
Keep it Stupidly Simple Introduce Python
Keep it Stupidly Simple Introduce PythonKeep it Stupidly Simple Introduce Python
Keep it Stupidly Simple Introduce Python
SushJalai
 
Introduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIMLIntroduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIML
VijaySharma802
 
made it easy: python quick reference for beginners
made it easy: python quick reference for beginnersmade it easy: python quick reference for beginners
made it easy: python quick reference for beginners
SumanMadan4
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
VijaySharma802
 
Python programing
Python programingPython programing
Python programing
hamzagame
 
Bikalpa_Thapa_Python_Programming_(Basics).pptx
Bikalpa_Thapa_Python_Programming_(Basics).pptxBikalpa_Thapa_Python_Programming_(Basics).pptx
Bikalpa_Thapa_Python_Programming_(Basics).pptx
Bikalpa Thapa
 
An overview on python commands for solving the problems
An overview on python commands for solving the problemsAn overview on python commands for solving the problems
An overview on python commands for solving the problems
Ravikiran708913
 
Chapter 1-Introduction and syntax of python programming.pptx
Chapter 1-Introduction and syntax of python programming.pptxChapter 1-Introduction and syntax of python programming.pptx
Chapter 1-Introduction and syntax of python programming.pptx
atharvdeshpande20
 
Sessisgytcfgggggggggggggggggggggggggggggggg
SessisgytcfggggggggggggggggggggggggggggggggSessisgytcfgggggggggggggggggggggggggggggggg
Sessisgytcfgggggggggggggggggggggggggggggggg
pawankamal3
 
Chapter1 python introduction syntax general
Chapter1 python introduction syntax generalChapter1 python introduction syntax general
Chapter1 python introduction syntax general
ssuser77162c
 
ITC 110 Week 10 Introdution to Python .pptx
ITC 110 Week 10  Introdution to Python .pptxITC 110 Week 10  Introdution to Python .pptx
ITC 110 Week 10 Introdution to Python .pptx
aaaaaannnnn6
 
Help with Pyhon Programming Homework
Help with Pyhon Programming HomeworkHelp with Pyhon Programming Homework
Help with Pyhon Programming Homework
Helpmeinhomework
 
Keep it Stupidly Simple Introduce Python
Keep it Stupidly Simple Introduce PythonKeep it Stupidly Simple Introduce Python
Keep it Stupidly Simple Introduce Python
SushJalai
 
Ad

Cs4hs2008 track a-programming

  • 1. Introduction to Programming with Python Marty Stepp ([email protected]) 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
  • 2. Outline • Programming languages and Python • Basic programs and numeric data • Control statements • Text processing • What's next? / CSE 142 at UW 2
  • 3. Languages • Some influential ones: – FORTRAN • science / engineering – COBOL • business data – LISP • logic and AI – BASIC • a simple language 3
  • 4. 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
  • 5. Installing Python Windows: Mac OS X: • Download Python from • Python is already installed. http://www.python.org • Open a terminal and run python • Install Python. or run Idle from Finder. • Run Idle from the Start Menu. Linux: • Chances are you already have Python installed. To check, run python from the terminal. • If not, install from your distribution's package system. Note: For step by step installation instructions, see the course web site. 5
  • 6. 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: Runtime Code Compiler Computer Environment Python: Code Interpreter Computer 6
  • 7. The Python Interpreter • Allows you to type commands one-at-a-time and see results • A great way to explore Python's syntax 7
  • 8. Basic Programs and Numeric Data
  • 9. 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 print "Hello, world!" 2 print 3 print "Suppose two swallows carry it together." 4 print "African or European swallow?" 9
  • 10. 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
  • 11. 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
  • 12. 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 15 3 12
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. Math commands Function name Description Constant Description abs(value) absolute value e 2.7182818... ceil(value) rounds up pi 3.1415926... 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 • To use these commands, place this line atop your program: from math import * 17
  • 18. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 30. 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
  • 31. 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
  • 32. String properties • len(string) - number of characters in a string (including spaces) • str.lower(string) - lowercase version of a string • str.upper(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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 38. 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
  • 39. CSE 142 Homework • Our homeworks process interesting data and text 39
  • 40. 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
  • 41. 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
  • 43. 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