Truth and flow control in Python: Difference between revisions
First couple sections |
Add section on flow control & equality operator |
||
| Line 28: | Line 28: | ||
==Comparison Operators== | ==Comparison Operators== | ||
Python has a number of built-in comparison operators. They are very versatile and can often be used across data types. | |||
=== Equality=== | |||
The Python operator for Equality is ==. Let's try it out: | |||
>>> 1==1 | |||
True | |||
>>> "1"=="1" | |||
True | |||
>>> 2+4 == 24 | |||
False | |||
>>> "2"+"4" == "24" | |||
True | |||
==Flow Control== | |||
Now that you know all these great ways to work with booleans, let's use them! Python uses a simple keyword called "if" to determine ''if'' it should execute a section of code. You can tell which lines are in this section by the level of indentation. The general format of if goes like this: | |||
if [Boolean Expression]: | |||
some code | |||
rest of code | |||
This allows for very simple logic. What if you want to have two options, similar to "case" in other languages? Instead of Case, python uses "elif". | |||
if [Boolean Expression]: | |||
code | |||
elif [Boolean Expression]: | |||
More code | |||
else: | |||
Even more code | |||
rest of program | |||
One thing that's important to realize is that if the boolean expression for the first "if" is True, nothing in the elif section will execute, nor will anything in the else section. If there are multiple things that could evaluate to True, use multiple if statements. | |||
That code sample also introduced the "else" statment. Else gets executed if the "if" statement's boolean expression, and the boolean expressions for all elifs (if there are any), evaluate to False. | |||
So, how about some actual code? Here's a simple program; try entering this into IDLE and running it. | |||
name = raw_input("What is your name?") | |||
if name == "": | |||
print "Hey! You didn't enter a name!" | |||
elif name == "spam" or name == "eggs": | |||
print "A moose once bit my sister!" | |||
else: | |||
print "Nice to meet you, %s." % name | |||
Revision as of 15:50, 24 February 2007
Boolean Expressions
Python has a Boolean type. The two values for this type are True and False. Note the capitalization: the first letter must be capitalized. Most text editors, including IDLE, will highlight True and False when properly capitalized.
The bool() Function
If you need to convert something into a boolean value, use the bool() function. For example:
>>> bool(1) True >>> bool(0) False >>> bool(500) True >>> bool(-1) True
In Python, the integer 0 evaluates to False. All other integers will evaluate to True. As a general rule, try to avoid using Floating Point numbers in boolean expressions: use the int() operator to turn them into integers first.
Strings behave similarly: an empty string evalueates to False, all other strings evaluate to True.
>>> bool("Hello World!")
True
>>> bool("")
False
>>> bool("True")
True
>>> bool("False")
True
>>> bool("0")
True
Note that what is in the string does not matter: It can be "0", "False" or "ReallyReallyFalse": Everything that is not simply an empty string will evaluate to true.
Comparison Operators
Python has a number of built-in comparison operators. They are very versatile and can often be used across data types.
Equality
The Python operator for Equality is ==. Let's try it out:
>>> 1==1 True >>> "1"=="1" True >>> 2+4 == 24 False >>> "2"+"4" == "24" True
Flow Control
Now that you know all these great ways to work with booleans, let's use them! Python uses a simple keyword called "if" to determine if it should execute a section of code. You can tell which lines are in this section by the level of indentation. The general format of if goes like this:
if [Boolean Expression]:
some code
rest of code
This allows for very simple logic. What if you want to have two options, similar to "case" in other languages? Instead of Case, python uses "elif".
if [Boolean Expression]:
code
elif [Boolean Expression]:
More code
else:
Even more code
rest of program
One thing that's important to realize is that if the boolean expression for the first "if" is True, nothing in the elif section will execute, nor will anything in the else section. If there are multiple things that could evaluate to True, use multiple if statements.
That code sample also introduced the "else" statment. Else gets executed if the "if" statement's boolean expression, and the boolean expressions for all elifs (if there are any), evaluate to False.
So, how about some actual code? Here's a simple program; try entering this into IDLE and running it.
name = raw_input("What is your name?")
if name == "":
print "Hey! You didn't enter a name!"
elif name == "spam" or name == "eggs":
print "A moose once bit my sister!"
else:
print "Nice to meet you, %s." % name