Reviewed conditionals LO.
authorPuneeth Chaganti <punchagan@fossee.in>
Wed, 10 Nov 2010 13:25:46 +0530
changeset 438 4523b2048663
parent 437 0840aa06d2e6
child 439 b437ff7def95
Reviewed conditionals LO.
conditionals/questions.rst
conditionals/script.rst
conditionals/slides.org
conditionals/slides.tex
--- a/conditionals/questions.rst	Wed Nov 10 12:32:16 2010 +0530
+++ b/conditionals/questions.rst	Wed Nov 10 13:25:46 2010 +0530
@@ -75,6 +75,27 @@
 
 .. A minimum of 2 questions here (along with answers)
 
-1. 
+1. Given a number, say, n. If it is divisible by 10, print the
+   quotient when divided by 10, otherwise if it is divisible by 5,
+   print the corresponding quotient, otherwise, print the number.
+
+
+   Answer::
 
-2. 
+        if n%10==0:
+            print n/10
+        elif n%5==0:
+            print n/5
+        else:
+            print n
+
+2. Given a number, say, n. Write an if block to multiply n by three
+   and add 1, if it is odd, otherwise halve it. 
+
+   Answer::
+
+        if n % 2:
+            n = n*3+1
+        else:
+            n /= 2
+
--- a/conditionals/script.rst	Wed Nov 10 12:32:16 2010 +0530
+++ b/conditionals/script.rst	Wed Nov 10 13:25:46 2010 +0530
@@ -126,10 +126,19 @@
 
 Following is an exercise that you must do. 
 
-%% %% 
+%% %% Given a number, num. Write an if else block to print num, as is,
+      if it is divisible by 10, else print 10 * num.                  
 
 Please, pause the video here. Do the exercise and then continue. 
 
+:: 
+
+  if num%10 == 0:
+      print num
+  else:
+      print 10*num
+
+
 In addition to these conditional statements, Python provides a very
 convenient ternary conditional operator. Let us take the following
 example where we read the marks data from a data file which is
@@ -155,10 +164,15 @@
 
 Following is an exercise that you must do. 
 
-%% %%     
+%% %% Given a number, num. Write a ternary operator to print num, as is,
+      if it is divisible by 10, else print 10 * num. 
 
 Please, pause the video here. Do the exercise and then continue. 
 
+:: 
+
+   print num if num%10 == 0 else 10*num
+
 Moving on, there are certain situations where we will have no
 operations or statements within a block of code. For example, we have
 a code where we are waiting for the keyboard input. If the user enters
--- a/conditionals/slides.org	Wed Nov 10 12:32:16 2010 +0530
+++ b/conditionals/slides.org	Wed Nov 10 13:25:46 2010 +0530
@@ -30,12 +30,20 @@
 #+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
 
 * Outline
+  In this tutorial, we shall look at
+    + Using if/else blocks 
+    + Using if/elif/else blocks
+    + Using the Ternary conditional statement
 
 * Question 1
-
+  Given a number, num. Write an if else block to print num, as is, if
+  it is divisible by 10, else print 10 * num.
 * Solution 1
   #+begin_src python
-
+    if num%10 == 0: 
+        print num   
+    else:           
+        print 10*num
   #+end_src
 
 * ~if/elif~ ladder
@@ -47,8 +55,21 @@
     elif user == 'client':
         # Do customer operations
   #+end_src
+* Question 2
+  Given a number, num. Write a ternary operator to print num, as is,
+  if it is divisible by 10, else print 10 * num.
+* Solution 2
+  #+begin_src python
+    print num if num%10 == 0 else 10*num
+  #+end_src
+* Summary
+  In this tutorial session we learnt
 
-* Summary
+    + What are conditional statements
+    + if/else statement
+    + if/elif/else statement
+    + Ternary conditional statement - ~C if X else Y~
+    + and the ~pass~ statement
 
 * Thank you!
 #+begin_latex
--- a/conditionals/slides.tex	Wed Nov 10 12:32:16 2010 +0530
+++ b/conditionals/slides.tex	Wed Nov 10 13:25:46 2010 +0530
@@ -1,95 +1,123 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%Tutorial slides on Python.
-%
-% Author: FOSSEE 
-% Copyright (c) 2009, FOSSEE, IIT Bombay
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\documentclass[14pt,compress]{beamer}
-%\documentclass[draft]{beamer}
-%\documentclass[compress,handout]{beamer}
-%\usepackage{pgfpages} 
-%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
-
-% Modified from: generic-ornate-15min-45min.de.tex
-\mode<presentation>
-{
-  \usetheme{Warsaw}
-  \useoutertheme{infolines}
-  \setbeamercovered{transparent}
-}
-
-\usepackage[english]{babel}
+% Created 2010-11-10 Wed 13:25
+\documentclass[presentation]{beamer}
 \usepackage[latin1]{inputenc}
