Download slides

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CITS 1401 & CITS4406
Problem Solving & Programming
Ghulam Mubashar Hassan
Lecture 02 – Introduction to Python
(Based on John Zelle’s powerpoint slides)
3 August 2016
Objectives of today’s lecture
• Begin using Python programming language
• Learn how to define simple functions
• Learn about chaotic models
02/29
Executing Single Statements
>>> 2+3
5
>>> 22/7
3.142857142857143
>>> 3**2
9
>>> print(“Hello world”)
Hello world
>>> print(“2+3=“, 2+3)
2+3=5
03/29
Executing Multiple Statements
• To solve a problem, we generally need to execute
more than one statements.
• One way to do this is to use a function
>>> def hello():
print("Hello")
print("Computers are Fun")
>>>
04/29
Defining Functions
• >>> def hello():
print("Hello")
print("Computers are Fun")
>>>
• The first line tells Python we are defining a new function called
“hello”.
• The following lines are indented to show that they are part of the
hello function.
• The blank line (hit enter/return twice) lets Python know the
definition is finished.
05/29
Executing or Invoking a Function
>>> def hello():
print("Hello")
print("Computers are Fun")
>>>
•
Notice that nothing has happened yet! We defined the function, but we
haven’t told Python to perform the function!
•
A function is invoked or executed by typing its name.
>>> hello()
Hello
Computers are Fun
>>>
06/29
Parameters of a Function
• Functions can have changeable parts called parameters
that are placed between the ()’s.
• The function “hello” did not have any parameters.
• Let us define another function that has one parameter.
>>> def greet(person):
print("Hello ", person)
print ("How are you?")
>>>
07/29
Invoking a Function that has parameter(s)
• If we try to execute the function “greet()”
>>> greet()
Traceback (most recent call last):
File "<pyshell#74>", line 1, in <module>
greet()
TypeError: greet() takes exactly 1 argument (0
given)
• It gives us an error because we did not specify the
value of “person”
08/29
Passing Parameter Values to Functions
>>> greet("Terry")
Hello Terry
How are you?
>>> greet("Paula")
Hello Paula
How are you?
>>>
• When we use parameters, we can customize the
output of a function.
09/29
Module File
• When we exit the Python prompt, all functions that we
defined will cease to exist.
• Programs are usually composed of functions, modules or
scripts that are saved on disk so that they can be used again
• A module file is a text file created in text editing software
(saved as “plain text”) that contains function definitions.
• A programming environment is designed to help
programmers write programs and usually includes
automatic indenting, highlighting, etc.
10/29
Creating a Module File
# File: chaos.py
# A simple program illustrating chaotic behaviour
def main():
print("This program illustrates a chaotic function")
x = eval(input("Enter a number between 0 and 1: "))
for i in range(10):
x = 3.9 * x * (1 - x)
print(x)
main()
•
•
•
We use filename.py when we save our work to indicate it’s a Python program.
Above, we are defining a new function called main().
The main() at the end tells Python to run the code.
11/29
Executing chaos.py
>>>
This program illustrates a chaotic function
Enter a number between 0 and 1: .5
0.975
0.0950625
0.335499922266
0.869464925259
0.442633109113
0.962165255337
0.141972779362
0.4750843862
0.972578927537
0.104009713267
>>>
12/29
Inside a Python Program
# File: chaos.py
# A simple program illustrating chaotic
behaviour
• Lines that start with # are called comments
• Intended for human readers and ignored by Python
• Python skips text from # to end of line
13/29
Inside a Python Program
def main():
• Beginning of the definition of a function called main
• Since our program has only this one module, it could
have been written without the main function.
• The use of main is customary, however.
14/29
Inside a Python Program
print("This program illustrates a chaotic function")
• This line causes Python to print a message introducing the
program.
15/29
Inside a Python Program
x = eval(input("Enter a number between 0 and 1: "))
• x is an example of a variable
• A variable is used to assign a name to a value so that we can
refer to it later.
• The quoted information is displayed, and the number typed in
response is stored in x.
16/29
Inside a Python Program
for i in range(10):
• “for” is a loop construct
• A loop tells Python to repeat the same thing over and over.
• In this example, the following code will be repeated 10 times.
17/29
Inside a Python Program
x = 3.9 * x * (1 - x)
print(x)
• These lines are the body of the loop.
• The body of the loop is what gets repeated each time through
the loop.
• The body of the loop is identified through indentation.
• The effect of the loop is the same as repeating this two lines
10 times!
18/29
Loop is equivalent to writing the same statements
multiple time.
for i in range(10):
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
These two are equivalent
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
x = 3.9 * x * (1 - x)
print(x)
19/29
Inside a Python Program
x = 3.9 * x * (1 - x)
• This is called an assignment statement
• The part on the right-hand side (RHS) of the “=“ is a
mathematical expression.
• * is used to indicate multiplication
• Once the value on the RHS is computed, it is stored back into
(assigned) into x
20/29
Inside a Python Program
main()
• This last line tells Python to execute the code in the
function main
21/29
Chaos and Computers
•
The chaos.py program:
def main():
print("This program illustrates a chaotic function")
x = eval(input("Enter a number between 0 and 1: "))
for i in range(10):
x = 3.9 * x * (1 - x)
print(x)
main()
•
For any given input, returns 10 seemingly random numbers between 0 and 1
•
It appears that the value of x is chaotic
22/29
Chaos and Computers
• The function computed by program has the general form
( )(1 − ) where is 3.9
• This type of function is known as a logistic function.
• It models certain kinds of unstable electronic circuits.
• A mathematical model is chaotic if very small difference in the
initial value can have large differences in the output.
23/29
Chaotic Value Comparison
Input: 0.25
0.73125
0.76644140625
0.698135010439
0.82189581879
0.570894019197
0.955398748364
0.166186721954
0.540417912062
0.9686289303
0.118509010176

