python programming goals l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Python Programming - Goals PowerPoint Presentation
Download Presentation
Python Programming - Goals

Loading in 2 Seconds...

play fullscreen
1 / 20

Python Programming - Goals - PowerPoint PPT Presentation


  • 183 Views
  • Uploaded on

Python Programming - Goals. By the end of this unit, you will be able to: Understand the difference between interactive and script mode in IDLE Understand variables, subroutines, loops and branches, strings, and lists in Python Get input from the user and display output Draw simple graphics

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Python Programming - Goals' - duane


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
python programming goals
Python Programming - Goals

By the end of this unit, you will be able to:

  • Understand the difference between interactive and script mode in IDLE
  • Understand variables, subroutines, loops and branches, strings, and lists in Python
  • Get input from the user and display output
  • Draw simple graphics
  • Understand the importance of proper software documentation and testing
interactive and script modes in idle
Interactive and Script Modes in IDLE
  • IDLE is the Python programming environment we will use in this class
  • IDLE has two modes: interactive (called shell in "The Way of the Program") and script
  • In interactive mode, you type a command and it is executed right away.
  • In script mode, you write a set of commands into a file (called a Python script, ending in .py) and then execute the script:
two ways to run idle
Two ways to run IDLE
  • There are two shortcuts on your desktop, one for IDLE, the other "IDLE for graphics". IDLE for graphics starts IDLE in a special mode that is required for the Livewires graphics package that we use.

when you start IDLE, it looks like this:

when you start "IDLE for graphics", it looks like this:

