Conditional Conjunctions and Disjunctions
Conditional Conjunctions and Disjunctions
Conditional Conjunctions
Introduction
In the previous lesson, we learned how to use some keywords (if, elif, and else). The next step to manage the various situations of a program is to combine conditions. You have various options.
Practical Learning: Introducing Else Conditions
print("============================================")
print("\t - Georgia - State Income Tax -")
print("============================================")
filing_status : str
added_amount : float
tax_rate : float
gross_salary : float
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
# Georgia
filing_status = 'Married Filing Joint or Head of Household'
if gross_salary >= 10_000:
tax_rate = 5.75
added_amount = 340
elif gross_salary >= 7_000:
tax_rate = 5.00
added_amount = 190
elif gross_salary >= 5_000:
tax_rate = 4.00
added_amount = 110
elif gross_salary >= 3_000:
tax_rate = 3.00
added_amount = 50
elif gross_salary >= 1_000:
tax_rate = 2.00
added_amount = 10
else: # if gross_salary < 1_000:
tax_rate = 1.00
added_amount = 0
tax_amount = added_amount + (gross_salary * tax_rate / 100.00)
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t- Georgia - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Filing Status: {filing_status:s}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 999.99
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 999.99
Filing Status: Married Filing Joint or Head of Household
Tax Rate: 1.00%
Tax Amount: 10.00
Net Pay: 989.99
==========================================================================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 1000.00
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 1000.00
Filing Status: Married Filing Joint or Head of Household
Tax Rate: 2.00%
Tax Amount: 30.00
Net Pay: 970.00
==========================================================================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 5726.87
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 5726.87
Filing Status: Married Filing Joint or Head of Household
Tax Rate: 4.00%
Tax Amount: 339.07
Net Pay: 5387.80
==============================================print("============================================")
print("\t - Georgia - State Income Tax -")
print("============================================")
filing_status : str
added_amount : float
tax_rate : float
gross_salary : float
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
# Georgia
filing_status = 'Single'
if gross_salary >= 7_000:
tax_rate = 5.75
added_amount = 230
elif gross_salary >= 5_250:
tax_rate = 5.00
added_amount = 143
elif gross_salary >= 3_750:
tax_rate = 4.00
added_amount = 83
elif gross_salary >= 2_250:
tax_rate = 3.00
added_amount = 38
elif gross_salary >= 750:
tax_rate = 2.00
added_amount = 8
else: # if gross_salary < 750:
tax_rate = 1.00
added_amount = 0
tax_amount = added_amount + (gross_salary * tax_rate / 100.00)
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t- Georgia - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Filing Status: {filing_status:s}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 749.99
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 749.99
Filing Status: Single
Tax Rate: 1.00%
Tax Amount: 7.50
Net Pay: 742.49
==========================================================================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 150.00
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 150.00
Filing Status: Single
Tax Rate: 1.00%
Tax Amount: 1.50
Net Pay: 148.50
==========================================================================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 5726.87
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 5726.87
Filing Status: Single
Tax Rate: 5.00%
Tax Amount: 429.34
Net Pay: 5297.53
==============================================Nesting a Conditional Statement
You can create a conditional statement in the body of another conditional statement. This is referred to as nesting the condition. The condition nesting can be formulated as follows:
if condition1: # The nesting, main, parent, first, or external condition
if condition2: # The nested, child, second, or internal condition
statement(s)
The first condition1 will be checked. If it evaluates to True, then the nested condition, condition2, will execute. If the first condition1 evaluates to False, the nested condition will not be checked. Here is an example:
print("Make the following selections to evaluate your employment benefits")
work_status : str = input("Work Status (e=Employee, c=Contractor): ")
empl_status : str = input("Employment Status (f=Full-Time, p=Part-Time): ")
conclusion = 'Unknown'
if work_status == 'e':
if empl_status == 'f':
conclusion = "The employee qualifies for all benefits"
print("------------------------------------------------------------------")
print("Decision: ", conclusion)
print("==================================================================")
Here is an example of running the program:
Make the following selections to evaluate your employment benefits Work Status (e=Employee, c=Contractor): e Employment Status (f=Full-Time, p=Part-Time): p ------------------------------------------------------------------ Decision: Unknown ================================================================== Press any key to continue . . .
Here is another example of running the program:
Make the following selections to evaluate your employment benefits Work Status (e=Employee, c=Contractor): e Employment Status (f=Full-Time, p=Part-Time): f ------------------------------------------------------------------ Decision: The employee qualifies for all benefits ================================================================== Press any key to continue . . .
In the above example, the nested condition contains a simple if statement. In reality, a nested condition can be as expanded as you want by having as many statements as necessary.
You can nest a conditional statement in another conditional statement, then nest that new conditional statement in another conditional statement, and so on. This can be formulated as follows:
if condition1:
if condition2:
if condition3:
statement(s)
Practical Learning: Nesting a Conditional Statement
print("============================================")
print("\t - Georgia - State Income Tax -")
print("============================================")
filing_status : str
added_amount : float
tax_rate : float = 0.00
gross_salary : float = 0.00
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
print("Filing Status")
print("s - Single")
print("c - Married Filing Joint or Head of Household")
answer : str = input("Enter Filing Status: ")
if answer == 's':
filing_status = 'Single'
if gross_salary >= 7_000:
tax_rate = 5.75
added_amount = 230
elif gross_salary >= 5_250:
added_amount = 143
tax_rate = 5.00
elif gross_salary >= 3_750:
added_amount = 83
tax_rate = 4.00
elif gross_salary >= 2_250:
added_amount = 38
tax_rate = 3.00
elif gross_salary >= 750:
added_amount = 8
tax_rate = 2.00
else: # if gross_salary < 750:
added_amount = 0
tax_rate = 1.00
else:
filing_status = 'Married Filing Joint or Head of Household'
if gross_salary >= 10_000:
added_amount = 340
tax_rate = 5.75
elif gross_salary >= 7_000:
added_amount = 190
tax_rate = 5.00
elif gross_salary >= 5_000:
added_amount = 110
tax_rate = 4.00
elif gross_salary >= 3_000:
added_amount = 50
tax_rate = 3.00
elif gross_salary >= 1_000:
added_amount = 10
tax_rate = 2.00
else: # if gross_salary < 1_000:
added_amount = 0
tax_rate = 1.00
tax_amount = added_amount + (gross_salary * tax_rate / 100.00)
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t- Georgia - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Filing Status: {filing_status:s}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 5368.47
Filing Status
s - Single
c - Married Filing Joint or Head of Household
Enter Filing Status: s
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 5368.47
Filing Status: Single
Tax Rate: 5.00%
Tax Amount: 411.42
Net Pay: 4957.05
==========================================================================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 5368.47
Filing Status
s - Single
c - Married Filing Joint or Head of Household
Enter Filing Status: c
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 5368.47
Filing Status: Married Filing Joint or Head of Household
Tax Rate: 4.00%
Tax Amount: 324.74
Net Pay: 5043.73
==============================================print("============================================")
print("\t - Georgia - State Income Tax -")
print("============================================")
filing_status : str
added_amount : float
tax_rate : float
gross_salary : float
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
print("Filing Status")
print("s - Single")
print("f - Married Filing Separate")
print("j - Married Filing Joint or Head of Household")
answer : str = input("Enter Filing Status: ")
# Georgia
if answer == 's':
filing_status = 'Single'
if gross_salary >= 7_000:
tax_rate = 5.75
added_amount = 230
elif gross_salary >= 5_250:
added_amount = 143
tax_rate = 5.00
elif gross_salary >= 3_750:
added_amount = 83
tax_rate = 4.00
elif gross_salary >= 2_250:
added_amount = 38
tax_rate = 3.00
elif gross_salary >= 750:
added_amount = 8
tax_rate = 2.00
else: # if gross_salary < 750:
added_amount = 0
tax_rate = 1.00
elif answer == 'j':
filing_status = 'Married Filing Joint or Head of Household'
if gross_salary >= 10_000:
added_amount = 340
tax_rate = 5.75
elif gross_salary >= 7_000:
added_amount = 190
tax_rate = 5.00
elif gross_salary >= 5_000:
added_amount = 110
tax_rate = 4.00
elif gross_salary >= 3_000:
added_amount = 50
tax_rate = 3.00
elif gross_salary >= 1_000:
added_amount = 10
tax_rate = 2.00
else: # if gross_salary < 1_000:
added_amount = 0
tax_rate = 1.00
else: # if answer == 'f':
filing_status = 'Married Filing Separate'
if gross_salary >= 5_000:
added_amount = 170
tax_rate = 5.75
elif gross_salary >= 3_500:
added_amount = 95
tax_rate = 5.00
elif gross_salary >= 2_500:
added_amount = 55
tax_rate = 4.00
elif gross_salary >= 1_500:
added_amount = 25
tax_rate = 3.00
elif gross_salary >= 500:
added_amount = 5
tax_rate = 2.00
else: # if gross_salary < 1_000:
added_amount = 0
tax_rate = 1.00
tax_amount = added_amount + (gross_salary * tax_rate / 100.00)
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t- Georgia - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Filing Status: {filing_status:s}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 5278.75
Filing Status
s - Single
f - Married Filing Separate
j - Married Filing Joint or Head of Household
Enter Filing Status: s
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 5278.75
Filing Status: Single
Tax Rate: 5.00%
Tax Amount: 406.94
Net Pay: 4871.81
==========================================================================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 5278.75
Filing Status
s - Single
f - Married Filing Separate
j - Married Filing Joint or Head of Household
Enter Filing Status: j
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 5278.75
Filing Status: Married Filing Joint or Head of Household
Tax Rate: 4.00%
Tax Amount: 321.15
Net Pay: 4957.60
==========================================================================================
- Georgia - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 5278.75
Filing Status
s - Single
f - Married Filing Separate
j - Married Filing Joint or Head of Household
Enter Filing Status: Married but filing separately
==============================================
- Georgia - State Income Tax -
----------------------------------------------
Gross Salary: 5278.75
Filing Status: Married Filing Separate
Tax Rate: 5.75%
Tax Amount: 473.53
Net Pay: 4805.22
==============================================Remember that you can nest one condition in another condition as in:
if condition1:
if condition2:
statement(s)
When you nest a condition, you are in fact indicating that "if condition1 verifies, then if condition2 verifies, do this...". The external condition must be verified first as being True or False (depending on how you wrote the conditional statement). If that first (the external) condition is True, the second (the internal) condition is checked. If the first (or external) condition is not valid, the second (the internal) condition is not evaluated. To support a simplified technique to apply this description, you can use an operator referred to as "and". Its primary formula is:
condition1 and condition2
You must formulate each condition to produce a True or a False result. The result is as follows:
The conjunction operation can be resumed as follows:
| Condition 1 | Contition 2 | Condition 1 and Condition 2 |
| False | False | False |
| False | True | False |
| True | False | False |
| True | True | True |
Practical Learning: Creating a Boolean Conjunction
print("============================================")
print("\t - Arkansas - State Income Tax -")
print("============================================")
added_amount : float
tax_rate : float
gross_salary : float
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
# Arkansas
if (gross_salary >= 0.00) and (gross_salary <= 4_000):
tax_rate = 2.00
elif (gross_salary > 4_000) and (gross_salary <= 8_000):
tax_rate = 4.00
elif (gross_salary > 8_000) and (gross_salary <= 79_300):
tax_rate = 5.90
else: # if gross_salary > 79_300:
tax_rate = 6.60
tax_amount = gross_salary * tax_rate / 100.00
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t- Arkansas - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- Arkansas - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 8000.00
==============================================
- Arkansas - State Income Tax -
----------------------------------------------
Gross Salary: 8000.00
Tax Rate: 4.00%
Tax Amount: 320.00
Net Pay: 7680.00
==========================================================================================
- Arkansas - State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 8000.01
==============================================
- Arkansas - State Income Tax -
----------------------------------------------
Gross Salary: 8000.01
Tax Rate: 5.90%
Tax Amount: 472.00
Net Pay: 7528.01
==============================================print("============================================")
print("\t - State Income Tax -")
print("============================================")
gross_salary : float
tax_rate : float = 4.95
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
# Illinois
tax_amount = gross_salary * tax_rate / 100.00
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t- Illinois - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 968.68
==============================================
- Illinois - State Income Tax -
----------------------------------------------
Gross Salary: 968.68
Tax Rate: 4.95%
Tax Amount: 47.95
Net Pay: 920.73
==========================================================================================
- State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 2427.96
==============================================
- Illinois - State Income Tax -
----------------------------------------------
Gross Salary: 2427.96
Tax Rate: 4.95%
Tax Amount: 120.18
Net Pay: 2307.78
==============================================Combining Various Conjunctions
Depending on your goal, if two conditions are not enough, you can create as many conjunctions as you want. The formula to follow is:
condition1 and condition2 and condition3 and . . . and condition_n
When the expression is checked, if any of the operations is False, the whole operation is False. The only time the whole operation is True is if all of the operations are True.
Of course, you can nest a Boolean condition inside another conditional statement.
Boolean Disjunctions
A Boolean disjunction is a conditional statement where you combine more than one condition but only one of the conditions needs to be True for the whole operation to be True. This operation is performed using a Boolean operator named "or". The primary formula to follow is:
condition1 or condition2
The operation works as follows:
The operation can be resumed as follows:
| Condition 1 | Contition 2 | Condition 1 and Condition 2 | Condition 1 or Condition 2 |
| False | False | False | False |
| False | True | False | True |
| True | False | False | True |
| True | True | True | True |
Practical Learning: Creating a Disjunction
print("============================================")
print("\t - State Income Tax -")
print("============================================")
gross_salary : float
state : str = "OO"
tax_rate : float = 0.00
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
print("List of States")
print("AR - Arkansas")
print("GA - Georgia")
print("IL - Illinois")
print("MS - Mississippi")
print("UT - Utah")
state = input("Enter State Letters: ")
# Illinois OR Utah
if (state == "IL") or (state == "UT"):
tax_rate = 4.95
tax_amount = gross_salary * tax_rate / 100.00
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t- Illinois/Utah - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 968.68
List of States
AR - Arkansas
GA - Georgia
IL - Illinois
MS - Mississippi
UT - Utah
Enter State Letters: UT
==============================================
- Illinois/Utah - State Income Tax -
----------------------------------------------
Gross Salary: 968.68
Tax Rate: 4.95%
Tax Amount: 47.95
Net Pay: 920.73
==========================================================================================
- State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 968.68
List of States
AR - Arkansas
GA - Georgia
IL - Illinois
MS - Mississippi
UT - Utah
Enter State Letters: Alabama
==============================================Combining Various Disjunctions
You can create a conditional statement that includes as many disjunctions as you want. The formula to follow is:
condition1 or condition2 or . . . or condition_n
The rule is the same: If any one of the individual operations is True, the whole operation is True. The whole operation is False only if all of the operations are False. Here are two examples:
print("============================================")
print("\t - State Income Tax -")
print("============================================")
gross_salary : float
state : str = "OO"
tax_rate : float = 0.00
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
print("List of States")
print("AK - Alaska")
print("AR - Arkansas")
print("GA - Georgia")
print("IL - Illinois")
print("KY - Kentucky")
print("MA - Massachusetts")
print("MS - Mississippi")
print("NH - New Hampshire")
print("NV - Nevada")
print("SD - South Dakota")
print("TX - Texas")
print("UT - Utah")
print("WA - Washington")
print("WY - Wyoming")
state = input("Enter State Letters: ")
# Illinois OR Utah
if (state == "IL") or (state == "UT"):
tax_rate = 4.95
elif (state == "KY") or (state == "MA") or (state == "NH"):
tax_rate = 5.00
elif (state == "AK") or (state == "NV") or (state == "SD") or (state == "TX") or (state == "WA") or (state == "WY"):
tax_rate = 0.00
tax_amount = gross_salary * tax_rate / 100.00
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")
Practical Learning: Creating a Disjunction
print("============================================")
print("\t - State Income Tax -")
print("============================================")
gross_salary : float
state : str = "OO"
tax_rate : float = 0.00
print("Enter the information for tax preparation")
gross_salary : float = float(input("Gross Salary: "))
print("List of States")
print("AR - Arkansas")
print("GA - Georgia")
print("IL - Illinois")
print("KY - Kentucky")
print("MA - Massachusetts")
print("MS - Mississippi")
print("NH - New Hampshire")
print("UT - Utah")
state = input("Enter State Letters: ")
# Illinois OR Utah
if (state == "IL") or (state == "UT"):
tax_rate = 4.95
elif (state == "KY") or (state == "MA") or (state == "NH"):
tax_rate = 5.00
tax_amount = gross_salary * tax_rate / 100.00
net_pay = gross_salary - tax_amount
print("==============================================")
print("\t - State Income Tax -")
print("----------------------------------------------")
print(f"Gross Salary: {gross_salary:.2f}")
print(f"Tax Rate: {tax_rate:.2f}%")
print(f"Tax Amount: {tax_amount:.2f}")
print(f"Net Pay: {net_pay:.2f}")
print("==============================================")============================================
- State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 968.68
List of States
AR - Arkansas
GA - Georgia
IL - Illinois
MS - Mississippi
UT - Utah
Enter State Letters: UT
==============================================
- Illinois/Utah - State Income Tax -
----------------------------------------------
Gross Salary: 968.68
Tax Rate: 4.95%
Tax Amount: 47.95
Net Pay: 920.73
==========================================================================================
- State Income Tax -
============================================
Enter the information for tax preparation
Gross Salary: 3168.97
List of States
AR - Arkansas
GA - Georgia
IL - Illinois
KY - Kentucky
MA - Massachusetts
MS - Mississippi
NH - New Hampshire
UT - Utah
Enter State Letters: MA
==============================================
- State Income Tax -
----------------------------------------------
Gross Salary: 3168.97
Tax Rate: 5.00%
Tax Amount: 158.45
Net Pay: 3010.52
==============================================Combining Conjunctions and Disjunctions
Conjunctions and disjunctions can be used in the same expression. A conjunction (or disjunction) can be used to evaluate one sub-expression while a disjunction (or conjunction) can be used to evaluate another sub-expression.
Practical Learning: Ending the Lesson
|
|
|||
| Previous | Copyright © 2021-2022, FunctionX | Thursday 30 December 2021 | Next |
|
|
|||