summaryrefslogtreecommitdiff
path: root/getting_started_with_functions
diff options
context:
space:
mode:
authorJovina2011-07-08 17:03:08 +0530
committerJovina2011-07-08 17:03:08 +0530
commitdd1699be35284e56d2972e71608ed69a3e8731ab (patch)
tree408cf0f163a40e50933a623a9fc8577a47a114b0 /getting_started_with_functions
parente4f4729e02d3a550f74c52210ea619f8dadb4283 (diff)
downloadst-scripts-dd1699be35284e56d2972e71608ed69a3e8731ab.tar.gz
st-scripts-dd1699be35284e56d2972e71608ed69a3e8731ab.tar.bz2
st-scripts-dd1699be35284e56d2972e71608ed69a3e8731ab.zip
Major changes to script & slides of 'Gettinf started with functions'.
Diffstat (limited to 'getting_started_with_functions')
-rw-r--r--getting_started_with_functions/script.rst335
-rw-r--r--getting_started_with_functions/slides.org163
-rw-r--r--getting_started_with_functions/slides.tex297
3 files changed, 525 insertions, 270 deletions
diff --git a/getting_started_with_functions/script.rst b/getting_started_with_functions/script.rst
index 26e5b79..4288224 100644
--- a/getting_started_with_functions/script.rst
+++ b/getting_started_with_functions/script.rst
@@ -18,6 +18,8 @@
.. 1. should have ``ipython`` installed.
.. #. getting started with ``ipython``.
+.. #. Conditionals
+.. #. Loops
.. Author : Anoop Jacob Thomas <anoop@fossee.in>
@@ -31,116 +33,217 @@
Getting started with functions
==============================
-{{{ show welcome slide }}}
+.. L1
-Hello and welcome to the tutorial getting started with functions.
+{{{ Show the first slide containing title, name of the production
+team along with the logo of MHRD }}}
-{{{ switch to next slide, outline slide }}}
+.. R1
-In this tutorial we will learn about functions in python, how to
-define functions, arguments to functions, docstrings, and function
-return value.
+Hello friends and welcome to the tutorial 'Getting started with functions'.
+
+.. L2
+
+{{{ switch to slide containing objectives }}}
+
+.. R2
+
+At the end of this tutorial, you will be able to,
+
+ 1. Define a function.
+ #. Define functions with arguments.
+ #. Learn about docstrings.
+ #. Learn about function return value.
+ #. Read code.
+
+.. L3
+
+{{{ Switch to the pre-requisite slide }}}
+
+.. R3
+
+Before beginning this tutorial,we would suggest you to complete the
+tutorial on "Conditionals" and "Loops".
+
+.. L4
{{{ switch to next slide, Function }}}
+.. R4
+
While writing code, we always want to reduce the number of lines of
-code and functions is a way of reusing the code. Thus the same lines
+code, and functions is a way of reusing the code. Thus the same lines
of code can be used as many times as needed. A function is a portion of code
within a larger program that performs a specific task and is
relatively independent of the remaining code. Now let us get more
familiar with functions,
+.. L5
+
{{{ switch to next slide, f(x) a mathematical function }}}
+.. R5
+
Consider a mathematical function f(x) = x square. Here x is a variable
and with different values of x the value of function will change. When
-x is one f(1) will return the value 1 and f(2) will return us the
+x is one, f(1) will return the value 1 and f(2) will return us the
value 4. Let us now see how to define the function f(x) in python.
-{{{ switch to next slide, define f(x) in Python }}}
+.. R6
+
+Start your ipython interpreter by typing,
-In your Ipython interpreter type the following,
+.. L6
+
+{{{ Open the terminal }}}
+::
+
+ ipython
+
+.. R7
+
+Let us define our function f(x)
+
+.. L7
::
def f(x):
return x*x
+.. R8
+
Well that defined the function, so before learning what we did let us
see if it returns the expected values, try,
+
+.. L8
::
f(1)
f(2)
+.. R9
+
Yes, it returned 1 and 4 respectively. And now let us see what we did.
We wrote two lines: The first line ``def f(x)`` is used to define the
-name and the parameters to the function and the second line is used to
+name and the parameters to the function, and the second line is used to
fix what the function is supposed to return. ``def`` is a keyword and
``f`` is the name of the function and ``x`` the parameter of the
function.
-{{{ switch to next slide, problem statement 1 }}}
+Pause the video here, try out the following exercise and resume the video.
+
+.. L9
+
+.. L10
+
+{{{ Show slide with exercise 1 }}}
+
+.. R10
+
+ Write a python function named ``cube`` which computes the cube of
+ a given number n.
-%% 1 %% Write a python function named cube which computes the cube of
- a given number n.
+.. R11
-Pause here and try to solve the problem yourself.
+Switch to your terminal for solution.The problem can be solved as,
-{{{ switch to next slide, solution }}}
+.. L11
-The problem can be solved as,
+{{{continue from paused state}}}
+{{{ Switch to the terminal }}}
::
def cube(n):
return n**3
-And now let us see how to write functions without arguments.
+.. R12
+
+Let us check whether our function returns the cube of a number or not
+
+.. L12
+::
-{{{ switch to next slide, greet function }}}
+ cube(2)
+
+.. R13
+
+It returned 8,which means we have defined our function,the right way.
+And now let us see how to write functions without arguments.
let us define a new function called ``greet`` which will print ``Hello
World``.
+
+.. L13
::
def greet():
print "Hello World!"
-now try calling the function,
+.. R14
+
+now we call the function as,
+
+.. L14
::
greet()
+.. R15
+
Well that is a function which takes no arguments. Also note that it is
not mandatory for a function to return values. The function ``greet``
neither takes any argument nor returns any value.
Now let us see how to write functions with more than one argument.
-{{{ switch to next slide, exercise 2 }}}
+Pause the video here, try out the following exercise and resume the video.
+
+.. L15
+
+.. L16
+
+{{{ Show slide with exercise 2 }}}
-%% 2 %% Write a python function named ``avg`` which computes the
- average of ``a`` and ``b``.
+.. R16
-Pause here and try to solve the problem yourself.
+ Write a python function named ``avg`` which computes the
+ average of ``a`` and ``b``.
-{{{ switch to next slide, solution 2 }}}
+.. R17
-The problem can be solved as,
+Switch to your terminal for solution.
+
+.. L17
+
+{{{continue from paused state}}}
+{{{ Switch to the terminal }}}
::
def avg(a,b):
return (a + b)/2
+.. R18
+
+Let us test our function
+
+.. L18
+::
+
+ avg(20, 30)
+
+.. R19
+
+We get the correct average, 25.
Thus if we want a function to accept more arguments, we just list them
separated with a comma between the parenthesis after the function's name
in the ``def`` line.
-{{{ switch to next slide, docstring }}}
-
It is always a good practice to document the code that we write, and
-for a function we define we should write an abstract of what the
+for a function we define, we should write an abstract of what the
function does, and that is called a docstring. Let us modify the
function ``avg`` and add docstring to it. Do the following,
+
+.. L19
::
def avg(a,b):
@@ -148,35 +251,63 @@ function ``avg`` and add docstring to it. Do the following,
returns the average of a and b"""
return (a+b)/2
+.. L20
+
+{{{ switch to next slide, docstring }}}
+
+.. R20
+
Note that docstrings are entered in the immediate line after the
function definition and put as a triple quoted string. And here as far
as the code functionality is concerned, we didn't do anything. We just
added an abstract of what the function does.
+.. R21
+
Now try this in the ipython interpreter.
+
+.. L21
+
+{{{ Switch to the terminal }}}
::
avg?
+.. R22
+
It displays the docstring as we gave it. Thus docstring is a good way
of documenting the function we write.
-Try to do this,
+ Now type,
+
+.. L22
::
f?
+.. R23
+
It doesn't have a docstring associated with it. Also we cannot infer
anything from the function name, and thus we are forced to read the
code to understand about the function.
-{{{ switch to next slide, exercise 3 }}}
+Pause the video here, try out the following exercise and resume the video.
+
+.. L23
+
+.. L24
+
+{{{ Show slide with exercise 3 }}}
-%% 3 %% Add docstring to the function f.
+.. R24
-Pause here and try to do it yourself.
+ Add docstring to the function f.
-{{{ switch to next slide, solution }}}
+.. L25
+
+{{{ Show slide with solution 3 }}}
+
+.. R25
We need to define the function again to add docstring to the function
``f`` and we do it as,
@@ -187,17 +318,28 @@ We need to define the function again to add docstring to the function
returns the square of the number x."""
return x*x
-{{{ switch to next slide, exercise 4 }}}
+Let us solve one more exercise
+Pause the video here, try out the following exercise and resume the video.
+
+.. L27
-%% 4 %% Write a python function named ``circle`` which returns the
- area and perimeter of a circle given radius ``r``.
+{{{ Show slide with exercise 4 }}}
-Pause here and try to solve the problem yourself.
+.. R27
-{{{ switch to next slide, solution 4 }}}
+ Write a python function named ``circle`` which returns the
+ area and perimeter of a circle given radius ``r``.
+
+.. R28
+
+Switch to the terminal for solution.
The problem requires us to return two values instead of one which we
were doing till now. We can solve the problem as,
+
+.. L28
+
+{{{ Switch to the terminal }}}
::
def circle(r):
@@ -207,21 +349,31 @@ were doing till now. We can solve the problem as,
perimeter = 2 * pi * r
return area, perimeter
+.. R29
+
A python function can return any number of values. There is no
restriction for it.
Let us call the function ``circle`` as,
+
+.. L29
::
a, p = circle(6)
print a
print p
+.. R30
+
Now we have done enough coding, let us do some code reading exercise,
+.. L30
+
{{{ switch to next slide, what }}}
-What does the function ``what`` do?
+.. R31
+
+Pause here and try to figure out what the function ``what`` does.
.. def what( n ):
.. if n < 0: n = -n
@@ -231,13 +383,18 @@ What does the function ``what`` do?
.. n /= 10
.. return True
-Pause here and try to figure out what the function ``what`` does.
+{{{continue from paused state}}}
+It will return true if ``n % 2`` is not equal to 1 and will return false, otherwise.
+
+.. L31
+
+.. L32
{{{ switch to next slide, even_digits }}}
.. def even_digits( n ):
-.. """returns True if all the digits in the number n are even,
-.. returns False if all the digits in the number n are not even"""
+.. """returns True if all the digits in the number n are even,
+.. returns False if all the digits in the number n are not even"""
.. if n < 0: n = -n
.. while n > 0:
.. if n % 2 == 1:
@@ -245,14 +402,20 @@ Pause here and try to figure out what the function ``what`` does.
.. n /= 10
.. return True
-The function returns ``True`` if all the digits of the number ``n``
+.. R32
+
+The function here returns ``True`` if all the digits of the number ``n``
are even, otherwise it returns ``False``.
Now one more code reading exercise,
+.. L33
+
{{{ switch to next slide, what }}}
-What does the function ``what`` do?
+.. R33
+
+Pause here and try to figure out what the function ``what`` does.
.. def what( n ):
.. i = 1
@@ -260,7 +423,11 @@ What does the function ``what`` do?
.. i += 1
.. return i * i == n, i
-Pause here and try to figure out what the function ``what`` does.
+{{{continue from paused state}}}
+The function returns two values. One it returns the result of the while statement
+whether true of false, and second it prints the value that `ii`` currently holds.
+
+.. L34
{{{ switch to next slide, is_perfect_square }}}
@@ -273,21 +440,81 @@ Pause here and try to figure out what the function ``what`` does.
.. i += 1
.. return i * i == n, i
+.. R34
-The function returns ``True`` and the square root of ``n`` if n is a
+Here, the function returns ``True`` and the square root of ``n`` if n is a
perfect square, otherwise it returns ``False`` and the square root of
the next perfect square.
-This brings us to the end of this tutorial, in this tutorial we covered
+.. L35
+
+{{{ switch to summary slide }}}
+
+.. R35
+
+This brings us to the end of this tutorial. In this tutorial,
+we have learnt to,
+
+ 1. Define functions in Python by using the keyword ``def``.
+ #. Call the function by specifying the function name.
+ #. Assign a docstring to a function by putting it as a triple quoted string.
+ #. Pass parameters to a function.
+ #. Return values from a function.
+
+.. L26
+
+{{{Show self assessment questions slide}}}
+
+.. R36
+
+Here are some self assessment questions for you to solve
-{{{ switch to next slide, summary }}}
+1. What will the function do?
+::
+
+ def what(x)
+ return x*x
+
+ - Returns the square of x
+ - Returns x
+ - Function doesn't have docstring
+ - Error
+
+2. How many arguments can be passed to a python function?
+
+ - None
+ - One
+ - Two
+ - Any
+
+3. Write a function which calculates the area of a rectangle.
+
+.. L37
+
+{{{solution of self assessment questions on slide}}}
+
+.. R37
+
+And the answers,
+
+1. The function will result into an error due to the use of wrong
+ syntax in defining the function.The function line should always
+ end with a colon
+
+2. Any number of arguments can be passed to a python function.
+
+3. As we know, area of a rectangle is product of it's length and breadth.
+ Hence, we define our function as,
+::
-- Functions in Python
-- Passing parameters to a function
-- Returning values from a function
+ def area(l,b):
+ return l * b
-We also did few code reading exercises.
+.. L38
+
+{{{ switch to Thank you slide }}}
-{{{ switch to next slide, Thank you }}}
+.. R38
+Hope you have enjoyed this tutorial and found it useful.
Thank you!
diff --git a/getting_started_with_functions/slides.org b/getting_started_with_functions/slides.org
index 8e45b59..e3ed4b5 100644
--- a/getting_started_with_functions/slides.org
+++ b/getting_started_with_functions/slides.org
@@ -18,7 +18,7 @@
#+LaTeX_HEADER: commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
#+LaTeX_HEADER: showstringspaces=false, keywordstyle=\color{blue}\bfseries}
-#+TITLE: Getting started with functions
+#+TITLE:
#+AUTHOR: FOSSEE
#+EMAIL: info@fossee.in
#+DATE:
@@ -29,25 +29,43 @@
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
-* Outline
- - Define functions
- - Pass arguments to functions
- - Learn about docstrings
- - Return values from functions
+*
+ #+begin_latex
+\begin{center}
+\vspace{12pt}
+\textcolor{blue}{\huge Getting started with \texttt{functions}}
+\end{center}
+\vspace{18pt}
+\begin{center}
+\vspace{10pt}
+\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
+\vspace{5pt}
+\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\
+\scriptsize Funded by National Mission on Education through ICT\\
+\scriptsize MHRD,Govt. of India\\
+\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
+\end{center}
+#+end_latex
+* Objectives
+ At the end of this tutorial, you will be able to,
+
+ - Define a function.
+ - Define functions with arguments.
+ - Learn about docstrings.
+ - Learn about function return value.
+ - Read and understand code.
+
+* Pre-requisite
+Spoken tutorial on -
+- Conditionals.
+- Loops.
* Function
- Eliminate code redundancy
- Help in code reuse
- Subroutine
- relatively independent of remaining code
-* ~f(x)~ a mathematical function
-
- $f(x) = x^{2}$
-
- : f(1) -> 1
- : f(2) -> 4
-
* Define ~f(x)~ in Python
#+begin_src python
def f(x):
@@ -60,44 +78,13 @@
* Exercise 1
- Write a python function named ~cube~ which computes the cube of a given
+ - Write a python function named ~cube~ which computes the cube of a given
number ~n~.
-
- - Pause here and try to solve the problem yourself.
-
-* Solution
- #+begin_src python
- def cube(n):
- return n**3
- #+end_src
-
-* ~greet~ function
-
- Function ~greet~ which will print ~Hello World!~.
- #+begin_src python
- def greet():
- print "Hello World!"
- #+end_src
- - Call the function ~greet~
- : In []: greet()
- : Hello World!
* Exercise 2
- Write a python function named ~avg~ which computes the average of
+ - Write a python function named ~avg~ which computes the average of
~a~ and ~b~.
-
- - Pause here and try to solve the problem yourself.
-
-* Solution 2
- #+begin_src python
- def avg(a,b):
- return (a + b)/2
- #+end_src
-
- - ~a~ and ~b~ are parameters
- - ~def f(p1, p2, p3, ... , pn)~
-
* Docstring
- Documenting/commenting code is a good practice
@@ -114,32 +101,19 @@
- Documentation
: avg?
* Exercise 3
- Add docstring to the function f.
+ - Add docstring to the function f.
* Solution 3
-
-#+begin_src python
- def f(x):
- """Accepts a number x as argument and,
- returns the square of the number x."""
- return x*x
+#+begin_src Python
+def f(x):
+ """Accepts a number x as argument and,
+ returns the square of the number x."""
+ return x*x
#+end_src
-
* Exercise 4
- Write a python function named ~circle~ which returns the area and
+ - Write a python function named ~circle~ which returns the area and
perimeter of a circle given radius ~r~.
-* Solution 4
-#+begin_src python
- def circle(r):
- """returns area and perimeter of a circle given
- radius r"""
- pi = 3.14
- area = pi * r * r
- perimeter = 2 * pi * r
- return area, perimeter
-#+end_src
-
* ~what~
#+begin_src python
@@ -152,7 +126,7 @@
return True
#+end_src
-* ~even_digits~
+* ~even\_digits~
#+begin_src python
def even_digits( n ):
"""returns True if all the digits of number
@@ -175,7 +149,7 @@
return i * i == n, i
#+end_src
-* ~is_perfect_square~
+* ~is\_perfect\_square~
#+begin_src python
def is_perfect_square( n ):
"""returns True and square root of n,
@@ -189,23 +163,56 @@
#+end_src
* Summary
- - Functions in Python
- - Passing parameters to a function
- - Returning values from a function
+ In this tutorial, we have learnt to,
+
+ - Define functions in Python by using the keyword ``def''.
+ - Call the function by specifying the function name.
+ - Assign a docstring to a function by putting it as a triple quoted string.
+ - Pass parameters to a function.
+ - Return values from a function.
+
+* Evaluation
+1. What will the function do?
+#+begin_src Python
+def what(x)
+ return x*x
+#+end_src
+
+ - Returns the square of x
+ - Returns x
+ - Function doesn't have docstring
+ - Error
- - We also did few code reading exercises.
+2. How many arguments can be passed to a python function?
-* Thank you!
+ - None
+ - One
+ - Two
+ - Any
+
+3. Write a function which calculates the area of a rectangle.
+* Solutions
+1. Error
+
+2. Any
+
+3.
+#+begin_src Python
+def area(l,b):
+ return l * b
+#+end_src
+*
#+begin_latex
\begin{block}{}
\begin{center}
- This spoken tutorial has been produced by the
- \textcolor{blue}{FOSSEE} team, which is funded by the
+ \textcolor{blue}{\Large THANK YOU!}
\end{center}
+ \end{block}
+\begin{block}{}
\begin{center}
- \textcolor{blue}{National Mission on Education through \\
- Information \& Communication Technology \\
- MHRD, Govt. of India}.
+ For more Information, visit our website\\
+ \url{http://fossee.in/}
\end{center}
\end{block}
#+end_latex
+
diff --git a/getting_started_with_functions/slides.tex b/getting_started_with_functions/slides.tex
index e9eaa81..a424b28 100644
--- a/getting_started_with_functions/slides.tex
+++ b/getting_started_with_functions/slides.tex
@@ -1,4 +1,4 @@
-% Created 2010-11-10 Wed 18:59
+% Created 2011-07-08 Fri 14:25
\documentclass[presentation]{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
@@ -8,7 +8,6 @@
\usepackage{float}
\usepackage{wrapfig}
\usepackage{soul}
-\usepackage{t1enc}
\usepackage{textcomp}
\usepackage{marvosym}
\usepackage{wasysym}
@@ -24,14 +23,13 @@ commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
showstringspaces=false, keywordstyle=\color{blue}\bfseries}
\providecommand{\alert}[1]{\textbf{#1}}
-\title{Getting started with functions}
+\title{}
\author{FOSSEE}
\date{}
\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
\begin{document}
-\maketitle
@@ -41,146 +39,124 @@ showstringspaces=false, keywordstyle=\color{blue}\bfseries}
+
+\begin{frame}
+
+\begin{center}
+\vspace{12pt}
+\textcolor{blue}{\huge Getting started with \texttt{functions}}
+\end{center}
+\vspace{18pt}
+\begin{center}
+\vspace{10pt}
+\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
+\vspace{5pt}
+\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\
+\scriptsize Funded by National Mission on Education through ICT\\
+\scriptsize MHRD,Govt. of India\\
+\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
+\end{center}
+\end{frame}
+\begin{frame}
+\frametitle{Objectives}
+\label{sec-2}
+
+ At the end of this tutorial, you will be able to,
+
+
+\begin{itemize}
+\item Define a function.
+\item Define functions with arguments.
+\item Learn about docstrings.
+\item Learn about function return value.
+\item Read and understand code.
+\end{itemize}
+\end{frame}
\begin{frame}
-\frametitle{Outline}
-\label{sec-1}
+\frametitle{Pre-requisite}
+\label{sec-3}
+
+Spoken tutorial on -
\begin{itemize}
-\item Define functions
-\item Pass arguments to functions
-\item Learn about docstrings
-\item Return values from functions
+\item Conditionals.
+\item Loops.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Function}
-\label{sec-2}
+\label{sec-4}
+
\begin{itemize}
\item Eliminate code redundancy
\item Help in code reuse
\item Subroutine
-
\begin{itemize}
\item relatively independent of remaining code
\end{itemize}
-
\end{itemize}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{f(x)} a mathematical function}
-\label{sec-3}
-
-
- $f(x) = x^{2}$
-
-\begin{verbatim}
- f(1) -> 1
- f(2) -> 4
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Define \texttt{f(x)} in Python}
-\label{sec-4}
+\frametitle{Define \verb~f(x)~ in Python}
+\label{sec-5}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def f(x):
return x*x
-\end{verbatim}
+\end{lstlisting}
+
\begin{itemize}
-\item \texttt{def} - keyword
-\item \texttt{f} - function name
-\item \texttt{x} - parameter / argument to function \texttt{f}
+\item \verb~def~ - keyword
+\item \verb~f~ - function name
+\item \verb~x~ - parameter / argument to function \verb~f~
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Exercise 1}
-\label{sec-5}
-
-
- Write a python function named \texttt{cube} which computes the cube of a given
- number \texttt{n}.
-
-\begin{itemize}
-\item Pause here and try to solve the problem yourself.
-\end{itemize}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution}
\label{sec-6}
-\begin{verbatim}
-def cube(n):
- return n**3
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{\texttt{greet} function}
-\label{sec-7}
- Function \texttt{greet} which will print \texttt{Hello World!}.
-\begin{verbatim}
-def greet():
- print "Hello World!"
-\end{verbatim}
\begin{itemize}
-\item Call the function \texttt{greet}
-\begin{verbatim}
- In []: greet()
- Hello World!
-\end{verbatim}
-
+\item Write a python function named \verb~cube~ which computes the cube of a given
+ number \verb~n~.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Exercise 2}
-\label{sec-8}
-
+\label{sec-7}
- Write a python function named \texttt{avg} which computes the average of
- \texttt{a} and \texttt{b}.
-\begin{itemize}
-\item Pause here and try to solve the problem yourself.
-\end{itemize}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 2}
-\label{sec-9}
-
-\begin{verbatim}
-def avg(a,b):
- return (a + b)/2
-\end{verbatim}
\begin{itemize}
-\item \texttt{a} and \texttt{b} are parameters
-\item \texttt{def f(p1, p2, p3, ... , pn)}
+\item Write a python function named \verb~avg~ which computes the average of
+ \verb~a~ and \verb~b~.
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Docstring}
-\label{sec-10}
+\label{sec-8}
+
\begin{itemize}
\item Documenting/commenting code is a good practice
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def avg(a,b):
""" avg takes two numbers as input
(a & b), and returns the average
of a and b"""
return (a+b)/2
-\end{verbatim}
+\end{lstlisting}
\item Docstring
-
\begin{itemize}
-\item written in the line after the \texttt{def} line.
+\item written in the line after the \verb~def~ line.
\item Inside triple quote.
\end{itemize}
-
\item Documentation
\begin{verbatim}
avg?
@@ -190,48 +166,41 @@ def avg(a,b):
\end{frame}
\begin{frame}
\frametitle{Exercise 3}
-\label{sec-11}
+\label{sec-9}
+
- Add docstring to the function f.
+\begin{itemize}
+\item Add docstring to the function f.
+\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Solution 3}
-\label{sec-12}
-
+\label{sec-10}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def f(x):
"""Accepts a number x as argument and,
returns the square of the number x."""
return x*x
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{Exercise 4}
-\label{sec-13}
+\label{sec-11}
- Write a python function named \texttt{circle} which returns the area and
- perimeter of a circle given radius \texttt{r}.
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 4}
-\label{sec-14}
-\begin{verbatim}
-def circle(r):
- """returns area and perimeter of a circle given
- radius r"""
- pi = 3.14
- area = pi * r * r
- perimeter = 2 * pi * r
- return area, perimeter
-\end{verbatim}
+\begin{itemize}
+\item Write a python function named \verb~circle~ which returns the area and
+ perimeter of a circle given radius \verb~r~.
+\end{itemize}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{what}}
-\label{sec-15}
+\frametitle{\verb~what~}
+\label{sec-12}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def what( n ):
if n < 0: n = -n
@@ -240,13 +209,14 @@ def what( n ):
return False
n /= 10
return True
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{even\_digits}}
-\label{sec-16}
+\frametitle{\verb~even\_digits~}
+\label{sec-13}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def even_digits( n ):
"""returns True if all the digits of number
n is even returns False if all the digits
@@ -257,25 +227,27 @@ def even_digits( n ):
return False
n /= 10
return True
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{what}}
-\label{sec-17}
+\frametitle{\verb~what~}
+\label{sec-14}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def what( n ):
i = 1
while i * i < n:
i += 1
return i * i == n, i
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{is\_perfect\_square}}
-\label{sec-18}
+\frametitle{\verb~is\_perfect\_square~}
+\label{sec-15}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def is_perfect_square( n ):
"""returns True and square root of n,
if n is a perfect square, otherwise
@@ -285,34 +257,83 @@ def is_perfect_square( n ):
while i * i < n:
i += 1
return i * i == n, i
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{Summary}
-\label{sec-19}
+\label{sec-16}
+
+ In this tutorial, we have learnt to,
+
+
+\begin{itemize}
+\item Define functions in Python by using the keyword ``def''.
+\item Call the function by specifying the function name.
+\item Assign a docstring to a function by putting it as a triple quoted string.
+\item Pass parameters to a function.
+\item Return values from a function.
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Evaluation}
+\label{sec-17}
+
+\begin{enumerate}
+\item What will the function do?
+\lstset{language=Python}
+\begin{lstlisting}
+def what(x)
+ return x*x
+\end{lstlisting}
\begin{itemize}
-\item Functions in Python
-\item Passing parameters to a function
-\item Returning values from a function
-\item We also did few code reading exercises.
+\item Returns the square of x
+\item Returns x
+\item Function doesn't have docstring
+\item Error
\end{itemize}
+\vspace{3pt}
+\item How many arguments can be passed to a python function?
+\begin{itemize}
+\item None
+\item One
+\item Two
+\item Any
+\end{itemize}
+\vspace{3pt}
+\item Write a function which calculates the area of a rectangle.
+\end{enumerate}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solutions}
+\label{sec-18}
+
+
+\begin{enumerate}
+\item Error
+\vspace{16pt}
+\item Any
+\vspace{12pt}
+\item \lstset{language=Python}
+\begin{lstlisting}
+def area(l,b):
+ return l * b
+\end{lstlisting}
+\end{enumerate}
\end{frame}
\begin{frame}
-\frametitle{Thank you!}
-\label{sec-20}
\begin{block}{}
\begin{center}
- This spoken tutorial has been produced by the
- \textcolor{blue}{FOSSEE} team, which is funded by the
+ \textcolor{blue}{\Large THANK YOU!}
\end{center}
+ \end{block}
+\begin{block}{}
\begin{center}
- \textcolor{blue}{National Mission on Education through \\
- Information \& Communication Technology \\
- MHRD, Govt. of India}.
+ For more Information, visit our website\\
+ \url{http://fossee.in/}
\end{center}
\end{block}
\end{frame}
-\end{document}
+\end{document} \ No newline at end of file