newbie 20
newbie 20

Reputation: 11

python function question with keyword args

I can not get this function to print, I am supposed to use a function with optional keyword args to make sentences.

I Love Chicago!
Python is great!!!!
I guess Java is okay. I guess Java is okay.
LET'S GO CUBS!!

here is my code which prints nothing

def speak(message, capitalize_message, num_times_repeat_message, num_exclamation_points=1):

    speak("I love Chicago", 1, 1, False)
    speak("Python is great", 4, 1, False)
    speak("I guess Java is okay", 0, 2, False)
    speak("LET's GO CUBS", 2, 1, True)

print(speak)
print(speak)
print(speak)
print(speak)

Upvotes: 1

Views: 92

Answers (2)

Sandalaphon
Sandalaphon

Reputation: 154

I think you are looking for this?:

    def speak(message, capitals=True, num_repeats=1, num_exclame=1):
         if capitals:
             message = message.capitalize() # capitalize if needed
         message += '!' * num_exclame # add exclamation marks
         return message * num_repeats 

then call the function like this:

print(speak('python is great', capitals=True, num_repeats=2, num_exclame=2))

or maybe have speak print it:

    def speak(message, capitals=True, num_repeats=1, num_exclame=1):
         if capitals:
             message = message.capitalize()
         message += '!' * num_exclame
         print(message * num_repeats)

and simply:

speak('python is great', True, 2, 3)

Upvotes: 1

Amit Nanaware
Amit Nanaware

Reputation: 3346

You are doing nothing in your function , below is the hint how you write functions:

def speak(message, capitalize_message, num_times_repeat_message, num_exclamation_points=1):
    print message
    #write your logic here based on parameters

#Below lines calls the speak function
speak("I love Chicago", 1, 1, False)
speak("Python is great", 4, 1, False)
speak("I guess Java is okay", 0, 2, False)
speak("LET's GO CUBS", 2, 1, True)

Upvotes: 0

Related Questions