advanced-features-functions/questions.rst
author Puneeth Chaganti <punchagan@fossee.in>
Tue, 19 Oct 2010 14:26:02 +0530
changeset 337 c65d0d9fc0c8
parent 295 c924eaf1b355
permissions -rw-r--r--
Reviewed Basic datatypes LO.

Objective Questions
-------------------

.. A mininum of 8 questions here (along with answers)

1. All arguments of a function cannot have default values. True or
   False? 

   Answer: False
   
#. When calling a function, the arguments 

   1. should always be in the order in which they are defined.
   #. can be in any order
   #. only keyword arguments can be in any order, but should be called
      at the beginning.
   #. only keyword arguments can be in any order, but should be called
      at the end.

   Answer: only keyword arguments can be in any order, but should be called
           at the end.

#. Given the following function, identify the keywords with default
   values. 
   ::
   
     def seperator(char, count=40, show=False):

         if show:
             print char * count

         return char * count

   Answer: ``count``, ``show``

#. Given the following function, 
   ::
   
     def seperator(char, count=40, show=False):

         if show:
             print char * count

         return char * count

   What is the output of ``separator("+", 1, True)``.

   Answer: ``+`` is printed and returned. 


#. Given the following function, 
   ::
   
     def seperator(char, count=40, show=False):

         if show:
             print char * count

         return char * count

   What is the output of ``separator("+", True, 1)``.

   Answer: ``+`` is printed and returned. 

#. Given the following function, 
   ::
   
     def seperator(char, count=40, show=False):

         if show:
             print char * count

         return char * count

   What is the output of ``separator("+", show=True, 1)``.

   Answer: SyntaxError

#. The following is a valid function definition. True or False? Why?
   ::
   
     def seperator(count=40, char, show=False):

         if show:
             print char * count

         return char * count

   Answer: False. All parameters with default arguments should be
   defined at the end. 

#. Which of the following cannot be used as default values for
   arguments? 
     
   a. floats
   #. lists
   #. functions
   #. booleans
   #. None of the Above

   Answer: None of the above. 


Larger Questions
----------------

1. 

2.