5. Loops Let's Learn Python and Pygame Aj. Andrew Davison, CoE, PSU Hat Yai Campus E-mail: ad@fivedots.coe.psu.ac.th 5. Loops Make a program do things over-and-over-and over again. Counting loops; Conditional loops. Games: guessing, ghost, hangman.
1. Counting Loop Loop1.py
Using the Counting Loop Variable Loop2.py The [ … ] is called a list. More later
Using the Counting Loop Var. Loop3.py
Counting without Numbers Coolest.py A list can contain anything, not just numbers
Counting Loop Using a Range Loop4.py Counting Loop Using a Range Less typing, but it goes from 1 to 4
Eight Times Table EightTimes.py This range goes from 1 to 10
Range with a Step Amount BlastOff.py This range goes from 10 to 1 in a step of -1 This program took 10 secs to run.
2. Drawing a Turtle Square from turtle import Turtle t = Turtle() t.forward(100) t.right(90) This is Square.py from the Modules slides. The forward() and right() code is repeated four times. A loop will make this code smaller, and easier to change.
Square.py with a Loop
Square1.py with Variables The variables make it easy to change the code. What if numSides == 3 and angle = 120?
Shape.py
Connect No. Sides and Angle For a square, numSides == 4, angle == 90 For a triangle, numSides == 3, angle == 120 The math connection: numSides * angle == 360 Test it. A 5-sided shape (pentagon) means: 5 * angle == 360 so angle = 360/5
Revised Shape.py
Make Shape Code Easier to Use In ShapeInput.py read in the numSides data using the turtle command numinput() calculate the angle using the numSides data
ShapeInput.py
A Square Spiral SquareSpiral1.py
SquareSpiral3.py Square (90 91) + Color no need to write 1..100
Square Circle
ColorSquareSpiral.py Square Spiral Again with different colors
3. Conditional Loops A conditional loop uses a test to decide when to stop looping the same kind of test as in "if"
Eight Times Table Again WhileLess.py i < 11 is the test the while body is run over and over most while body's need to include an increment
Flowchart for Conditional Loop program execution i = 1 no; so finish i < 11? yes; keep going loop back. action i = i + 1 execution continues...
Eight Times Table Problem WhileProb.py Eight Times Table Problem I typed ctrl-c i never changes because there is no increment. This means i never reaches 11 and so the loop never ends.
While that Likes "3" While3.py
Using break in a Loop Breaker.py break makes Python leave the loop
4. A Number Guessing Game GuessingGame.py
Uses two modules; a while loop; if tests