(If your graphics program doesn't work, this could be the reason!)

variables in python
Variables in Python

Programs use variables when they need to ”remember” some information. A variable allows you to give a name to a piece of information stored in a computer. You can then read the value, or set it to something different in another part of your program.

myName = "Mr. Judkis" # set the value

print myName # get the value

myAge = 22 # set the value

myAge = myAge + 1 # get it and set it

You cannot get a value before it has been set! Python will complain:

>>> foo = foo + 1

NameError: name 'foo' is not defined

rules and guidelines for variables
Rules and Guidelines for Variables

Rules for naming variables:

  • Variables can contain only letters, numbers, and underscores
  • Variables cannot begin with numbers
  • Variables cannot be any of the Python reserved words (listed below)

Guidelines for naming variables:

  • Names should be descriptive – score instead of s (except for variables that are used only briefly)
  • Variable names should be consistent within the program: high_score and low_score or highScore and lowScore
  • Variable names shouldn’t start with underscores or uppercase letters
  • Variable names shouldn’t be too long - generally no longer than 15 chars
reserved words in python the following words are all special
and

assert

break

class

continue

def

del

elif

else

except

exec

finally

if

in

lambda

not

or

pass

Reserved Words in Pythonthe following words are all special:
  • print
  • raise
  • return
  • try
  • while
  • yield

Do the following variable names obey the rules? The guidelines?

  • blah
  • x
  • routeLength
  • first-name
  • lambda
  • last_name
  • 24_hour_count
  • twentyFourHourCountValue
  • _height
  • Width
  • while
  • length
integers floats and strings
Integers, Floats, and Strings
  • An int is an integer number.

my_int = 7

  • A float (floating point) is a number that includes some fractional part, using a decimal point.

my_float = 3.1415926

  • You can do arithmetic with integers and floats, and you can combine them:

>>> print my_int + my_float

10.1415926

  • A string is a sequence of ASCII characters. You can’t do arithemetic on a string.

my_str = "howdy"

  • You can convert some strings to integers or floats:

my_str = "3213"

my_int = int(my_str)

  • You can convert any integer or float to a string:

my_int = 3213

my_str = str(my_int)

  • Adding integers and/or floats does the arithmetic, but adding strings concatenates them (sticks them together):

>>> print my_str + " pardner"

howdy pardner

slide8

Integers, Floats, and Strings - 2

  • If you try to convert a string into an int or float and there’s a problem, Python will let you know:
      • >>> int("hi there")
      • Traceback (most recent call last):
      • File "<pyshell#2>", line 1, in -toplevel-
      • int("hi there")
      • ValueError: invalid literal for int(): hi there
  • If you try to combine numbers and strings in some way that doesn’t make sense, Python will let you know:
      • >>> print "hi there" + 7
      • Traceback (most recent call last):
      • File "<pyshell#4>", line 1, in ?
      • print "hi there" + 7
      • TypeError: cannot concatenate 'str' and 'int' objects
  • Why is this okay?:
      • >>> print "hi there" + str(7)
      • hi there7
  • Okay, now you try it. . .
getting input from the user raw input
Getting input from the user: raw_input()

string_val = raw_input("prompt",)

raw_input() always gives you what the user entered as a string. If you want to get an integer or floating point number, it’s up to you to do the conversion:

int_val = int(raw_input("enter integer:",))

– or –

int_val = raw_input("enter integer:",)

int_val = int(int_val)

float_val = float(raw_input("enter float:",))

– or –

float_val = raw_input("enter float:",)

float_val = float(float_val)

giving output the print statement
Giving output: the print statement

Separate values to be printed by commas:

print "The values are", min, "and", max,"."

Python will insert spaces between each value, and print:

The values are 6 and 10 .

Or, you can concatenate values to create your own string, controlling the spacing yourself:

print "The values are " + str(min)

+ " and " + str(max) + "."

Python will print:

The values are 6 and 10.

In script mode, a comma at the end of the print statement will keep the next output on the same line:

comments
Comments
  • Your python scripts should always start off with the program name, a brief description of what it does, your name, and the date. Like this:

# guess_num.py

# Picks a random number, then asks the user

# to guess it

# Ima Programmer 12/23/05

  • Also include comments whenever the code may not be easy to understand, like this:

# use the pythagorean formula to calculate

# the distance between the points

distance = math.sqrt((x1 –x2)**2 + (y1-y2)**2)

program file structure
Program File Structure

# program file name

# brief description of what it does

# your name, date created

Then import statements

Then all subroutine definitions

Finally, the "main line" of the code

put a blank line between each subroutine, and between each section. put additional blank lines anywhere they improve readability

assignment and equality
Assignment and Equality

A single equal sign=means assignment: The value on the right is assigned to the variable on the left:

counter = 88

numTries = numTries + 1

Double equal ==tests for equality: the expression is True if the values on either side are equal:

if yourName == "Mr. Judkis":

print "So handsome!"

else:

print "meh"

counter = 10

while counter > 0:

print counter

counter = counter – 1

print "Blast off!"

example
Example

if yourIQ > 120:

print "perfect for AAHS!"

elif yourIQ >= 100:

print "perfect for MAST"

elif yourIQ >= 80:

print "maybe CHS"

else:

print "definitely HTHS. . . sorry"

combining logical tests
Combining logical tests

Testing for several different conditions:

resp = raw_input("Do you want to quit?")

if resp == "Yes" or resp == "yes":

print "Bye!"

Don't do this:

resp = raw_input("Do you want to quit?")

if resp == "Yes" or "yes":

print "Bye!"

It won't do what you want it to do!

for loop
for loop

We saw this in RUR-PLE – a loop that runs the indented block of code a set number of times.

for count in range(500):

print "I will not be late to class"

This is also sometimes known as a counting loop. Compare this to the while loop. . .

while loop
while loop

number = 1

while number < 1000:

print number,

number *= 2

1 2 4 8 16 32 64 128 256 512

The following program makes you guess a password:

guess = ""

while guess != "Fizzing Whizbee":

guess = raw_input("what is the password?“, )

print "You may enter."

The while is a conditional loop – it runs until some condition is not true

guessing game take 1
Guessing Game, Take 1:

import random

print "I'm thinking of a number between 1 and 20."

numToGuess = random.randint(1,20)

userGuess = int(raw_input("Give a guess:"))

while userGuess != numToGuess:

print "Nope, try again"

userGuess = int(raw_input("Give a guess:"))

print "You got it!"

break
break

The break statement immediately pops you out of the for or while loop your program is in, regardless of how many times you’ve run through it, or whether the loop condition is true or false. Think of it as a jailbreak. . .

import random

print "I'm thinking of a number between 1 and 20."

numToGuess = random.randint(1,20)

while True:

userGuess = int(raw_input("Give a guess:"))

if userGuess == numToGuess:

print "You got it!"

break

else:

print "Nope, try again"

Guessing Game, Take 2: