advanced-features-functions/questions.rst
changeset 263 5a1cef25506c
parent 241 2b2c94ee2c3e
child 295 c924eaf1b355
--- a/advanced-features-functions/questions.rst	Sun Oct 10 13:42:57 2010 +0530
+++ b/advanced-features-functions/questions.rst	Sun Oct 10 13:43:23 2010 +0530
@@ -1,17 +1,108 @@
-Objective
----------
+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.
 
-.. A mininum of 8 questions here. 
+#. 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``
 
-1. Question 1
-2. Question 2
-3. Question 3
+#. 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. 
 
 
-Programming
------------
+#. 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
 
-.. A minimum of 2 questions here. 
+#. 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. 
 
-1. Programming Assignment 1
-2. Programming Assignment 2
+#. 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
+----------------
+
+.. A minimum of 2 questions here (along with answers)
+
+1. 
+
+2.