260 likes | 485 Views
Python (yay!). November 16, Unit 7. Recap. We can store values in variables using an assignment statement >>>x = 4 + 8 We can get input from the user using raw_input() >>>name = raw_input(“Enter your name”) We can change the data from one type to another
E N D
Python (yay!) November 16, Unit 7
Recap • We can store values in variables using an assignment statement >>>x = 4 + 8 • We can get input from the user using raw_input() >>>name = raw_input(“Enter your name”) • We can change the data from one type to another >>>num = int(raw_input(“Enter a number”))
Conditional Statements • So far the programs we’ve written are pretty boring • Like with XSL we can use conditional statements to do more • Basically conditional statements check to see if something is true. • If it is true, some code is executed • Perhaps if its not true, different code is executed • Simplest conditional statement is the “if” statement
The If Statement • The if statement in Python works just like the if statement in XSL • The syntax is different • Concept is the same • If the number is less than 5, print “that number is less than 5” • If the name is “C.S.Lewis”, print “this book is by C.S.Lewis”
If Statement, cont. num = int(raw_input(“Enter a number less than 10”)) if num>10: print “That number is bigger than 10. You can’t follow directions” print “Thanks for playing!”
If, cont. • The syntax for the if statement is as follows: if expression: code • The code you want executed if the expression is true must be indented • This is the body of your if statement • Spacing is important in python • You should indent consistently • Convention is to indent 4 spaces (use the tab) • When you stop indenting, the body of the if statement is considered to be done • The code after the indention will execute no matter what
In-Class Example • Using if statements
Boolean Expressions • When we use an if statement, the result of the expression is either true or false • if 4<3: (false) • if 3<4: (true) • The result of the expression must be true or false • Otherwise it doesn’t make sense • These are called boolean expressions • The two boolean values are “true” and “false”
Boolean Values, cont. • Boolean values in python (like most languages) are stored as integers • 0 represents false • 4<3 as an expression has the value 0 • Any other integer (usually 1) represents true • 3<4 has the value of 1 • You can actually write code like: if 1: …… if 5: …….
Boolean Expressions • We’re pretty used to seeing <, <=, >, >= in conditional statements • They make sense and read just like regular English • What if we want to check if something is equal to something else? • if 4-3 = 1: • This is an assignment statement • Does not check to see if 4 minus 3 equals 1 • We need to use the == operator • if 4-3 ==1: • If we want to check if two items are not equal use the != operator - if 4-2!=1:
Else Clause • In XSL we can use <xsl:choose>, <xsl:when>, and <xsl:otherwise> • This provides us with a sort of if, else if, else if….else structure • Python has something similar • We can use the else clause to provide a sort of “if not” If 3<4 then print “woohoo” else print “darn. I don’t know math” • Code inside the else clause will be executed only if the expression in the if statement evaluates to false
If Else Example guess = int(raw_input(“Pick a number between 1 and 10”)) if guess<=10: print “Good job!” else: print “Can’t you follow directions!?”
In-Class Example • Example using if/else • Example using strings
elif block: Else if • The if/else structure is pretty useful • There is one more component to this structure: the “else if” block • Basically we can now write code that reads something like: • if, else if, else if, …..,else • To use an else if structure we need the word “elif” • elif requires an expression (just like if)
Elif Example if guess== number: print “you guessed it!” elif guess< number: print “that’s too low” else: print “that’s too big!”
In-Class Example with elif • Changing the number guessing game to use elif • Inventory with elif
We Can Nest “if” Statements • We can nest if statements inside other if statements • Or inside elif statements • Or inside else statements • Basically anywhere • Remember that nested ifs are only executed if the outer ifs are evaluated as true
In-Class nested If example • Checking to be sure the number is within range
Random Number • So far we have had to pre-select a number for the user to guess • num = 7 • It’s the same every time • Pretty boring once you guess the number • It would be better if every time we ran the program it chose a random number for us to guess • In order to use random numbers it requires two parts: • Importing the random module • Using a function from the random module to generate our random number
Random Numbers, cont. import random num = random.randint(1,10) • Import tells python to include the random module • There are lots of modules • More on this later • random.randint(1,10) • In the random module, use the randint function to select a random number between 1 and 10 • This is assigned to the variable num • random.randint(5, 50) • Select a random integer between 5 and 50
In-Class Example • Adding a random number to our guessing game
Libraries • It would stink if every time we needed a random number we had to write the code to produce one • Or how about something like calculating the sin of a number • Or the square root • With most programming languages some functions are included with the language • These are usually grouped into libraries • We only have to import the libraries or modules we need • If we imported every module it would take a long time to run • In python, all of the prepackaged functions are considered to be part of the python library • The individual parts we will import will be modules or libraries • Terms are pretty much interchangeable • Slightly different terminology from other languages
Modules • When we needed the random number we had to import the random module • The random module contains a function called randint() which is what actually gives us the random number • The syntax for importing a module is: import moduleName • We only import the modules we need
Accessing Functions in Modules • To use a function found in a module we have to use the following syntax: moduleName.functionName(…) • There are a lot of modules • There is a link to the reference on the course page • Some of the common ones are random, math, and cmath • We’ll be covering many more modules
In-Class Example • Import the string module • Use it to uppercase an entire string
Questions? • What you should get from this lecture: • If statements • else clause • elif clause • Nesting if statements • How to produce a random integer • How to access functions in modules