diff -r 88a01948450d -r d33698326409 getting-started-with-functions/slides.org --- a/getting-started-with-functions/slides.org Wed Nov 17 23:24:57 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -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