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