if Statementsif-else Statementsif-else Statementif Statementsif-elif-else StatementsYou should read Chapter 4, Repetition Structures, from our textbook, Starting Out with Python, before next week's class.
I have posted homework 4 here.
It is due this coming Sunday at 11:59 PM.
format function
print("Hello")
print("Hello world")
| Escape Character | Effect |
|---|---|
| \n | Causes output to be advanced to the next line |
| \t | Causes output to skip over to the next horizontal tab position |
| \' | Causes a single quote mark to be printed |
| \" | Causes a double quote mark to be printed |
| \\ | Causes a backslash character to be printed |
>>> team = "Red Sox"
>>> print("Let's go", team)
Let's go Red Sox
>>> cheer = "Let's go " + team
>>> print(cheer)
Let's go Red Sox
print("The value is" + value)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
str
print("The balance is " + str(balance))
The balance is 1000
if Statementsif statementif statement contains other statements inside it
if CONDITION:
STATEMENT
STATEMENT
...
if statement is true ...if statement must have a value that can only be true or falseboolTrueFalse
>>> type(True)
<class 'bool'>
>>> type('true')
<class 'str'>
>>> type(False)
<class 'bool'>
>>> type('False')
<class 'str'>
boolbool will convert any number to True if that number is not zero
>>> bool(5) True >>> bool(-5) True >>> bool(0) False
bool works the same way on float values
>>> bool(5.15) True >>> bool(-6.75) True >>> bool(0.0) False
bool also works on strings
>>> bool("true")
True
>>> bool("false")
True
>>> bool("")
False
>>> bool(" ")
True
if statement work we need to create
boolean expressions
| Operator | Meaning |
|---|---|
| > | Greater than |
| < | Less than |
| >= | Greater than or equal to |
| <= | Less than or equal to |
| == | Equal to |
| != | Not equal to |
>>> 5 > 4 True >>> 5 < 4 False >>> 5 >= 4 True >>> 5 <= 4 False >>> 5 == 4 False >>> 5 != 4 True
a > b + 6
| ** | Exponentiation |
| * / // % | Multiplication, division and remainder |
| + - | Addition and subtraction |
| > < >= <= == != | Relational Operators |
if-else Statementsif statement will run the indented statements that follow if the condition is trueif-else statement,
which has the following format
if CONDITION:
STATEMENT
STATEMENT
...
else:
STATEMENT
STATEMENT
...
if clause are executedelse clause are executed
$ cat freezing.py
# this program demonstrates the if_else statement
temp = int(input("Please enter the temperature: "))
if temp <= 32:
print("Water will freeze at this temperature")
else:
print("Water will not freeze at this temperature")
$ python3 freezing.py
Please enter the temperature: 30
Water will freeze at this temperature
if-else Statementif statement and and if-else statement must be indented properlyif clause and the else clause must be alignedif and else are not exactly aligned
you will get an error
>>> if 4 > 3:
... print("4 is ")
... print("greater than 3")
File "<stdin>", line 3
print("greater than 3")
^
>>> "mark" < "marker" True
>>> "Sam" == "sam" False
>>> "abc2"> "abc1" True >>> "abc@" < "abc#" False
if Statementsif statement consists of one or more valid Python statementsif statement is a valid Python statement so you can have an
if statement inside another if statement
if statement
if statements occur frequently
$ cat it443.py
# determines whether a student can take IT 443
# demonstrates nested if statements
print("This program will tell you if you can take IT 443")
answer = input("Have you taken IT 244 (y/n)? ")
if answer == "y":
answer = input("Have you taken IT 341 (y/n)? ")
if answer == "y":
print("You can take IT 443")
else:
print("You must take IT 341 before you can take IT 443")
else:
print("You must take IT 244 before you can take IT 443")
$ python3 it443.py
This program will tell you if you can take IT 443
Have you taken IT 244 (y/n)? y
Have you taken IT 341 (y/n)? y
You can take IT 443
$ cat grade.py
# this programs turns a score into a letter grade
# it demonstrates using nested if statements
# to test for many possible conditions
score = int(input("What is your score? "))
print("Grade", end=" ")
if score >= 90:
print("A")
else:
if score >= 80:
print("B")
else:
if score >= 70:
print("C")
else:
if score >= 60:
print("D")
else:
print("F")
$ python3 grade.py
What is your score? 80
Grade B
$ python3 grade.py
What is your score? 60
Grade D
if-elif-else Statementsif statement would be way off to the rightif statementif-elif-else statement which has the following format
if CONDITION_1:
STATEMENT
...
elif CONDITION_2:
STATEMENT
...
elif CONDITION_3
STATEMENT
...
...
[else:
STATEMENT
...]
else clause indicates that it is optionalelif is short for "else if"if-elif-else statement
$ cat grade2.py
# this program turns a score into a letter grade
# it demonstrates the if_elif_else statement
score = int(input("What is your score? "))
print("Grade", end=" ")
if score >= 90:
print("A")
elif score >= 80 and score < 90:
print("B")
elif score >= 70 and score < 80:
print("C")
elif score >= 60 and score < 70:
print("D")
else:
print("F")
[551] glenn - ~/workspace-mars/it116/resources_it116/code_it116/examples_it116/3_chapter_examples
$ python3 grade2.py
What is your score? 74
Grade C
score = int(input("What is your score? "))
print("Grade", end=" ")
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("F")
else clause
$ cat grade4.py
# this program turns a score into a letter grade
# it demonstrates the if_elif_else statement
# without a final else clause
score = int(input("What is your score? "))
grade = "F"
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
print("Your grade is", grade)
$ python3 grade4.py
What is your score? 44
Your grade is F
else clause