Functions: Intro

Improving programs by using FUNCTIONS



Q: Why?
A:
To be able to reuse the code multiple times.
To make the program easier to read.
To organize the many lines of code.

Q: How?
A:
By keeping together related instructions in groups or blocks.
By writing a driver of instructions.

Parts of a good-style program:

1. Header
2. Imports
3. Functions
4. Driver: main
5. Input/output as comment

Let’s look at a general outline:

#####################################
#             Imports
#####################################

#####################################
#  Author's name
#  Assignment description
#  Python version
#  Date
#####################################

#####################################
#             Functions
#####################################

def one():
    # something

def two():
    # something else

#######################################
# Driver: control the flow of execution
#######################################

# main

one()
two()

Here is a working example:

#####################################
#  G. Elia
#  YI_GreetingFunct.py
#  Greeting program with functions
#  Python version 3.4
#  Date 10/22/15
#####################################

#####################################
#             Functions
#####################################

def welcome():
     # something
     name = input("What is your name? ")
     print ("Hi ", name, "! Nice to meet you ")
     
def howRU():
    # something else
     feeling = input(" How are you?  ")
     print ("Did you say you are are feeling ", feeling, "? ")

#######################################
# Driver: control the flow of execution
#######################################
# main
welcome()
howRU()

Another way to use a function

#####################################
#  G. Elia
#  YI_WeeklySchedule.py
#  My weekly activities
#  Python version 3.4
#  Date 10/22/15
#####################################

#####################################
#             Functions
#####################################

def morning(day):
     if day.startswith("M") or day.startswith("W"):
         print ("Come to school early morning for extra help ")
     elif day.startswith("Tu") or day.startswith("Th"):
         print ("Go to the weight room early morning to exercise ")
     
def afternoon(day):
    if day.startswith("M") or day.startswith("W"):
         print ("Swimming right after school ")
    elif day.startswith("Tu") or day.startswith("Th"):
         print ("Club meeting in room 242 right after school ")

#######################################
# Driver: control the flow of execution
#######################################
# main
morning("Monday")
afternoon("Monday")
morning("Tuesday")
afternoon("Tuesday")
##>>> 
##Come to school early morning for extra help 
##Swimming right after school 
##Go to the weight early morning room to exercise 
##Club meeting in room 242 right after school 
##>>>