
% Default to the notebook output style

    


% Inherit from the specified cell style.




    
\documentclass[11pt]{article}

    
    
    \usepackage[T1]{fontenc}
    % Nicer default font (+ math font) than Computer Modern for most use cases
    \usepackage{mathpazo}

    % Basic figure setup, for now with no caption control since it's done
    % automatically by Pandoc (which extracts ![](path) syntax from Markdown).
    \usepackage{graphicx}
    % We will generate all images so they have a width \maxwidth. This means
    % that they will get their normal width if they fit onto the page, but
    % are scaled down if they would overflow the margins.
    \makeatletter
    \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth
    \else\Gin@nat@width\fi}
    \makeatother
    \let\Oldincludegraphics\includegraphics
    % Set max figure width to be 80% of text width, for now hardcoded.
    \renewcommand{\includegraphics}[1]{\Oldincludegraphics[width=.8\maxwidth]{#1}}
    % Ensure that by default, figures have no caption (until we provide a
    % proper Figure object with a Caption API and a way to capture that
    % in the conversion process - todo).
    \usepackage{caption}
    \DeclareCaptionLabelFormat{nolabel}{}
    \captionsetup{labelformat=nolabel}

    \usepackage{adjustbox} % Used to constrain images to a maximum size 
    \usepackage{xcolor} % Allow colors to be defined
    \usepackage{enumerate} % Needed for markdown enumerations to work
    \usepackage{geometry} % Used to adjust the document margins
    \usepackage{amsmath} % Equations
    \usepackage{amssymb} % Equations
    \usepackage{textcomp} % defines textquotesingle
    % Hack from http://tex.stackexchange.com/a/47451/13684:
    \AtBeginDocument{%
        \def\PYZsq{\textquotesingle}% Upright quotes in Pygmentized code
    }
    \usepackage{upquote} % Upright quotes for verbatim code
    \usepackage{eurosym} % defines \euro
    \usepackage[mathletters]{ucs} % Extended unicode (utf-8) support
    \usepackage[utf8x]{inputenc} % Allow utf-8 characters in the tex document
    \usepackage{fancyvrb} % verbatim replacement that allows latex
    \usepackage{grffile} % extends the file name processing of package graphics 
                         % to support a larger range 
    % The hyperref package gives us a pdf with properly built
    % internal navigation ('pdf bookmarks' for the table of contents,
    % internal cross-reference links, web links for URLs, etc.)
    \usepackage{hyperref}
    \usepackage{longtable} % longtable support required by pandoc >1.10
    \usepackage{booktabs}  % table support for pandoc > 1.12.2
    \usepackage[inline]{enumitem} % IRkernel/repr support (it uses the enumerate* environment)
    \usepackage[normalem]{ulem} % ulem is needed to support strikethroughs (\sout)
                                % normalem makes italics be italics, not underlines
    

    
    
    % Colors for the hyperref package
    \definecolor{urlcolor}{rgb}{0,.145,.698}
    \definecolor{linkcolor}{rgb}{.71,0.21,0.01}
    \definecolor{citecolor}{rgb}{.12,.54,.11}

    % ANSI colors
    \definecolor{ansi-black}{HTML}{3E424D}
    \definecolor{ansi-black-intense}{HTML}{282C36}
    \definecolor{ansi-red}{HTML}{E75C58}
    \definecolor{ansi-red-intense}{HTML}{B22B31}
    \definecolor{ansi-green}{HTML}{00A250}
    \definecolor{ansi-green-intense}{HTML}{007427}
    \definecolor{ansi-yellow}{HTML}{DDB62B}
    \definecolor{ansi-yellow-intense}{HTML}{B27D12}
    \definecolor{ansi-blue}{HTML}{208FFB}
    \definecolor{ansi-blue-intense}{HTML}{0065CA}
    \definecolor{ansi-magenta}{HTML}{D160C4}
    \definecolor{ansi-magenta-intense}{HTML}{A03196}
    \definecolor{ansi-cyan}{HTML}{60C6C8}
    \definecolor{ansi-cyan-intense}{HTML}{258F8F}
    \definecolor{ansi-white}{HTML}{C5C1B4}
    \definecolor{ansi-white-intense}{HTML}{A1A6B2}

    % commands and environments needed by pandoc snippets
    % extracted from the output of `pandoc -s`
    \providecommand{\tightlist}{%
      \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
    \DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
    % Add ',fontsize=\small' for more characters per line
    \newenvironment{Shaded}{}{}
    \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
    \newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{{#1}}}
    \newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
    \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
    \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
    \newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
    \newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
    \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{{#1}}}}
    \newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{{#1}}}
    \newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
    \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{{#1}}}
    \newcommand{\RegionMarkerTok}[1]{{#1}}
    \newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
    \newcommand{\NormalTok}[1]{{#1}}
    
    % Additional commands for more recent versions of Pandoc
    \newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{{#1}}}
    \newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
    \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
    \newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{{#1}}}
    \newcommand{\ImportTok}[1]{{#1}}
    \newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{{#1}}}}
    \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
    \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
    \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{{#1}}}
    \newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
    \newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{{#1}}}
    \newcommand{\BuiltInTok}[1]{{#1}}
    \newcommand{\ExtensionTok}[1]{{#1}}
    \newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{{#1}}}
    \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{{#1}}}
    \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
    \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
    
    
    % Define a nice break command that doesn't care if a line doesn't already
    % exist.
    \def\br{\hspace*{\fill} \\* }
    % Math Jax compatability definitions
    \def\gt{>}
    \def\lt{<}
    % Document parameters
    \title{Python Summary}
    
    
    

    % Pygments definitions
    
\makeatletter
\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax%
    \let\PY@ul=\relax \let\PY@tc=\relax%
    \let\PY@bc=\relax \let\PY@ff=\relax}
\def\PY@tok#1{\csname PY@tok@#1\endcsname}
\def\PY@toks#1+{\ifx\relax#1\empty\else%
    \PY@tok{#1}\expandafter\PY@toks\fi}
\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{%
    \PY@it{\PY@bf{\PY@ff{#1}}}}}}}
\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}}

\expandafter\def\csname PY@tok@nv\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PY@tok@kc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@gd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\expandafter\def\csname PY@tok@no\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
\expandafter\def\csname PY@tok@cp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
\expandafter\def\csname PY@tok@nd\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PY@tok@il\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@sa\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@vm\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PY@tok@nb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@vc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PY@tok@mi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@k\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@si\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PY@tok@gi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\expandafter\def\csname PY@tok@cs\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PY@tok@kt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
\expandafter\def\csname PY@tok@kn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@vi\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PY@tok@mo\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@gr\endcsname{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PY@tok@sx\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@sr\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PY@tok@ow\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PY@tok@ni\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
\expandafter\def\csname PY@tok@s1\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@c\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PY@tok@ge\endcsname{\let\PY@it=\textit}
\expandafter\def\csname PY@tok@ne\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
\expandafter\def\csname PY@tok@mb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@kd\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@gp\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PY@tok@cpf\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PY@tok@err\endcsname{\def\PY@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
\expandafter\def\csname PY@tok@o\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@vg\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PY@tok@s2\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@sh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@m\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@nn\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PY@tok@ch\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PY@tok@cm\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PY@tok@go\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
\expandafter\def\csname PY@tok@mf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@nl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
\expandafter\def\csname PY@tok@nc\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PY@tok@dl\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@c1\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PY@tok@s\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@nt\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@kp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@gt\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
\expandafter\def\csname PY@tok@mh\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PY@tok@na\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
\expandafter\def\csname PY@tok@gs\endcsname{\let\PY@bf=\textbf}
\expandafter\def\csname PY@tok@w\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\expandafter\def\csname PY@tok@sb\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@fm\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PY@tok@gh\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PY@tok@bp\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@nf\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PY@tok@sc\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@se\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
\expandafter\def\csname PY@tok@kr\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PY@tok@ss\endcsname{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PY@tok@sd\endcsname{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PY@tok@gu\endcsname{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}

\def\PYZbs{\char`\\}
\def\PYZus{\char`\_}
\def\PYZob{\char`\{}
\def\PYZcb{\char`\}}
\def\PYZca{\char`\^}
\def\PYZam{\char`\&}
\def\PYZlt{\char`\<}
\def\PYZgt{\char`\>}
\def\PYZsh{\char`\#}
\def\PYZpc{\char`\%}
\def\PYZdl{\char`\$}
\def\PYZhy{\char`\-}
\def\PYZsq{\char`\'}
\def\PYZdq{\char`\"}
\def\PYZti{\char`\~}
% for compatibility with earlier versions
\def\PYZat{@}
\def\PYZlb{[}
\def\PYZrb{]}
\makeatother


    % Exact colors from NB
    \definecolor{incolor}{rgb}{0.0, 0.0, 0.5}
    \definecolor{outcolor}{rgb}{0.545, 0.0, 0.0}



    
    % Prevent overflowing lines due to hard-to-break entities
    \sloppy 
    % Setup hyperref package
    \hypersetup{
      breaklinks=true,  % so long urls are correctly broken across lines
      colorlinks=true,
      urlcolor=urlcolor,
      linkcolor=linkcolor,
      citecolor=citecolor,
      }
    % Slightly bigger margins than the latex defaults
    
    \geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in}
    
    

    \begin{document}
    
    
    \maketitle
    
    

    
    \section{Awesome Jupyter Notebook}\label{awesome-jupyter-notebook}

\begin{quote}
Session 2
\end{quote}

\begin{quote}
Python Workshop for Benjama EEP
\end{quote}

    \subsection{Objectives}\label{objectives}

\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
  bool - True, False
\item
  \href{04\%20If\%20Statements.ipynb}{If-else}
\item
  \href{05\%20While\%20Loops\%20and\%20User\%20Input.ipynb}{While}
\item
  For
\item
  \href{07\%20Introduction\%20to\%20Functions.ipynb}{Function}
\item
  \href{Object\%20Oriented\%20Programming.ipynb}{Object Oriented
  Programming}
\end{enumerate}

    \subsection{List - ลำดับ}\label{list---uxe25uxe33uxe14uxe1a}

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{speakers }\OperatorTok{=} \NormalTok{[ }\StringTok{'K'}\NormalTok{, }\StringTok{'Kai'}\NormalTok{, }\StringTok{'Or'}\NormalTok{, }\StringTok{'Paul'}\NormalTok{, }\StringTok{'Tom'}\NormalTok{, }\StringTok{'Woot'} \NormalTok{]}
\NormalTok{heights }\OperatorTok{=} \NormalTok{[ }\DecValTok{180}\NormalTok{, }\DecValTok{164}\NormalTok{, }\DecValTok{165}\NormalTok{, }\DecValTok{165}\NormalTok{, }\DecValTok{180}\NormalTok{, }\DecValTok{170} \NormalTok{]}
\NormalTok{pop }\OperatorTok{=} \NormalTok{[ }\FloatTok{3.25}\NormalTok{, }\FloatTok{3.9}\NormalTok{, }\DecValTok{4}\NormalTok{, }\DecValTok{3}\NormalTok{, }\FloatTok{3.5}\NormalTok{, }\FloatTok{3.44} \NormalTok{] }
\end{Highlighting}
\end{Shaded}

\subsubsection{เข้าถึงข้อมูลในลำดับ}\label{uxe40uxe02uxe32uxe16uxe07uxe02uxe2duxe21uxe25uxe43uxe19uxe25uxe33uxe14uxe1a}

\begin{Shaded}
\begin{Highlighting}[]
\BuiltInTok{print}\NormalTok{(speakers[}\DecValTok{0}\NormalTok{])}
\BuiltInTok{print}\NormalTok{(speakers[}\DecValTok{1}\NormalTok{])}
\BuiltInTok{print}\NormalTok{(speakers[}\DecValTok{2}\NormalTok{])}
\end{Highlighting}
\end{Shaded}

\subsubsection{การกำหนดค่าลำดับ}\label{uxe01uxe32uxe23uxe01uxe33uxe2buxe19uxe14uxe04uxe32uxe25uxe33uxe14uxe1a}

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{speakers[}\DecValTok{0}\NormalTok{] }\OperatorTok{=} \StringTok{'Kriengsak'}
\BuiltInTok{print}\NormalTok{(}\BuiltInTok{str}\NormalTok{(speakers))}
\NormalTok{speakers[}\DecValTok{0}\NormalTok{] }\OperatorTok{=} \StringTok{'K'}
\BuiltInTok{print}\NormalTok{(}\BuiltInTok{str}\NormalTok{(speakers))}
\end{Highlighting}
\end{Shaded}

\subsubsection{การหาค่าต่ำสุด-สูงสุด-ผลรวม
ของลำดับ}\label{uxe01uxe32uxe23uxe2buxe32uxe04uxe32uxe15uxe33uxe2auxe14-uxe2auxe07uxe2auxe14-uxe1cuxe25uxe23uxe27uxe21-uxe02uxe2duxe07uxe25uxe33uxe14uxe1a}

\begin{Shaded}
\begin{Highlighting}[]
\BuiltInTok{print}\NormalTok{( }\BuiltInTok{max}\NormalTok{(heights) )}
\BuiltInTok{print}\NormalTok{( }\BuiltInTok{min}\NormalTok{(pop) )}
\BuiltInTok{print}\NormalTok{( }\BuiltInTok{sum}\NormalTok{(heights) )}
\end{Highlighting}
\end{Shaded}

    \subsection{bool -
ค่าจริง-เท็จ}\label{bool---uxe04uxe32uxe08uxe23uxe07-uxe40uxe17uxe08}

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{speakers }\OperatorTok{=} \NormalTok{[ }\StringTok{'K'}\NormalTok{, }\StringTok{'Kai'}\NormalTok{, }\StringTok{'Or'}\NormalTok{, }\StringTok{'Paul'}\NormalTok{, }\StringTok{'Tom'}\NormalTok{, }\StringTok{'Woot'} \NormalTok{]}
\NormalTok{heights }\OperatorTok{=} \NormalTok{[ }\DecValTok{180}\NormalTok{, }\DecValTok{164}\NormalTok{, }\DecValTok{165}\NormalTok{, }\DecValTok{165}\NormalTok{, }\DecValTok{180}\NormalTok{, }\DecValTok{170} \NormalTok{]}
\NormalTok{popularity }\OperatorTok{=} \NormalTok{[ }\FloatTok{3.25}\NormalTok{, }\FloatTok{3.9}\NormalTok{, }\DecValTok{4}\NormalTok{, }\DecValTok{3}\NormalTok{, }\FloatTok{3.5}\NormalTok{, }\FloatTok{3.44} \NormalTok{] }

\BuiltInTok{print}\NormalTok{( }\StringTok{'K'} \OperatorTok{in} \NormalTok{speakers )}
\BuiltInTok{print}\NormalTok{( }\StringTok{'Justin Bieber'} \OperatorTok{in} \NormalTok{speakers )}
\BuiltInTok{print}\NormalTok{( speakers[}\DecValTok{0}\NormalTok{] }\OperatorTok{==} \StringTok{'K'} \NormalTok{)}
\BuiltInTok{print}\NormalTok{( speakers[}\DecValTok{3}\NormalTok{] }\OperatorTok{==} \StringTok{'Wichit'} \NormalTok{)}
\end{Highlighting}
\end{Shaded}

    \subsection{If-else}\label{if-else}

\subsubsection{เงื่อนไขเดียว}\label{uxe40uxe07uxe2duxe19uxe44uxe02uxe40uxe14uxe22uxe27}

\begin{Shaded}
\begin{Highlighting}[]
\ControlFlowTok{if} \NormalTok{ค่าจริงเท็จ: }
    \NormalTok{คำสั่งที่จะทำเมื่อเป็นจริง}
\ControlFlowTok{else}\NormalTok{:}
    \NormalTok{คำสั่งที่จะทำเมื่อเป็นเท็จ}
\end{Highlighting}
\end{Shaded}

\begin{quote}
ต้วอย่าง
\end{quote}

\begin{Shaded}
\begin{Highlighting}[]
\ControlFlowTok{if} \StringTok{'Justin Bieber'} \OperatorTok{in} \NormalTok{speakers:}
    \BuiltInTok{print}\NormalTok{(}\StringTok{'นักร้องดังนานาชาติมา'}\NormalTok{)}
\ControlFlowTok{else}\NormalTok{:}
    \BuiltInTok{print}\NormalTok{(}\StringTok{'ไม่มีนักร้องดังมางาน'}\NormalTok{)}
\end{Highlighting}
\end{Shaded}

\subsubsection{หลายเงื่อนไข}\label{uxe2buxe25uxe32uxe22uxe40uxe07uxe2duxe19uxe44uxe02}

\begin{Shaded}
\begin{Highlighting}[]
\ControlFlowTok{if} \NormalTok{เงื่อนไข}\DecValTok{1}\NormalTok{:}
    \NormalTok{คำสั่งที่จะทำเมื่อเงื่อนไข}\DecValTok{1}\NormalTok{เป็นจริง}
\ControlFlowTok{elif} \NormalTok{เงื่อนไข}\DecValTok{2}\NormalTok{:}
    \NormalTok{คำสั่งที่จะทำเมื่อเงื่อนไข}\DecValTok{2}\NormalTok{เป็นจริง}
\ControlFlowTok{elif} \NormalTok{เงื่อนไข}\DecValTok{3}\NormalTok{:}
    \NormalTok{คำสั่งที่จะทำเมื่อเงื่อนไข}\DecValTok{3}\NormalTok{เป็นจริง}
\ControlFlowTok{else}\NormalTok{: }
    \NormalTok{คำสั่งที่จะทำเมื่อเงื่อนไขทั้งหมดเป็นเท็จ}
\end{Highlighting}
\end{Shaded}

    \subsection{While}\label{while}

\begin{Shaded}
\begin{Highlighting}[]
\ControlFlowTok{while} \NormalTok{เงื่อนไข:}
    \NormalTok{คำสั่งที่จะทำเมื่อตรวจสอบเงื่อนไขในแต่ละรอบแล้วเป็นจริง}
\end{Highlighting}
\end{Shaded}

\begin{quote}
ตัวอย่าง
\end{quote}

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{i }\OperatorTok{=} \DecValTok{0}
\ControlFlowTok{while} \NormalTok{i }\OperatorTok{<} \DecValTok{10}\NormalTok{:}
    \BuiltInTok{print}\NormalTok{(}\StringTok{'i = '}\OperatorTok{+}\BuiltInTok{str}\NormalTok{(i))}
    \NormalTok{i }\OperatorTok{=} \NormalTok{i}\DecValTok{+1}
\end{Highlighting}
\end{Shaded}

    \subsection{For}\label{for}

\begin{Shaded}
\begin{Highlighting}[]
\ControlFlowTok{for} \NormalTok{สมาชิก }\OperatorTok{in} \NormalTok{ลำดับ:}
    \NormalTok{คำสั่งที่จะทำสำหรับสมาชิกแต่ละตัว}
\end{Highlighting}
\end{Shaded}

\begin{quote}
ตัวอย่าง
\end{quote}

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{speakers }\OperatorTok{=} \NormalTok{[ }\StringTok{'K'}\NormalTok{, }\StringTok{'Kai'}\NormalTok{, }\StringTok{'Or'}\NormalTok{, }\StringTok{'Paul'}\NormalTok{, }\StringTok{'Tom'}\NormalTok{, }\StringTok{'Woot'} \NormalTok{]}
\ControlFlowTok{for} \NormalTok{speaker }\OperatorTok{in} \NormalTok{speakers:}
    \BuiltInTok{print}\NormalTok{(speaker)}
\end{Highlighting}
\end{Shaded}

    \subsection{Function -
การเขียนฟังก์ชัน}\label{function---uxe01uxe32uxe23uxe40uxe02uxe22uxe19uxe1fuxe07uxe01uxe0auxe19}

\begin{Shaded}
\begin{Highlighting}[]
\KeywordTok{def} \NormalTok{ชื่อฟังก์ชัน(รายการข้อมูลที่รับมา):}
    \NormalTok{คำสั่งภายในฟังก์ชัน}
\end{Highlighting}
\end{Shaded}

\begin{quote}
ตัวอย่าง
\end{quote}

\begin{Shaded}
\begin{Highlighting}[]
\KeywordTok{def} \NormalTok{statsummary(a):}
    \ImportTok{import} \NormalTok{statistics}
    \BuiltInTok{print}\NormalTok{(}\StringTok{'ลำดับ: '}\OperatorTok{+}\BuiltInTok{str}\NormalTok{(a))}
    \BuiltInTok{print}\NormalTok{(}\StringTok{'ค่าเฉลี่ยของลำดับ: '}\OperatorTok{+}\BuiltInTok{str}\NormalTok{(statistics.mean(a)))}
    \BuiltInTok{print}\NormalTok{(}\StringTok{'ค่าเบี่ยงเบนมาตรฐานของลำดับ: '}\OperatorTok{+}\BuiltInTok{str}\NormalTok{(statistics.stdev(a)))}

\NormalTok{heights }\OperatorTok{=} \NormalTok{[ }\DecValTok{180}\NormalTok{, }\DecValTok{164}\NormalTok{, }\DecValTok{165}\NormalTok{, }\DecValTok{165}\NormalTok{, }\DecValTok{180}\NormalTok{, }\DecValTok{170} \NormalTok{]}
\NormalTok{statssummary(heights)}
\end{Highlighting}
\end{Shaded}

    \subsection{Dictionary/json -
ชนิดข้อมูลที่นิยมใช้แลกเปลี่ยนข้อมูล}\label{dictionaryjson---uxe0auxe19uxe14uxe02uxe2duxe21uxe25uxe17uxe19uxe22uxe21uxe43uxe0auxe41uxe25uxe01uxe40uxe1buxe25uxe22uxe19uxe02uxe2duxe21uxe25}

\begin{itemize}
\tightlist
\item
  อัตราแลกเปลี่ยน https://api.fixer.io/lastest
\item
  ข้อมูลผู้ใช้บน github https://api.github.com/users
\item
  Google: YouTube Data API, Live Stream, Analytics
  https://developers.google.com/youtube/v3/
\item
  Facebook: \href{https://developers.facebook.com/docs/graph-api/}{Graph
  API}
\item
  \href{https://www.themoviedb.org/}{The Movie Database}
\end{itemize}

\subsubsection{ข้อมูลจากเครื่องวิทยากร}\label{uxe02uxe2duxe21uxe25uxe08uxe32uxe01uxe40uxe04uxe23uxe2duxe07uxe27uxe17uxe22uxe32uxe01uxe23}

\paragraph{แบบ json}\label{uxe41uxe1auxe1a-json}

\begin{itemize}
\tightlist
\item
  http://หมายเลขไอพีเครื่องวิทยากร/api/info
\item
  http://หมายเลขไอพีเครื่องวิทยากร/api/exchange
\end{itemize}

\paragraph{แบบข้อความธรรมดา}\label{uxe41uxe1auxe1auxe02uxe2duxe04uxe27uxe32uxe21uxe18uxe23uxe23uxe21uxe14uxe32}

\begin{itemize}
\tightlist
\item
  http://หมายเลขไอพีเครื่องวิทยากร/speakers/txt
\item
  http://หมายเลขไอพีเครื่องวิทยากร/height/txt
\item
  http://หมายเลขไอพีเครื่องวิทยากร/pop/txt
\end{itemize}

\subsubsection{รูปแบบข้อมูล
dictionary}\label{uxe23uxe1buxe41uxe1auxe1auxe02uxe2duxe21uxe25-dictionary}

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{speakers }\OperatorTok{=} \NormalTok{\{}
  \StringTok{'K'}\NormalTok{: }\StringTok{'เกรียงศักดิ์'}\NormalTok{,}
  \CommentTok{'Woot'}\NormalTok{: }\StringTok{'วราวุฒิ'}\NormalTok{,}
  \CommentTok{'Tom'}\NormalTok{: }\StringTok{'ไพชยนต์'}
\NormalTok{\}}
\end{Highlighting}
\end{Shaded}

เนื่องจาก str ใน python ใช้ได้ทั้ง '' และ ""

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{speakers }\OperatorTok{=} \NormalTok{\{}
  \StringTok{"K"}\NormalTok{: }\StringTok{"เกรียงศักดิ์"}\NormalTok{,}
  \CommentTok{"Woot"}\NormalTok{: }\StringTok{"วราวุฒิ"}\NormalTok{,}
  \CommentTok{"Tom"}\NormalTok{: }\StringTok{"ไพชยนต์"}
\NormalTok{\}}
\end{Highlighting}
\end{Shaded}

\begin{quote}
ตัวอย่าง info
\end{quote}

\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{\{}
    \StringTok{"K"}\NormalTok{: \{}
        \StringTok{"ชื่อ-สกุล"}\NormalTok{: }\StringTok{"เกรียงศักดิ์ ตรีประพิณ"}\NormalTok{,}
        \CommentTok{"e-mail"}\NormalTok{: }\StringTok{"kriengsak.t@ubu.ac.th"}\NormalTok{,}
        \CommentTok{"picture"}\NormalTok{:  }\StringTok{"image/K.jpg"}
    \NormalTok{\},}
    \CommentTok{"Kai"}\NormalTok{: \{}
        \StringTok{"ชื่อ-สกุล"}\NormalTok{: }\StringTok{"ปิยนันท์ พนากานต์"}\NormalTok{, }
        \CommentTok{"e-mail"}\NormalTok{: }\StringTok{"piyanan.p@ubu.ac.th"}\NormalTok{,}
        \CommentTok{"picture"}\NormalTok{:  }\StringTok{"image/Kai.jpg"}
    \NormalTok{\},}
    \CommentTok{"Or"}\NormalTok{: \{}
        \StringTok{"ชื่อ-สกุล"}\NormalTok{: }\StringTok{"วาสนา เหง้าเกษ"}\NormalTok{,}
        \CommentTok{"e-mail"}\NormalTok{: }\StringTok{"wasana.n@ubu.ac.th"}\NormalTok{,}
        \CommentTok{"picture"}\NormalTok{:  }\StringTok{"image/Or.jpg"}
    \NormalTok{\},}
    \CommentTok{"Paul"}\NormalTok{: \{}
        \StringTok{"ชื่อ-สกุล"}\NormalTok{: }\StringTok{"วิชิต สมบัติ"}\NormalTok{,}
        \CommentTok{"e-mail"}\NormalTok{: }\StringTok{"wichit.s@ubu.ac.th"}\NormalTok{,}
        \CommentTok{"picture"}\NormalTok{:  }\StringTok{"image/Paul.jpg"}
    \NormalTok{\},}
    \CommentTok{"Tom"}\NormalTok{: \{}
        \StringTok{"ชื่อ-สกุล"}\NormalTok{: }\StringTok{"ไพชยนต์ คงไชย"}\NormalTok{,}
        \CommentTok{"e-mail"}\NormalTok{: }\StringTok{"phaichayon.k@ubu.ac.th"}\NormalTok{,}
        \CommentTok{"picture"}\NormalTok{:  }\StringTok{"image/Tom.jpg"}
    \NormalTok{\},}
    \CommentTok{"Woot"}\NormalTok{: \{}
        \StringTok{"ชื่อ-สกุล"}\NormalTok{: }\StringTok{"วราวุฒิ ผ้าเจริญ"}\NormalTok{,}
        \CommentTok{"e-mail"}\NormalTok{: }\StringTok{"warawoot.p@ubu.ac.th"}\NormalTok{,}
        \CommentTok{"picture"}\NormalTok{:  }\StringTok{"image/Woot.jpg"}
    \NormalTok{\}}
\NormalTok{\}}
\end{Highlighting}
\end{Shaded}

    \subsection{การรับส่งข้อมูล
json}\label{uxe01uxe32uxe23uxe23uxe1auxe2auxe07uxe02uxe2duxe21uxe25-json}

\begin{Shaded}
\begin{Highlighting}[]
\ImportTok{import} \NormalTok{requests}
\NormalTok{r }\OperatorTok{=} \NormalTok{requests.get(}\StringTok{'http://api.fixer.io/latest'}\NormalTok{)}
\NormalTok{x }\OperatorTok{=} \NormalTok{r.json()}
\BuiltInTok{print}\NormalTok{( }\BuiltInTok{type}\NormalTok{(x) )}
\BuiltInTok{print}\NormalTok{(x)}
\end{Highlighting}
\end{Shaded}

    \subsection{More on import}\label{more-on-import}

คำสั่งเพื่อสร้างหน้าต่างขึ้นมา

\begin{Shaded}
\begin{Highlighting}[]
\ImportTok{import} \NormalTok{sys}
\ImportTok{import} \NormalTok{PyQt5.QtWidgets }

\NormalTok{app }\OperatorTok{=} \NormalTok{PyQt5.QtWidgets.QApplication(sys.argv)}
\NormalTok{w }\OperatorTok{=} \NormalTok{PyQt5.QtWidgets.QWidget()}
\NormalTok{w.resize(}\DecValTok{250}\NormalTok{, }\DecValTok{150}\NormalTok{)}
\NormalTok{w.move(}\DecValTok{300}\NormalTok{, }\DecValTok{300}\NormalTok{)}
\NormalTok{w.show()}

\NormalTok{sys.exit(app.exec_())}
\end{Highlighting}
\end{Shaded}

เราสามารถทำการย่อชื่อโดยใช้คำสั่ง import ช่วยให้สั้นลงได้ดังนี้

\begin{Shaded}
\begin{Highlighting}[]
\ImportTok{import} \NormalTok{sys}
\ImportTok{from} \NormalTok{PyQt5.QtWidgets }\ImportTok{import} \NormalTok{QApplication, QWidget}

\NormalTok{app }\OperatorTok{=} \NormalTok{QApplication(sys.argv)}
\NormalTok{w }\OperatorTok{=} \NormalTok{QWidget()}
\NormalTok{w.resize(}\DecValTok{250}\NormalTok{, }\DecValTok{150}\NormalTok{)}
\NormalTok{w.move(}\DecValTok{300}\NormalTok{, }\DecValTok{300}\NormalTok{)}
\NormalTok{w.show()}

\NormalTok{sys.exit(app.exec_())}
\end{Highlighting}
\end{Shaded}

    \section{แนวคิดเชิงวัตถุ
และการสืบทอดคุณสมบัติ}\label{uxe41uxe19uxe27uxe04uxe14uxe40uxe0auxe07uxe27uxe15uxe16-uxe41uxe25uxe30uxe01uxe32uxe23uxe2auxe1auxe17uxe2duxe14uxe04uxe13uxe2auxe21uxe1auxe15}

เราสามารถเขียนนิยามหน้าต่างของเราเองได้ดังนี้

\begin{Shaded}
\begin{Highlighting}[]
\ImportTok{import} \NormalTok{sys}
\ImportTok{from} \NormalTok{PyQt5.QtWidgets }\ImportTok{import} \NormalTok{QApplication, QWidget}
\ImportTok{from} \NormalTok{PyQt5.QtGui }\ImportTok{import} \NormalTok{QIcon}


\KeywordTok{class} \NormalTok{MyWindow(QWidget):}
    
    \KeywordTok{def} \FunctionTok{__init__}\NormalTok{(}\VariableTok{self}\NormalTok{):}
        \BuiltInTok{super}\NormalTok{().}\FunctionTok{__init__}\NormalTok{()}
        \VariableTok{self}\NormalTok{.setGeometry(}\DecValTok{300}\NormalTok{, }\DecValTok{300}\NormalTok{, }\DecValTok{250}\NormalTok{, }\DecValTok{150}\NormalTok{)}
        \VariableTok{self}\NormalTok{.setWindowTitle(}\StringTok{'Icon'}\NormalTok{)}
        \VariableTok{self}\NormalTok{.setWindowIcon(QIcon(}\StringTok{'icon.png'}\NormalTok{))}
        \VariableTok{self}\NormalTok{.show()}
        
        
\ControlFlowTok{if} \VariableTok{__name__} \OperatorTok{==} \StringTok{'__main__'}\NormalTok{:}
    
    \NormalTok{app }\OperatorTok{=} \NormalTok{QApplication(sys.argv)}
    \NormalTok{ex }\OperatorTok{=} \NormalTok{Example()}
    \NormalTok{sys.exit(app.exec_())}
\end{Highlighting}
\end{Shaded}


    % Add a bibliography block to the postdoc
    
    
    
    \end{document}
