Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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