Upload
susanna-carroll
View
218
Download
2
Embed Size (px)
Citation preview
An Introduction toPython Programming
Dr. Mark Goadrich
Centenary College of Louisiana
http://mark.goadrich.com
NWLAPCUG - May 15th 2008
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
• Many language choices: C++, Java, Prolog, Scheme, Perl, Fortran, Cobol, Ruby, etc…
Python Programming
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
How to Talk to your Computer
Application CPU
User
Programmer
Python Interpreter
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
Python and IDLE
Programming Components
• Five basic pieces to all programs – Data– User Interaction– Decisions– Repetition– Libraries
Data Storage and Memory
• Numbers903.141592 + 3 / 4 * 5.6
• Strings"The quick brown fox""$5.48"
• Variablesage = 31cat = "Felix"length = 5width = 10area = length * width
User Interaction
• We 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)
Decisions
• Relate variables with logic (True, False)
temperature > 90legs == 2 and not tall
• Logic decides program path
if temperature > 90:print "Must be summer again . . ."
else:print "Looks like good weather."
?
Repetition
• Repeats commands whilea condition is true
count = 10while count > 0:
print countcount = count - 1
print "Blastoff!"
?
Including Libraries
• Import functions from other placesimport randomimport math
• Use these functions to help our programif (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 randomnum = 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 randomnum = 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 randomnum = 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 randomnum = 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 randomnum = 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 randomnum = 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!"
Running our Code
• Go to IDLE
• Open guess1.py
• Press F5 to run the program
Part II - Computer Guesses
• How can the computer guess our number?
• The same way we guessed– Start out with a range of numbers– Each guess, split the answers in half– Eventually, the range will be one number
• We’re now moving past programming to computer science . . .
Guess A Number II
Print instructions to the userInitialize high and low boundaries and status of guess
While guess is incorrect,Formulate a new guess halfway between boundariesAsk for user feedback on guessIf 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
Guess A Number II
print "Pick a number between 0 and 99, I will guess it."print "If I am high, type H, low, type L, and correct type C."low, high, correct = 0, 100, Falsewhile not correct:
guess = (high + low) / 2answer = raw_input("I guess " + str(guess) + ", HLC? ")if answer == "H": high = guesselif answer == "L": low = guesselif answer == "C": correct = Trueelse: print "I don't understand, please enter H, L or C."
print "I found it!"
Other Examples
• Chaos and Fractals
• Can’t Stop the Monkeys
Further References
• Python Home Pagehttp://python.org
• How to Think Like a (Python) Programmerhttp://thinkpython.com
• Graphics Package for Pythonhttp://cs1graphics.org