Input: 0.26
0.75036
0.73054749456
0.767706625733
0.6954993339
0.825942040734
0.560670965721
0.960644232282
0.147446875935
0.490254549376
0.974629602149

24/29
Executing a Python Program from a File
• We can run a program in a module file any time we want
using one of the following methods
1.
Using IDLE, the easiest way is to select Run -> Run Module from the text
editor window (for all operating systems)
2.
OR use the shortcut key F5 (windows) and fn+F5 (Mac OS)
3.
In command line (windows) or terminal (Mac OS), enter “python
chaos.py” (paths must be specified)
4.
You can also double click the .py file in Windows to run it
25/29
Importing a module to the Python Shell
>>> import chaos
This program illustrates a chaotic function
Enter a number between 0 and 1: .25
0.73125
.
.
>>>
• This tells Python interpreter to load the chaos module from the file
chaos.py into the main memory.
•
Since the last statement of chaos.py was “main()” the function main will
get executed upon importing chaos.
26/29
Importing a Module
•
When Python imports a module, it executes each line.
•
The “def” causes Python to create the “main” function.
•
When Python encounters the last line, it executes the main () function
•
Upon first import, Python creates a companion file with .pyc extension.
This is an intermediate file containing the byte code used by the
interpreter.
•
Modules need to be imported in a session only once.
• We can execute a function defined in a module by typing
>>> chaos.main()
27/29
Modules and Functions
• We can define multiple functions in a module file
• We can call a function by typing
moduleFileName.functionName()
• To make programming easy, Python will present us with a list
of functions in the module when we type the module name
and follow it with a dot
28/29
Summary
• Python is an interpreted language. We can execute
commands directly in a shell or write a module file.
• A Python program is a sequence of commands (statements)
for the interpreter to execute. It can take input from the
user, print output to the screen and run a set of statements
multiple times in a loop.
• A mathematical model is chaotic if very small changes in
the input lead to very large changes in the output making is
seemingly random. Many real world phenomena exhibit
chaotic behaviour and the power of computing is used to
model such phenomena.
29/29