diff options
author | Jovina | 2011-07-08 17:03:08 +0530 |
---|---|---|
committer | Jovina | 2011-07-08 17:03:08 +0530 |
commit | dd1699be35284e56d2972e71608ed69a3e8731ab (patch) | |
tree | 408cf0f163a40e50933a623a9fc8577a47a114b0 /getting_started_with_functions | |
parent | e4f4729e02d3a550f74c52210ea619f8dadb4283 (diff) | |
download | st-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.rst | 335 | ||||
-rw-r--r-- | getting_started_with_functions/slides.org | 163 | ||||
-rw-r--r-- | getting_started_with_functions/slides.tex | 297 |
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 |