-%\usepackage{times}
 \usepackage[T1]{fontenc}
-
-\usepackage{ae,aecompl}
-\usepackage{mathpazo,courier,euler}
-\usepackage[scaled=.95]{helvet}
+\usepackage{fixltx2e}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage{float}
+\usepackage{wrapfig}
+\usepackage{soul}
+\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}}
 
-\definecolor{darkgreen}{rgb}{0,0.5,0}
-
-\usepackage{listings}
-\lstset{language=Python,
-    basicstyle=\ttfamily\bfseries,
-    commentstyle=\color{red}\itshape,
-  stringstyle=\color{darkgreen},
-  showstringspaces=false,
-  keywordstyle=\color{blue}\bfseries}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Macros
-\setbeamercolor{emphbar}{bg=blue!20, fg=black}
-\newcommand{\emphbar}[1]
-{\begin{beamercolorbox}[rounded=true]{emphbar} 
-      {#1}
- \end{beamercolorbox}
-}
-\newcounter{time}
-\setcounter{time}{0}
-\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}}
-
-\newcommand{\typ}[1]{\lstinline{#1}}
-
-\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}}  }
-
-% Title page
-\title{Your Title Here}
-
-\author[FOSSEE] {FOSSEE}
-
-\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+\title{Conditionals}
+\author{FOSSEE}
 \date{}
 
-% DOCUMENT STARTS
+\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
 \begin{document}
 
+\maketitle
+
+
+
+
+
+
+
+
+
 \begin{frame}
-  \maketitle
+\frametitle{Outline}
+\label{sec-1}
+
+  In this tutorial, we shall look at
+\begin{itemize}
+\item Using if/else blocks
+\item Using if/elif/else blocks
+\item Using the Ternary conditional statement
+\end{itemize}
 \end{frame}
+\begin{frame}
+\frametitle{Question 1}
+\label{sec-2}
 
+  Given a number, num. Write an if else block to print num, as is, if
+  it is divisible by 10, else print 10 * num.
+\end{frame}
 \begin{frame}[fragile]
-  \frametitle{Outline}
-  \begin{itemize}
-    \item 
-  \end{itemize}
+\frametitle{Solution 1}
+\label{sec-3}
+
+\lstset{language=Python}
+\begin{lstlisting}
+if num%10 == 0: 
+    print num   
+else:           
+    print 10*num
+\end{lstlisting}
 \end{frame}
+\begin{frame}[fragile]
+\frametitle{\texttt{if/elif} ladder}
+\label{sec-4}
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%              All other slides here.                  %%
-%% The same slides will be used in a classroom setting. %% 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\lstset{language=Python}
+\begin{lstlisting}
+if user == 'admin':
+    # Do admin operations
+elif user == 'moderator':
+    # Do moderator operations
+elif user == 'client':
+    # Do customer operations
+\end{lstlisting}
+\end{frame}
+\begin{frame}
+\frametitle{Question 2}
+\label{sec-5}
 
+  Given a number, num. Write a ternary operator to print num, as is,
+  if it is divisible by 10, else print 10 * num.
+\end{frame}
 \begin{frame}[fragile]
-  \frametitle{Summary}
-  \begin{itemize}
-    \item 
-  \end{itemize}
+\frametitle{Solution 2}
+\label{sec-6}
+
+\lstset{language=Python}
+\begin{lstlisting}
+print num if num%10 == 0 else 10*num
+\end{lstlisting}
 \end{frame}
-
 \begin{frame}
-  \frametitle{Thank you!}  
+\frametitle{Summary}
+\label{sec-7}
+
+  In this tutorial session we learnt
+
+\begin{itemize}
+\item What are conditional statements
+\item if/else statement
+\item if/elif/else statement
+\item Ternary conditional statement - \texttt{C if X else Y}
+\item and the \texttt{pass} statement
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Thank you!}
+\label{sec-8}
+
   \begin{block}{}
   \begin{center}
   This spoken tutorial has been produced by the