A maior rede de estudos do Brasil

Grátis
433 pág.

## Pré-visualização | Página 7 de 50

```the end of this section.

If the statement in the if line is TRUE, then any indented15 lines immediately
below it are executed (not shot… but implemented by the Python interpreter). The
single indented line is:

print n, x

This line prints both the Super-3 number n and it’s value x after cubing and
multiplying by 3 (so you can see for yourself the “333” in the number). Remember, this
line is only “executed” in the event that that if statement above it is TRUE.

15 Indented lines are crucial in Python. Most other languages ignore indents and they are used to
make code easier to read. In Python, indents are part of the language and MUST be used
appropriately. Note the indented lines after the for statement. All those lines are in the for
loop. Likewise, the indented lines immediately after the if statement are part of the if
21
Well, that’s all for the first program. In the next chapter we’ll being working with
graphics. First, though, we are going to try some exercises. These problems will require
you to modify the program we’ve just discussed. If you want to save your original code,
you’ll need to name your newly modified program something different. Suggestions for
names might be ch3ex1.py for Chapter 3 Exercise 1… but you are free to name the
modified programs anything you or your instructor wish.16

Section 3.2 Conclusion
Computers are great at handling input, doing repetitive tasks, producing
calculations, making decisions, and displaying output. The simple Super-3 program we
used as an example in this chapter demonstrated the power of a computer in performing
all of these operations in just a few lines of code. How long do you think it would take
you to find all the Super-3 numbers less than 10000 by hand?

Exercises

1) Super-d numbers are a more general case of Super-3 numbers.17 With Super-d
numbers, you replace d with the number of your choice. For example, Super-4
numbers would be those numbers when raised to the 4th power and multiplied by 4,
contain “4444” somewhere in the calculated value. How would you modify the
Super-3 program to find Super-4 numbers? What is the smallest Super-4 number?

2) Are there any Super-5 numbers less than 10000? What is the smallest Super-5
number? Remember to search for “55555” in the “if” statement!

3) Can you modify the program to search for other patterns? How about the pattern
“1234”?

4) What happens if you change the formula in line 7 to something other than the Super-
d format? You won’t be searching for Super-d numbers, but perhaps you will find
something interesting? Feel free to explore a bit! Search for strange patterns! For
example, search for “314159”.

5) This is a thought question. How many Super-3 numbers are there? Could you use a
computer to find them all?

6) Rewrite the Super-3 program to check for a match using the ">" operator or the ">="
operator.

7) Add some statements to the program to print the values returned by string.find
when the function actually finds a match.

The following exercise is a bit more difficult.

16 But please don’t forget the “.py” suffix! I know, I already told you this but it’s really important.
17 http://mathworld.wolfram.com/Super-dNumber.html
22
8) Python has other methods of looping such as the statement while. Research other
looping methods for Python and see if you can rewrite the program using a different
looping structure. Remember that indentation is important! Also, you will probably
discover that you need to be able to find a way to count or increment the value of the
variable you are using to construct Super-3 numbers. How can you do this? Do you
need to tell Python that the variable is going to store a number rather than a string?
How would you do this?

Chapter 4 Your First OpenGL Program

Section 4.1 The Interactive Python Interpreter

Before we begin with OpenGL, I think it’s appropriate to show you a feature of
Python that we haven’t yet discussed. Start DrPython (if it isn’t already open) and press
the “green Python” button to the right of the program start icon. Your screen should look
something like Figure 4.1.

Figure 4.1

Note the “>>>” in the console area. This prompt tells you that you are in the
interactive Python mode. You can type Python commands at this prompt and they will
be immediately executed. For example, type 3+7 and press enter. It seems Python
knows a little arithmetic! Now type 10/5 and press enter. Of course, Python tells you
the answer is 2. Now type 10/4 and press enter. What gives? Python still answers
with 2! The reason for this behavior is that Python will perform arithmetic according to
the numbers we give it. If we supply only integers in our problem, the results of Python
arithmetic will be an integer. Try 10/4.0 or simply 10/4. and see if you get the answer
24
you expect. As long as one of the numbers we use in the calculation is a floating point
or decimal value, then Python will respond with floating point calculations.1

Python arithmetic may seem quirky, but once you have some programming
experience, it isn’t difficult. Just remember the integer vs. floating point format to avoid
program calculation errors. You might try multiplying, adding, subtracting, and raising
some numbers to a power to see if you get the results you expect.

Before we close the interactive session, type print ‘hello’ and press enter.
No surprise, right? Now type name = ‘Dubbya’ and press enter. Nothing happened!
Well, actually something DID happen… what was it? Type print name, press enter
and see if you were correct. Yes, the string ‘Dubbya’ was stored in the variable name
and we can view the variable contents by using print.

The interactive mode can be useful to perform quick calculations or to check
simple program structures. Before we exit, notice in the message in the lower right
corner of the DrPython window. It should say “Running Python Interpreter”. This tells us
that we are in the interactive mode. Exit the interactive mode by clicking the red
(square) stop button and then clicking on the green monitor button to the left of the
program start icon.2

Section 4.2 Introducing Python OpenGL

We are ready for our first Python OpenGL program. Start DrPython3 and type in
the following lines in the upper programming area, starting with line 1:

# First Python OpenGL Program
# ogl1.py

What do these lines do? Remember, they are remark or comment statements,
so they really don’t DO anything other than provide notes or reminders for you and
anyone else who might read your code. I can't emphasize enough the importance of
using comment statements in your code, particularly as the complexity and length of