summaryrefslogtreecommitdiff
path: root/getting-started-with-functions
diff options
context:
space:
mode:
authorPuneeth Chaganti2010-12-01 16:51:35 +0530
committerPuneeth Chaganti2010-12-01 16:51:35 +0530
commitf3a34dfb4e879f3eb7274704f44546aac4add88f (patch)
tree1cb0a8cc5dbd5ee2b374350915ed2addfa0fb447 /getting-started-with-functions
parent347866ed0d29db61ee062563b1e1616cfb85588c (diff)
downloadst-scripts-f3a34dfb4e879f3eb7274704f44546aac4add88f.tar.gz
st-scripts-f3a34dfb4e879f3eb7274704f44546aac4add88f.tar.bz2
st-scripts-f3a34dfb4e879f3eb7274704f44546aac4add88f.zip
Renamed all LOs to match with their names in progress.org.
Diffstat (limited to 'getting-started-with-functions')
-rw-r--r--getting-started-with-functions/quickref.tex4
-rw-r--r--getting-started-with-functions/script.rst293
-rw-r--r--getting-started-with-functions/slides.org211
-rw-r--r--getting-started-with-functions/slides.tex318
4 files changed, 0 insertions, 826 deletions
diff --git a/getting-started-with-functions/quickref.tex b/getting-started-with-functions/quickref.tex
deleted file mode 100644
index a4f5a33..0000000
--- a/getting-started-with-functions/quickref.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-Defining a function:\\
-{\ex \lstinline| def name([arguments]):|}
-{\ex \lstinline| code|}
-{\ex \lstinline| [return values]|}
diff --git a/getting-started-with-functions/script.rst b/getting-started-with-functions/script.rst
deleted file mode 100644
index 26e5b79..0000000
--- a/getting-started-with-functions/script.rst
+++ /dev/null
@@ -1,293 +0,0 @@
-.. Objectives
-.. ----------
-
-.. 8.1 LO: getting started with functions (3)
-
-.. At the end of this tutorial, you will be able to
-
-.. 1. define function
-.. #. define functions with arguments
-.. #. learn about docstrings
-.. #. learn about return values
-.. can return multiple values
-.. #. read code
-
-
-.. Prerequisites
-.. -------------
-
-.. 1. should have ``ipython`` installed.
-.. #. getting started with ``ipython``.
-
-
-.. Author : Anoop Jacob Thomas <anoop@fossee.in>
- Internal Reviewer :
- External Reviewer :
- Language Reviewer : Bhanukiran
- Checklist OK? : <put date stamp here, not OK> [2010-10-05]
-
-
-==============================
-Getting started with functions
-==============================
-
-{{{ show welcome slide }}}
-
-Hello and welcome to the tutorial getting started with functions.
-
-{{{ switch to next slide, outline slide }}}
-
-In this tutorial we will learn about functions in python, how to
-define functions, arguments to functions, docstrings, and function
-return value.
-
-{{{ switch to next slide, Function }}}
-
-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
-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,
-
-{{{ switch to next slide, f(x) a mathematical function }}}
-
-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
-value 4. Let us now see how to define the function f(x) in python.
-
-{{{ switch to next slide, define f(x) in Python }}}
-
-In your Ipython interpreter type the following,
-::
-
- def f(x):
- return x*x
-
-Well that defined the function, so before learning what we did let us
-see if it returns the expected values, try,
-::
-
- f(1)
- f(2)
-
-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
-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 }}}
-
-%% 1 %% Write a python function named cube which computes the cube of
- a given number n.
-
-Pause here and try to solve the problem yourself.
-
-{{{ switch to next slide, solution }}}
-
-The problem can be solved as,
-::
-
- def cube(n):
- return n**3
-
-And now let us see how to write functions without arguments.
-
-{{{ switch to next slide, greet function }}}
-
-let us define a new function called ``greet`` which will print ``Hello
-World``.
-::
-
- def greet():
- print "Hello World!"
-
-now try calling the function,
-::
-
- greet()
-
-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 }}}
-
-%% 2 %% Write a python function named ``avg`` which computes the
- average of ``a`` and ``b``.
-
-Pause here and try to solve the problem yourself.
-
-{{{ switch to next slide, solution 2 }}}
-
-The problem can be solved as,
-::
-
- def avg(a,b):
- return (a + b)/2
-
-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
-function does, and that is called a docstring. Let us modify the
-function ``avg`` and add docstring to it. Do the following,
-::
-
- def avg(a,b):
- """ avg takes two numbers as input (a & b), and
- returns the average of a and b"""
- return (a+b)/2
-
-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.
-
-Now try this in the ipython interpreter.
-::
-
- avg?
-
-It displays the docstring as we gave it. Thus docstring is a good way
-of documenting the function we write.
-
-Try to do this,
-::
-
- f?
-
-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 }}}
-
-%% 3 %% Add docstring to the function f.
-
-Pause here and try to do it yourself.
-
-{{{ switch to next slide, solution }}}
-
-We need to define the function again to add docstring to the function
-``f`` and we do it as,
-::
-
- def f(x):
- """Accepts a number x as argument and,
- returns the square of the number x."""
- return x*x
-
-{{{ switch to next slide, exercise 4 }}}
-
-%% 4 %% Write a python function named ``circle`` which returns the
- area and perimeter of a circle given radius ``r``.
-
-Pause here and try to solve the problem yourself.
-
-{{{ switch to next slide, solution 4 }}}
-
-The problem requires us to return two values instead of one which we
-were doing till now. We can solve the problem as,
-::
-
- 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
-
-A python function can return any number of values. There is no
-restriction for it.
-
-Let us call the function ``circle`` as,
-::
-
- a, p = circle(6)
- print a
- print p
-
-Now we have done enough coding, let us do some code reading exercise,
-
-{{{ switch to next slide, what }}}
-
-What does the function ``what`` do?
-
-.. def what( n ):
-.. if n < 0: n = -n
-.. while n > 0:
-.. if n % 2 == 1:
-.. return False
-.. n /= 10
-.. return True
-
-Pause here and try to figure out what the function ``what`` does.
-
-{{{ 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"""
-.. if n < 0: n = -n
-.. while n > 0:
-.. if n % 2 == 1:
-.. return False
-.. n /= 10
-.. return True
-
-The function returns ``True`` if all the digits of the number ``n``
-are even, otherwise it returns ``False``.
-
-Now one more code reading exercise,
-
-{{{ switch to next slide, what }}}
-
-What does the function ``what`` do?
-
-.. def what( n ):
-.. i = 1
-.. while i * i < n:
-.. i += 1
-.. return i * i == n, i
-
-Pause here and try to figure out what the function ``what`` does.
-
-{{{ switch to next slide, is_perfect_square }}}
-
-.. def is_perfect_square( n ):
-.. """returns True and square root of n, if n is a perfect square,
-.. otherwise returns False and the square root of the
-.. next perfect square"""
-.. i = 1
-.. while i * i < n:
-.. i += 1
-.. return i * i == n, i
-
-
-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
-
-{{{ switch to next slide, summary }}}
-
-- Functions in Python
-- Passing parameters to a function
-- Returning values from a function
-
-We also did few code reading exercises.
-
-{{{ switch to next slide, Thank you }}}
-
-Thank you!
diff --git a/getting-started-with-functions/slides.org b/getting-started-with-functions/slides.org
deleted file mode 100644
index 8e45b59..0000000
--- a/getting-started-with-functions/slides.org
+++ /dev/null
@@ -1,211 +0,0 @@
-#+LaTeX_CLASS: beamer
-#+LaTeX_CLASS_OPTIONS: [presentation]
-#+BEAMER_FRAME_LEVEL: 1
-
-#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
-#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
-#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
-
-#+LaTeX_CLASS: beamer
-#+LaTeX_CLASS_OPTIONS: [presentation]
-
-#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
-#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
-
-#+LaTeX_HEADER: \usepackage{listings}
-
-#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
-#+LaTeX_HEADER: commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
-#+LaTeX_HEADER: showstringspaces=false, keywordstyle=\color{blue}\bfseries}
-
-#+TITLE: Getting started with functions
-#+AUTHOR: FOSSEE
-#+EMAIL: info@fossee.in
-#+DATE:
-
-#+DESCRIPTION:
-#+KEYWORDS:
-#+LANGUAGE: en
-#+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
-
-* 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):
- return x*x
- #+end_src
-
- - ~def~ - keyword
- - ~f~ - function name
- - ~x~ - parameter / argument to function ~f~
-
-* Exercise 1
-
- 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
- ~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
- #+begin_src python
- 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_src
- - Docstring
- - written in the line after the ~def~ line.
- - Inside triple quote.
- - Documentation
- : avg?
-* Exercise 3
- 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
-#+end_src
-
-* Exercise 4
- 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
-
- def what( n ):
- if n < 0: n = -n
- while n > 0:
- if n % 2 == 1:
- return False
- n /= 10
- return True
-#+end_src
-
-* ~even_digits~
-#+begin_src python
- def even_digits( n ):
- """returns True if all the digits of number
- n is even returns False if all the digits
- of number n is not even"""
- if n < 0: n = -n
- while n > 0:
- if n % 2 == 1:
- return False
- n /= 10
- return True
-#+end_src
-
-* ~what~
-#+begin_src python
- def what( n ):
- i = 1
- while i * i < n:
- i += 1
- return i * i == n, i
-#+end_src
-
-* ~is_perfect_square~
-#+begin_src python
- def is_perfect_square( n ):
- """returns True and square root of n,
- if n is a perfect square, otherwise
- returns False and the square root
- of the next perfect square"""
- i = 1
- while i * i < n:
- i += 1
- return i * i == n, i
-#+end_src
-
-* Summary
- - Functions in Python
- - Passing parameters to a function
- - Returning values from a function
-
- - We also did few code reading exercises.
-
-* Thank you!
-#+begin_latex
- \begin{block}{}
- \begin{center}
- This spoken tutorial has been produced by the
- \textcolor{blue}{FOSSEE} team, which is funded by the
- \end{center}
- \begin{center}
- \textcolor{blue}{National Mission on Education through \\
- Information \& Communication Technology \\
- MHRD, Govt. of India}.
- \end{center}
- \end{block}
-#+end_latex
diff --git a/getting-started-with-functions/slides.tex b/getting-started-with-functions/slides.tex
deleted file mode 100644
index e9eaa81..0000000
--- a/getting-started-with-functions/slides.tex
+++ /dev/null
@@ -1,318 +0,0 @@
-% Created 2010-11-10 Wed 18:59
-\documentclass[presentation]{beamer}
-\usepackage[latin1]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{fixltx2e}
-\usepackage{graphicx}
-\usepackage{longtable}
-\usepackage{float}
-\usepackage{wrapfig}
-\usepackage{soul}
-\usepackage{t1enc}
-\usepackage{textcomp}
-\usepackage{marvosym}
-\usepackage{wasysym}
-\usepackage{latexsym}
-\usepackage{amssymb}
-\usepackage{hyperref}
-\tolerance=1000
-\usepackage[english]{babel} \usepackage{ae,aecompl}
-\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
-\usepackage{listings}
-\lstset{language=Python, basicstyle=\ttfamily\bfseries,
-commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
-showstringspaces=false, keywordstyle=\color{blue}\bfseries}
-\providecommand{\alert}[1]{\textbf{#1}}
-
-\title{Getting started with functions}
-\author{FOSSEE}
-\date{}
-
-\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
-\begin{document}
-
-\maketitle
-
-
-
-
-
-
-
-
-
-\begin{frame}
-\frametitle{Outline}
-\label{sec-1}
-
-\begin{itemize}
-\item Define functions
-\item Pass arguments to functions
-\item Learn about docstrings
-\item Return values from functions
-\end{itemize}
-\end{frame}
-\begin{frame}
-\frametitle{Function}
-\label{sec-2}
-
-\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}
-
-\begin{verbatim}
-def f(x):
- return x*x
-\end{verbatim}
-
-\begin{itemize}
-\item \texttt{def} - keyword
-\item \texttt{f} - function name
-\item \texttt{x} - parameter / argument to function \texttt{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}
-
-\end{itemize}
-\end{frame}
-\begin{frame}
-\frametitle{Exercise 2}
-\label{sec-8}
-
-
- 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)}
-\end{itemize}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Docstring}
-\label{sec-10}
-
-
-\begin{itemize}
-\item Documenting/commenting code is a good practice
-\begin{verbatim}
-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}
-\item Docstring
-
-\begin{itemize}
-\item written in the line after the \texttt{def} line.
-\item Inside triple quote.
-\end{itemize}
-
-\item Documentation
-\begin{verbatim}
- avg?
-\end{verbatim}
-
-\end{itemize}
-\end{frame}
-\begin{frame}
-\frametitle{Exercise 3}
-\label{sec-11}
-
- Add docstring to the function f.
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 3}
-\label{sec-12}
-
-
-\begin{verbatim}
-def f(x):
- """Accepts a number x as argument and,
- returns the square of the number x."""
- return x*x
-\end{verbatim}
-\end{frame}
-\begin{frame}
-\frametitle{Exercise 4}
-\label{sec-13}
-
- 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}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{\texttt{what}}
-\label{sec-15}
-
-\begin{verbatim}
-
-def what( n ):
- if n < 0: n = -n
- while n > 0:
- if n % 2 == 1:
- return False
- n /= 10
- return True
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{\texttt{even\_digits}}
-\label{sec-16}
-
-\begin{verbatim}
-def even_digits( n ):
- """returns True if all the digits of number
- n is even returns False if all the digits
- of number n is not even"""
- if n < 0: n = -n
- while n > 0:
- if n % 2 == 1:
- return False
- n /= 10
- return True
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{\texttt{what}}
-\label{sec-17}
-
-\begin{verbatim}
-def what( n ):
- i = 1
- while i * i < n:
- i += 1
- return i * i == n, i
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{\texttt{is\_perfect\_square}}
-\label{sec-18}
-
-\begin{verbatim}
-def is_perfect_square( n ):
- """returns True and square root of n,
- if n is a perfect square, otherwise
- returns False and the square root
- of the next perfect square"""
- i = 1
- while i * i < n:
- i += 1
- return i * i == n, i
-\end{verbatim}
-\end{frame}
-\begin{frame}
-\frametitle{Summary}
-\label{sec-19}
-
-\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.
-\end{itemize}
-\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
- \end{center}
- \begin{center}
- \textcolor{blue}{National Mission on Education through \\
- Information \& Communication Technology \\
- MHRD, Govt. of India}.
- \end{center}
- \end{block}
-\end{frame}
-
-\end{document}