Difference between revisions of "If ... Else in Python"
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Python Conditions and If statements | + | =Python Conditions and If statements= |
Python supports the usual logical conditions from mathematics: | Python supports the usual logical conditions from mathematics: | ||
Line 18: | Line 18: | ||
An "if statement" is written by using the "if" keyword. | An "if statement" is written by using the "if" keyword. | ||
+ | ==If statement:== | ||
+ | <syntaxhighlight lang="Python"> | ||
+ | import time | ||
+ | a = 33 | ||
+ | b = 200 | ||
+ | while True: | ||
+ | if b > a: | ||
+ | print("b is greater than a") | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | ==elif:== | ||
+ | |||
+ | Example: The elif keyword is Python's way of saying "if the previous conditions were not true, then try this condition". | ||
+ | |||
+ | <syntaxhighlight lang="Python"> | ||
+ | |||
+ | import time | ||
+ | a = 33 | ||
+ | b = 33 | ||
+ | while True: | ||
+ | if b > a: | ||
+ | print("b is greater than a") | ||
+ | time.sleep(1) | ||
+ | elif a == b: | ||
+ | print("a and b are equal") | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==else:== | ||
+ | The else keyword catches anything which isn't caught by the preceding conditions. | ||
+ | <syntaxhighlight lang="Python"> | ||
+ | import time | ||
+ | a = 200 | ||
+ | b = 33 | ||
+ | while True: | ||
+ | if b > a: | ||
+ | print("b is greater than a") | ||
+ | time.sleep(1) | ||
+ | elif a == b: | ||
+ | print("a and b are equal") | ||
+ | time.sleep(1) | ||
+ | else: | ||
+ | print("a is greater than b") | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | In this example a is greater than b, so the first condition is not true, also the elif condition is not true, so we go to the else condition and print to screen that "a is greater than b". | ||
+ | |||
+ | You can also have an else without the elif: | ||
+ | <syntaxhighlight lang="Python"> | ||
+ | import time | ||
+ | a = 200 | ||
+ | b = 33 | ||
+ | while True: | ||
+ | if b > a: | ||
+ | print("b is greater than a") | ||
+ | time.sleep(1) | ||
+ | else: | ||
+ | print("b is not greater than a") | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==And== | ||
+ | |||
+ | The and keyword is a logical operator, and is used to combine conditional statements: | ||
+ | |||
+ | Example | ||
+ | Test if a is greater than b, AND if c is greater than a: | ||
+ | |||
+ | <syntaxhighlight lang="Python"> | ||
+ | |||
+ | import time | ||
+ | a = 200 | ||
+ | b = 33 | ||
+ | c = 500 | ||
+ | while True: | ||
+ | if a > b and c>a: | ||
+ | print("Both conditions are True") | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Or== | ||
+ | The or keyword is a logical operator, and is used to combine conditional statements: | ||
+ | |||
+ | Example | ||
+ | Test if a is greater than b, OR if a is greater than c: | ||
+ | |||
+ | <syntaxhighlight lang="Python"> | ||
+ | import time | ||
+ | a = 200 | ||
+ | b = 33 | ||
+ | c = 500 | ||
+ | while True: | ||
+ | if a > b or a>c: | ||
+ | print("At least one of the conditions is True") | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Not== | ||
+ | |||
+ | The not keyword is a logical operator, and is used to reverse the result of the conditional statement: | ||
+ | |||
+ | Example: | ||
+ | Test if a is NOT greater than b: | ||
+ | <syntaxhighlight lang="Python"> | ||
+ | import time | ||
+ | a = 33 | ||
+ | b = 200 | ||
+ | |||
+ | while True: | ||
+ | if not a > b: | ||
+ | print("a is NOT greater than b") | ||
+ | time.sleep(1) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Nest if== | ||
+ | |||
+ | You can have if statements inside if statements, this is called nested if statements. | ||
+ | |||
+ | <syntaxhighlight lang="Python"> | ||
+ | import time | ||
+ | x=41 | ||
+ | |||
+ | while True: | ||
+ | if x >10: | ||
+ | print("above 10,") | ||
+ | time.sleep(1) | ||
+ | if x > 20: | ||
+ | print("and also above 20!") | ||
+ | else: | ||
+ | print("but not above 20.") | ||
+ | </syntaxhighlight> | ||
--------------------------------------------------- | --------------------------------------------------- | ||
https://www.w3schools.com/python/python_conditions.asp | https://www.w3schools.com/python/python_conditions.asp | ||
+ | |||
+ | Now let's replace the x with real time values of the light sensor from CPX | ||
+ | |||
+ | <syntaxhighlight lang="Python"> | ||
+ | import time | ||
+ | from adafruit_circuitplayground import cp | ||
+ | |||
+ | |||
+ | while True: | ||
+ | x = cp.light | ||
+ | print("Light:", cp.light) | ||
+ | if x >10: | ||
+ | print("above 10,") | ||
+ | time.sleep(1) | ||
+ | if x > 20: | ||
+ | print("and also above 20!") | ||
+ | else: | ||
+ | print("but not above 20.") | ||
+ | </syntaxhighlight> |
Latest revision as of 13:40, 3 September 2024
Python Conditions and If statements
Python supports the usual logical conditions from mathematics:
Equals: a == b
Not Equals: a != b
Less than: a < b
Less than or equal to: a <= b
Greater than: a > b
Greater than or equal to: a >= b
These conditions can be used in several ways, most commonly in "if statements" and loops.
An "if statement" is written by using the "if" keyword.
If statement:
import time
a = 33
b = 200
while True:
if b > a:
print("b is greater than a")
time.sleep(1)
elif:
Example: The elif keyword is Python's way of saying "if the previous conditions were not true, then try this condition".
import time
a = 33
b = 33
while True:
if b > a:
print("b is greater than a")
time.sleep(1)
elif a == b:
print("a and b are equal")
time.sleep(1)
else:
The else keyword catches anything which isn't caught by the preceding conditions.
import time
a = 200
b = 33
while True:
if b > a:
print("b is greater than a")
time.sleep(1)
elif a == b:
print("a and b are equal")
time.sleep(1)
else:
print("a is greater than b")
time.sleep(1)
In this example a is greater than b, so the first condition is not true, also the elif condition is not true, so we go to the else condition and print to screen that "a is greater than b".
You can also have an else without the elif:
import time
a = 200
b = 33
while True:
if b > a:
print("b is greater than a")
time.sleep(1)
else:
print("b is not greater than a")
time.sleep(1)
And
The and keyword is a logical operator, and is used to combine conditional statements:
Example Test if a is greater than b, AND if c is greater than a:
import time
a = 200
b = 33
c = 500
while True:
if a > b and c>a:
print("Both conditions are True")
time.sleep(1)
Or
The or keyword is a logical operator, and is used to combine conditional statements:
Example Test if a is greater than b, OR if a is greater than c:
import time
a = 200
b = 33
c = 500
while True:
if a > b or a>c:
print("At least one of the conditions is True")
time.sleep(1)
Not
The not keyword is a logical operator, and is used to reverse the result of the conditional statement:
Example: Test if a is NOT greater than b:
import time
a = 33
b = 200
while True:
if not a > b:
print("a is NOT greater than b")
time.sleep(1)
Nest if
You can have if statements inside if statements, this is called nested if statements.
import time
x=41
while True:
if x >10:
print("above 10,")
time.sleep(1)
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
https://www.w3schools.com/python/python_conditions.asp
Now let's replace the x with real time values of the light sensor from CPX
import time
from adafruit_circuitplayground import cp
while True:
x = cp.light
print("Light:", cp.light)
if x >10:
print("above 10,")
time.sleep(1)
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")