Strings and conditionals

Download Report

Transcript Strings and conditionals

Python: Part 4
CATHERINE AND ANNIE
Strings
 Strings are interesting creatures. Although words are strings, anything
contained within a set of quotes is treated as a string in Python
 Examples: ‘38949’ is a string, as is ‘…\w{][{}’, as is ‘hello world!’
 Spaces count as characters! So do punctuation marks
 Computers treat strings like ‘lists’ of characters, all strung together
 So you can access each character of a string using exactly the same
syntax that you would to access an element in a list
 In your folder, open the file that says “stringExample.py”
 Right-click > Edit with IDLE
 How do you think the for loop in this program works? What would
happen if we didn’t include the comma after the print statement in the
loop?
ASCII
 ASCII stands for American Standard Code for Information Interchange
(meaning it’s a way to communicate information)
 In ASCII, each character, including numbers, punctuation, and white
space characters are given a number, which is its ASCII value
 You can see a full ASCII table at http://en.wikipedia.org/wiki/Ascii
 There are two methods that you can use with ASCII:
 ord(x) – gives you the ASCII value of x, a character
 chr(x) – gives you the character that corresponds to x, an ASCII
value
 You can use ord and chr to do some very simple cryptography (ask
Annie or me about it later if you want to know more)
Some useful string operators
 + joins two strings together
Example: ‘soccer’ + ‘ball’ = ‘soccerball’
 * repeats a string
 Example: ‘cool’ * 3 = ‘coolcoolcool’
 Indexing, works the same way indexing with lists does
 word = ‘hello’, word[1] = ‘e’
 Slicing
 Used if you want to access a smaller section of a string;
looks kind of like indexing
 word[1:4] = ‘ell’ **NOTE: this did not return word[4];
slicing is exclusive: it goes up to, but does not include the
second index

The string library
 Just as there is a math library that you can use in
your programs, there is also a string library that you
can use
 At the top of the program, you must type import
string
 This tells the computer that you want to see the
functions contained in the string library file
More of the string library
 Here’s a partial list of the functions contained in the string
library:
 string.capitalize(s) – capitalizes s (a string you would give the
computer)
 string.upper(s) – makes all the characters of s capital letters
 string.strip(s) – removes all the white space (blank spaces,
tabs, etc.) from the beginning and end of s
 string.find(s, sub) – sub is a smaller string that you want to
find within the larger string, s
 string.count(s, sub) – counts the number of times sub occurs
in s
Conditionals
 Do you remember the work we did with logic gates
yesterday?
 Both of these are also used in Python
 When might you want to use conditionals?
Boolean logic: a quick review
 There are a few basic logic gates that we’re working with:
NOT: Requires one input, and makes the input opposite; turns true into false and
false into true
 OR: Requires two inputs, and as long as one input is true, then the OR gate
returns true (or 1)
 AND: Requires two inputs, and both must be true in order for the AND gate to be
true (or 1)
 Then there are the exclusive gates (which we don’t really have to worry about)
 XOR: Works the same as OR, except that if both inputs are true, XOR is false
 XAND: If one input is true, XAND is true. If both inputs are true, XAND is false
 And last are the gates that combine NOT and either AND or OR
 NAND: AND + NOT
For both of these, complete the
 NOR: OR + NOT

OR or AND gate first, and then negate it
using NOT
Some quick practice using the Python shell
 Let’s open the Python shell and see this logic at work
 Type in this: x = 5 then press Enter
 Now type in x == 4 or x > 2 then press Enter. Did
you get the result you were expecting?
 Type in x == 5 and x > 8 then press Enter. Did you
get the result you were expecting?
Conditional statements
 Conditional statements are statements that depend on one
or more conditions.
 Conditional statements are used in programming when you
want to complete a task, but only when certain conditions
are met.
 Example: You want to find the sum of two numbers, but
only if they are both less than 5. How could you test that?
 You (the programmer) set the condition, but the computer
decides whether or not the condition is met!
 There are a few different structures you can use with
conditional statements in Python
If-statements
 The simplest kind of conditional is a simple if-
statement. Python evaluates the condition of the ifstatement is true, the statement is completed.
Otherwise, Python ignores it and moves on.
 Syntax: if(<condition>):


The condition can be anything you like, and there can be one
or more than one. You can also use the logic gates OR and
AND to test multiple conditions
Example:
If-else statements
 If-else statements are used when you want the computer to
perform an action even if the condition of your if-statement isn’t
true.
 For example: as long as two number are each less than five,
find their sum. Otherwise, find their difference.
 Coded:
 Though an if-statement on its own will be ignored if its condition
is false, an if-else statement will go straight to the else if the if
statement’s condition is false
 Notice that an else statement has no condition
If-elif-else statements
 If-elif-else statements are used when there are three or more
options
 For example: A traffic light. IF the light is red, stop. ELSE IF
the light is yellow, go. ELSE: go (because the only possibility
left is that the light is green.)
 The “elif” stands for else if
 There is only ever one if statement and one else statement but
there can be as many elif statements as you want.
 Each condition is evaluated, beginning with the if and ending
with the else. Whenever the computer reaches a statement for
which the condition is true, it performs that code within that
statements and then skips the rest of the statements
What structure would you use in each of
these situations?
 Determining where a point is on the Cartesian plane
 If-elif-else
 Determining the winner of a basketball game
 If-else
 Determining the number of days in a month
 If-elif-else
 Determining whether you passed a class or not
 If-else
Your turn!
 Open the file called “Python – Lesson 4 Exercises”
and complete the exercises