[Courses] [python] Lesson 2: Loops, if, and beer
Erin McLaughlin
emclaughlin1215 at gmail.com
Sat Jun 25 14:20:25 UTC 2011
> ===================== Homework =======================
>
> 1. Your first programming assignment!
> Write a program for the old "bottles of beer" song. It should print
> something like:
> 99 bottles of beer on the wall
> 98 bottles of beer on the wall
> 97 bottles of beer on the wall
> ... all the way down to 1.
>
> Extra credit: make it print the number twice, e.g.
> 99 bottles of beer on the wall, 99 bottles of beer
for i in range(99, 0, -1) :
if i < 3 :
bottle = "bottle"
else :
bottle = "bottles"
print i, bottle, "of beer on the wall,"
print i, bottle, "of beer"
print "Take one down, pass it around,"
if i == 1 :
print "No bottles of beer on the wall."
else :
print i-1, bottle, "of beer on the wall.\n"
> 2. What does range(0, 10, -1) give? (Try it.)
> Any idea why?
It gives an empty set (or, when stuck in code, skips the for loop all
together), because 10 is greater than zero, but the counter is getting
-1 added to it (decrementing). And python magically knows that this is
not cool.
> 3. How was the length of this lesson? Too much, too little or just right?
I think it was too little, but that's because I am an impatient learner.
> Problem 4 is optional -- it's a little harder, but give it a try,
> and if you don't get it, take a look at the answers other students
> post. But try it on your own first, if you can.
>
> 4. Write a loop using range() that prints out the first five numbers
> as words:
> one
> two
> three
> four
> five
for i in range(1, 6) :
if i == 1 :
print "one"
elif i == 2 :
print "two"
elif i == 3 :
print "three"
elif i == 4 :
print "four"
elif i == 5 :
print "five"
else :
print "wtf why isn't the loop working?"
More information about the Courses
mailing list