an overview of programming in python csc 161: the art of programming prof. henry kautz 9/9/2009...

26
An Overview of Programming in Python CSC 161: The Art of Programming Prof. Henry Kautz 9/9/2009 Slides stolen shamelessly from Dr. Mark Goadrich, Centenary College of Louisiana

Upload: janice-higgins

Post on 30-Dec-2015

226 views

Category:

Documents


2 download

TRANSCRIPT

An Overview of Programming in Python

CSC 161: The Art of ProgrammingProf. Henry Kautz

9/9/2009

Slides stolen shamelessly from Dr. Mark Goadrich, Centenary College of Louisiana

Why Computer Science 2

AssignmentsRead the first chapter of the textbook

Should be done!

Assignment 1: Using IDLE Turn in assignment sheet today or Monday Only required to do steps 1 – 5 See revised steps 6 – 7 on the course web page

Follow links from Calendar of Lectures, Workshops, & LabsDoing these steps is optionalWe will learn more about modules later in the course

Workshops start: September 13/14/15

Required labs start: September 15/17

I’m Thinking of a Number…

Can we guess the computer’s secret number between 0 and 100?

Can the computer guess our secret number between 0 and 100?

We need a common language to communicate.

Guess A Number Pseudocode

Pick a random number for the computer

Ask the user to guess the computer’s number

While they guess wrong,

Give feedback if number is too high or low

Ask for another guess from the user

Tell the user they are correct

Language of Programming English is a natural language

Casual, slang, vague

“I went to the bank.” (money or river?)

Computers need formal languages Strict, specific, clear, unambiguous

Our choice: Python In principle, all programming languages can do the same things

1 line of Python = 5 lines of Java = 20 lines of C = 100 lines of machine code

Pseudocode Simple, (mostly) unambiguous English

A way of getting from an English description to a real programming language

Elements of ProgrammingFive basic pieces to all programs

DataUser InteractionDecisionsRepetitionLibraries

Data Storage and MemoryNumbers

90

3.14159

2 + 3 / 4 * 5.6

Strings"The quick brown fox"

"$5.48"

• Variablesage = 31cat = "Felix"length = 5width = 10area = length * width

User InteractionWe need to ask the user questions

age = input("How old are you? ")

name = raw_input("What is your name? ")

We want to tell the user the results

print "In dog years, you are " + str(age * 7)

DecisionsRelate variables with logic (True, False)

temperature > 90

legs == 2 and not human

Logic decides program path

if temperature > 90:

print "Must be summer again . . ."

else:

print "Looks like good weather."

?

RepetitionRepeats commands while

a condition is true

count = 10

while count > 0:

print count

count = count - 1

print "Blastoff!"

?

Including Libraries Import functions from other places

import random

import math

Use these functions to help our program

if (random.random() < 0.5):

print "Heads"

else:

print "Tails"

Guess A Number Translation

Pick a random number for the computer

Ask the user to guess the computer’s number

While they guess wrong,

Give feedback if number is too high or low

Ask for another guess from the user

Tell the user they are correct

Guess A Number Translation

import random

num = random.randrange(100)

Ask the user to guess the computer’s number

While they guess wrong,

Give feedback if number is too high or low

Ask for another guess from the user

Tell the user they are correct

Guess A Number Translation

import random

num = random.randrange(100)

guess = input("Try to guess my number 0-99: ”)

While they guess wrong,

Give feedback if number is too high or low

Ask for another guess from the user

Tell the user they are correct

Guess A Number Translation

import random

num = random.randrange(100)

guess = input("Try to guess my number 0-99: ”)

while num != guess:

Give feedback if number is too high or low

Ask for another guess from the user

Tell the user they are correct

Guess A Number Translation

import random

num = random.randrange(100)

guess = input("Try to guess my number 0-99: ”)

while num != guess:

if guess < num:

print "Too Low!"

else:

print "Too High!"

Ask for another guess from the user

Tell the user they are correct

Guess A Number Translation

import random

num = random.randrange(100)

guess = input("Try to guess my number 0-99: ”)

while num != guess:

if guess < num:

print "Too Low!"

else:

print "Too High!"

guess = input("Guess again: ”)

Tell the user they are correct

Guess A Number Translation

import random

num = random.randrange(100)

guess = input("Try to guess my number 0-99: ”)

while num != guess:

if guess < num:

print "Too Low!"

else:

print "Too High!"

guess = input("Guess again: ”)

print "Correct!"

Part II - Computer Guesses

How can the computer guess our number?

The same way we guessedStart out with a range of numbersEach guess, split the answers in halfEventually, the range will be one number

We’re now moving past programming to computer science . . .

Guess A Number IIPrint instructions to the user

Initialize high and low boundaries and status of guess

While guess is incorrect,

Formulate a new guess halfway between boundaries

Ask for user feedback on guess

If guess too high, reset upper boundary

If guess too low, reset lower boundary

If correct, update status of guess

Otherwise ask for valid input from the user

When guess is correct, tell the user and exit

Why Computer Science 21

Elements of Python Literals

Numbers 3. 14159265 42

Strings “Henry Kautz”

Variables Holders for numbers, strings, lists, and other kinds of information Must begin with a letter, followed by letters, numbers, or

underscore _ characters GradePointAverage grade_point_average gradePointAverage

Why Computer Science 22

ExpressionsMade out of

LiteralsVariablesOperators

(MidtermGrade + FinalGrade) / 2.0FirstName + “ “ + LastName

Functions (we’ll see one soon…)

Assignment Statements<Variable> = <Expression>AverageGrade = (MidtermGrade + FinalGrade) / 2.0FullName = FirstName + “ “ + LastName

We use <Type> to

indicate any thing that is of that type

Why Computer Science 23

How Assignments WorkEvaluate the right-hand (expression) side

Put the value in the left hand (variable) sideCount = 1

Count = Count + 1what is the value of Count?

Assigning Input<variable> = input(<prompt>)guess = input(“What is your guess?”)

the first function we have seen today

Why Computer Science 24

Conditional Executionif guess < num:

print "Too Low!”

else:

print "Too High!”

General form:if <expression>:

<indented lines of code>

else:

<indented lines of code>

Why Computer Science 25

Loopswhile num != guess:

if guess < num:

print "Too Low!”

else:

print "Too High!”

General form:while <expression>:

<indented lines of code>

Why Computer Science 26

For Next ClassRead Chapter 2

Pre-read Chapter 3

Finish Assignment 1 parts 1-5 if not already doneTry new version of parts 6-7 if you like

Remember:Lab sessions become mandatory starting next

weekWorkshops start Sunday (or Mon/Tue)