Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gauld A.Learning to program (Python)_1.pdf
Скачиваний:
23
Добавлен:
23.08.2013
Размер:
1.34 Mб
Скачать

The Basics

Simple Sequences

What will we cover?

Single commands, the use of Python as a calculator, using brackets to get the correct result and using format strings to combine text and numbers. Finally we see how to quit Python from within a program.

A simple sequence of instructions is the most basic program you can write. The simplest sequence is one containing a single command. We will try out some of these now. The heading will describe what you should type at the '>>>' Python prompt, the following paragraph will explain what happens.

>>> print 'Hello there!'

The print command is the way to get Python to display its results to you. In this case it is printing the sequence of characters H,e,l,l,o, ,t,h,e,r,e,!. Such a sequence of characters is known in programming circles as a string of characters or a character string or just a plain string.

You signify a string by surrounding it in quotes. You can use either single quotes(as above) or double quotes: "a string ". This allows you to include one type of quote within a string which is surrounded by the other type - useful for apostrophes:

>>> print "Monty Python's Flying Circus has a ' within it..."

It's not just strings that can be printed:

>>>print 6 + 5

Here we have printed the result of an arithmetic operation - we added six and five. Python recognized the numbers as such and the plus sign and did the sum for us. It then printed the result.

So straight away you have a use for Python: its a handy 'pocket calculator'! Try a few more sums. Use some other arithmetic operators:

subtract (-)

multiply (*)

divide (/)

Combine multiple expressions like:

>>> print ((8 * 4) + (7 - 3)) / (2 + 4)

Notice the way I used brackets to group the numbers together. What happens if you type the same sequence without the brackets? This is because Python will evaluate the multiplication and division before the addition and subtraction. This is usually what you would expect mathematically speaking but it may not be what you expect as a programmer! All programming languages have rules to determine the sequence of evaluation of operations and this is known as operator precedence. You will need to look at the reference documentation for each language to see how it works. With Python it's usually what logic and intuition would suggest, but occasionally it won't be...

16

As a general rule its safest to include the brackets to make sure you get what you want when dealing with long series of sums like this.

One other thing to note:

>>> print 5/2

results in a whole number (integer) result (i.e. 2). This is because Python sees that the numbers are whole numbers and assumes you want to keep them that way. If you want decimal fractions as a result simply write one number as a decimal:

>>> print 5/2.0 2.5

Python sees the 2.0 and realizes that we are happy dealing with fractions (referred to as real numbers or floating point in computing parlance), so it responds with a fractional result. If you want to keep with whole numbers you can find the remainder by using the % sign like a division operator. Python will print the remainder:

>>>print 7/2

3

>>>print 7%2

1

>>>print 7%4

3

% is known as the modulus or mod operator and in other languages is often seen as MOD or similar.

Experiment and you will soon get the idea.

>>>print 'The total is: ', 23+45

You've seen that we can print strings and numbers. Now we combine the two in one print statement, separating them with a comma. We can extend this feature by combining it with a useful Python trick for outputting data called a format string:

>>> print "The sum of %d and %d is: %d" % (7,18,7+18)

In this command the format string contains '%' markers within it. The letter 'd' after the % tells Python that a 'decimal number' should be placed there. The values to fill in the markers are obtained from the values inside the bracketed expression following the % sign on its own.

There are other letters that can be placed after the % markers. Some of these include:

%s - for string

%x - for hexadecimal number

%0.2f - for a real number with a maximum of 2 decimal places

%04d - pad the number out to 4 digits with 0's

The Python documentation will give lots more...

In fact you can print any Python object with the print command. Sometimes the result will not be what you hoped for (perhaps just a description of what kind of object it is) but you can always print it.

17