Top Banner

of 231

234844490-Python-Book.pdf

Jul 06, 2018

Download

Documents

bandihoot
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/17/2019 234844490-Python-Book.pdf

    1/231

  • 8/17/2019 234844490-Python-Book.pdf

    2/231

    i

    i

    !"#$%& (%) *+,-&&+).

  • 8/17/2019 234844490-Python-Book.pdf

    3/231

    ii Python for Beginners

    ii

  • 8/17/2019 234844490-Python-Book.pdf

    4/231

    iii

    iii

    !"#$%& (%) *+,-&&+).

     /0+1 *%2+).

    3+4)&5%!)%,)467 8&9:

     ;+)&%&7

  • 8/17/2019 234844490-Python-Book.pdf

    5/231

    iv  Python for Beginners

    iv 

    3+4)&5%!)%,)46:#>7 8&9%)?%)4#+@

    AB C4)#(%)@ 5=)&?-D+ E=-#+ AFG

     ;+)&%&7

    IJGFK JLFMBFNF

    OAFPQ R" 3+4)&5%!)%,)46:#>7 8&9%)?%)4#+@

    8E*SMPQT NBJMFMNJJJLANMBMB8E*SMPFT FNJJJLANBP

     /00 )-,$#. )+.+)>+@: S% ?4)# %( #$-. @%9=6+ 64" R+ )+?)%@=9+@ %)

    #)4&.6-##+@ -& 4&" (%)6 %) R" 4&" 6+4&.7 +0+9#)%&-97 6+9$4&-9407

    ?$%#%9%?"-&,7 )+9%)@-&,7 %) %#$+)2-.+7 2-#$%=# ?)-%) 2)-##+& ?+)6-..-%& %(

    3+4)&5%!)%,)46:#>7 8&9%)?%)4#+@:

    !"#"$ &' !"()"*"$+,-"./*("#01 &' 2(11(3$+T U$-0+ #$+ ?=R0-.$+) 4&@4=#$%) $4>+ =.+@ #$+-) R+.# +((%)#. -& ?)+?4)-&, #$-. R%%D7 #$+" 64D+

    &% )+?)+.+#-%&. %) 24))4-+. 2-#$ )+.?+9# #% #$+ 499=)49" %)

    9%6?0+#+&+.. %( #$+ 9%+. %( #$-. R%%D 4&@ .?+9-(-9400" @-.904-6 4&"

    -6?0-+@ 24))4-+. %( 6+)9$4R-0-#" %) (-#&+.. (%) 4 ?4)#-9=04) ?=)?%.+:

    S% 24))4" 64" R+ 9)+4#+@ %) +1#+&@+@ R" .40+. )+?)+.+#->+. %)

    2)-##+& .40+. 64#+)-40.: 5$+ 4@>-9+ 4&@ .#)4#+,-+. 9%-&+@ $+)+-& 64"

    &%# R+ .=-#4R0+ (%) "%=) .-#=4#-%&: V%= .$%=0@ 9%&.=0# 2-#$ 4 ?)%(+..-%&40

    2$+)+ 4??)%?)-4#+: *" (%00%2-&, #$+ -&.#)=9#-%&. 9%-&+@ $+)+-&7 #$+

    )+4@+) 2-00-&,0" 4..=6+. 400 )-.D. -& 9%&&+9#-%& 2-#$ .=9$ -&.#)=9#-%&.:

    S+-#$+) #$+ ?=R0-.$+) &%) 4=#$%) .$400 R+ 0-4R0+ (%) 4&" 0%.. %( ?)%(-#

    %) 4&" %#$+) 9%66+)9-40 @464,+.7 -&90=@-&, R=# &%# 0-6-#+@ #% .?+9-407

    -&9-@+Ɨ 9%&.+W=+-407 +1+6?04)"7 %) %#$+) @464,+. )+.=0#-&, -& 2$%0+

    %) ?4)#7 ()%6 #$+ )+4@+).X =.+ %(7 %) )+0-4&9+ =?%&7 #$-. 64#+)-40:

    Y4)D 34..%((7 !=R0-.$+)

    Z+>-& C+)&4&@+[7 ;!\ !)%@=9#-%&

     /0-.%& ]%2&.7

  • 8/17/2019 234844490-Python-Book.pdf

    6/231

     v 

     v 

    ]+@-94#-%&

    5% #$+ #+46 4# 3+4)&5%!)%,)46T #$4&D "%= (%) "%=) #)=.# 4&@ (4-#$ -&

    6+: U%)D-&, 40%&,.-@+ "%= $4. R++& -&9)+@-R0+:

     / .?+9-40 #$4&D "%= #% Y4)D (%) $-. ,=-@4&9+ 4&@ 4..-.#4&9+ #$)%=,$%=#

    #$+ +-)+ ?)%9+..:

    a-&400"7 4 #$4&D "%= #% 6" ?4)+.7

  • 8/17/2019 234844490-Python-Book.pdf

    7/231

     vi Python for Beginners

     vi

  • 8/17/2019 234844490-Python-Book.pdf

    8/231

     vii

     vii

    ! "#$% '( )'*!%*!+

    /+##-&, 0#1)#+2 333333333333333333333333333333333333333333333333333333333333333333333333333333333344

    454 6/78"1"39 $:0 ;&&*. 55555555555555555555555555555555555555555555555555555555555555555555554445< =0**& 2&1*> "3 ?+$:&3 555555555555555555555555555555555555555555555555555555555555555554@ 

    5$+ *1.-6. 333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333378

    01 &' $:0 HF01($&1. 555555555555555555555555555555555EG 

    O*.0 55555555555555555555555555555555555555555555555555555555555M"'+"39 !".$. 5555555555555555555555555555555555555555555555555555555555555555555555555555NI 

    K5E B&1$"39 !".$. 555555555555555555555555555555555555555555555555555555555555555555555555555555555N@ 

    L:(F$01 K !() OP01/".0 5555555555555555555555555555555555555555555555555555555555555555555555@E 

    A+6+-B-&, C&=D#. 33333333333333333333333333333333333333333333333333333333333333333333333333333333E@

    G54 \?10.. (3+ S0+ $& /&3$"380] 5555555555555555555555555555555555555555555555555555555555@N 

    G5< -($( R3F8$ 55555555555555555555555555555555555555555555555555555555555555555555555555555555554QQ 

    L:(F$01 G !() OP01/".0 555555555555555555555555555555555555555555555555555555555555555555554QI 

    !)+2+(-&+2 0#)-&, FD&6#-%&. 333333333333333333333333333333333333333333333333333333334?>

    M54 J."39 B$1"39. (. H)^0/$. 5555555555555555555555555555555555555555555555555555555555554QG M5< BF*"$$"39 (3> _&"3"39 B$1"39. 555555555555555555555555555555555555555555555555555444

    L:(F$01 M !() OP01/".0 5555555555555555555555555555555555555555555555555555555555555555555544K 

    9D.#%G FD&6#-%&. 33333333333333333333333333333333333333333333333333333333333333333333333333344@

  • 8/17/2019 234844490-Python-Book.pdf

    9/231

     viii Python for Beginners

    N54 B+3$(P H`01`"0C 55555555555555555555555555555555555555555555555555555555555555555555555544N 

    N5< X&10 ?(1(#0$01. 5555555555555555555555555555555555555555555555555555555555555555555555554

  • 8/17/2019 234844490-Python-Book.pdf

    10/231

    ix 

    ix 

     /R%=# #$+ /=#$%)

     /0+1 *%2+).X ?)%,)466-&, 94)++) R+,4& 2$+& $+ 0+4)&+@ !C! 4&@

    Y"Eb3 (%) 4 .6400 ?)%c+9# #$4# $+ 24+@ #% 9%6?0+#+: 52% "+4). 04#+)7

    #$+ ?)%c+9# 24. (-&-.$+@ 4&@ /0+1 $4@ R+9%6+ 4 R%&4 (-@+ !C! 4&@

    6"Eb3 +1?+)#: C+ 24. $%%D+@d$+ c=.# 9%=0@&X# ,+# +&%=,$ %( 9%@-&,e

    5$-. 24. #$+ R+,-&&-&, %( 4 0-(+0%&, ?4..-%& (%) ?)%,)466-&,:

    E-&9+ #$+&7 /0+1 $4. @+@-94#+@ $-. #-6+ #% #+49$-&, %#$+).: 8& AFFN7

    $+ R+,4& #+49$-&, !C! 4&@ Y"Eb3 %& V%=5=R+ =&@+) #$+ &46+

    f5$+5=#E?49+:g C+ $4. .-&9+ 6%>+@ %& #% #+49$ cb=+)"7 `4>4.9)-?# 4&@

    C5Y3\4)-%=. %#$+) +@=94#-%&40 .%=)9+. 400 %>+)

    #$+ 2+R: /0+1X. ?)-64)" +1?+)#-.+ -. -& 2+R @+>+0%?6+ R=# $+ $4. 40.%

    @4RR0+@ -& /&@)%-@ 4&@ -_E:

     /0+1X. .#"0+ -. >+)" 6=9$ 9%6?4#-R0+ 2-#$ 3+4)&5%!)%,)46X. 6-..-%&T

    #% ?)%>-@+ +4."M#%M499+.. #+9$&-940 +@=94#-%& (%) .#=@+. 2%)0@2-@+:

    a%) /0+17 #)4@-#-%&40 904..)%%6 #+49$-&, -. ?4..iT $-. ,%40 -. #% #+49$

    #$%=.4&@. %( .#=@+. $+ $4. &+>+) 6+# ()%6 400 9%=)-+. 4&@ 9=0#=)+.:

  • 8/17/2019 234844490-Python-Book.pdf

    11/231

    x  Python for Beginners

    4-04R0+ ()%6 3+4)&5%!)%,)467 8&9:

     /`/j ]+>+0%?6+

     /&@)%-@ ]+>+0%?6+ (%) *+,-&&+).

    *+9%6+ 4 +0%?+)

    < !)%,)466-&, (%) *+,-&&+).

    + < (%) *+,-&&+).

    !$%#%.$%? (%)

  • 8/17/2019 234844490-Python-Book.pdf

    12/231

    11

    Chapter 1: Getting Started 

    11

    ,%!!-*, +!".!%/

    )0"1!%. '#2%)!-3%+4

    p V%= 2-00 R+ 4R0+ #% .+# =? #$+ !"#$%& @+>+0%?6+ +&>-)%&6+:

    p V%= 2-00 R+ 4R0+ #% .+# =? ^90-?.+ 2-#$ !"]+> 4. #$+ ?04#(%)6 2$+)+ #$+

    !"#$%& 9%@+ 2-00 R+ 2)-##+&:

    p V%= 2-00 R+ 4R0+ #% 2)-#+ 4&@ )=& "%=) (-).# !"#$%& ?)%,)46:

    565 " )78-.-*, !0% !''$+

    *+(%)+ "%= R+,-& 2%)D-&, 2-#$ 4&@ 0+4)&-&, !"#$%& 2-#$ #$-. R%%D7 #$+)+

    4)+ 4 (+2 #%%0. "%= 2-00 &++@: 8& #$-. 9$4?#+)7 2+ 2-00 .$%2 "%= $%2 #%

    @%2&0%4@ 4&@ -&.#400 #$+ &+9+..4)" #%%0.T !"#$%& 4&@ ^90-?.+:

    !"#$%& -. 4 )+64)D4R0" ?%2+)(=0 @"&46-9 ?)%,)466-&,

    04&,=4,+ #$4# -. =.+@ -& 4 2-@+ >4)-+#" %( 4??0-94#-%& @%64-&.:

    R6:-=.+ -. 4 ?04#(%)6 2$+)+ "%= 94& 2)-#+7 +@-#7 @+R=, 4&@ )=&

    ?)%,)466-&, 04&,=4,+. .=9$ 4. !"#$%&:

    *+(%)+ 2+ 94& @% 4&"#$-&,7 2+ &++@ #% .+# =? %=) #%%0.T

    5$+ (-).# #$-&, "%= 2-00 &++@ -. #% -&.#400 !"#$%&:

    C# 61& K+ 2%N&:%12+2 (%) ()++ ()%G -#. %((-6-1: N+K=1,+ 1#P

    NNN3="#$%&3%),S2%N&:%12

     V%= 2-00 (-&@ 64&" >+).-%&. %( !"#$%& -& #$+ f]%2&0%4@ !"#$%&g .+9#-%&7

    R=# "%= .$%=0@ 4024". =.+ #$+ 9=))+ ?)%@=9#-%& >+).-%&: ;+).-%&. #$4#

    4)+ &%# "+# -& ?)%@=9#-%& 64" $4>+ =&@%9=6++@ +))%).7 ?+)(%)64&9+

    ?)%R0+6. %) %#$+) 6-&%) -..=+.: /# #$+ #-6+ #$-. R%%D -. R+-&, 2)-##+&7

    #$+ 9=))+ ?)%@=9#-%& >+).-%&. 4)+ !"#$%& A:B:L 4&@ !"#$%& Q:Q:P:

    U+ 4)+ ,%-&, #% 2%)D 2-#$ !"#$%& Q:Q:P: 8# -.

    R%#$ 6%)+ .+9=)+ 4&@ (4.#+) #$4& -#. ?)+>-%=.

    >+).-%&.: 5$+ &+1# .#+? -. #% @%2&0%4@ %&+

    #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

     #$%&'

    ()

    5$-. K%%T D.+.P

    !"#$%& 83834

    1.1 Acquiring the Tools

  • 8/17/2019 234844490-Python-Book.pdf

    13/231

    12 Python for Beginners

    12

    %( #$+ -&.#400+). 0-.#+@ %& #$+ 2+R?4,+: U$-9$ %&+ "%= .$%=0@ 9$%%.+

    @+?+&@. %& "%=) %?+)4#-&, .".#+6: /. 6" %?+)4#-&, .".#+6 -. #$+ GL

    R-# >+).-%& %( U-&@%2. B7 8 2%=0@ @%2&0%4@ #$+ !"#$%& Q:Q:P U-&@%2.

    jJGMGL YE8 8&.#400+): _( 9%=).+7 "%= 0-D+0" $4>+ 4 @-((+)+ 9%6R-&4#-%&%( $4)@24)+ 4&@ %?+)4#-&, .".#+6: 5$4#X. %&+ %( #$+ &-9+ #$-&,. 4R%=#

    !"#$%&d-# )=&. %& ?)49#-9400" 4&" $4)@24)+ 4&@ %?+)4#-&, .".#+6:

     /(#+) #$+ !"#$%& -&.#400+) (-0+ $4. R++& @%2&0%4@+@7 @%=R0+M90-9D %& -#

    4&@ (%00%2 #$+ ?)%6?#. #% -&.#400 -#:

    S+1#7 2+X00 .+# =? #$+ ^90-?.+ 8]^ I8+,)4#+@ ]+>+0%?6+ ^&>-)%&6+K

    2$+)+ "%= 94& 2)-#+7 +@-#7 @+R=, 4&@ )=& #$+ !"#$%& 9%@+:

    R6:-=.+ 61& K+ 2%N&:%12+2 (%) ()++ ()%G -#. %((-6-1: N+K=1,+ 1#P

    NNN3+6:-=.+3%),S2%N&:%12.

     V%= 2-00 .++ 64&" >+).-%&. %( ^90-?.+ 0-.#+@ %& #$+ 2+R?4,+: 5$+ %&+ 2+

    4)+ ,%-&, #% =.+ #$)%=,$%=# #$-. R%%D -. ^90-?.+

    E#4&@4)@ I>+).-%& L:Q 4. %( #$-. 2)-#-&,K 4&@

    40.% D&%2& 4. ^90-?.+ Z+?0+): _&9+ #$+ (-0+ $4.

    R++& @%2&0%4@+@7 @%=R0+M90-9D -# #% R+,-& #$+

    -&.#4004#-%&: IV%= 64" &++@ #% +1#)49# #$+ (-0+

    ()%6 4 9%6?)+..+@ (%0@+) (-).#:K

    8& ,+&+)407 ^90-?.+ -. 4 2+00M.=??%)#+@ ?04#(%)6 4&@ 94& R+ =.+@ %& 64&"

    %?+)4#-&, .".#+6.: ^90-?.+ -. 40.% @+.-,&+@ #% 2%)D 2-#$ 64&" @-((+)+

    ?)%,)466-&, 04&,=4,+.: 8X>+ =.+@ ^90-?.+ (%) `4>47 !C!7 4&@ +0%?6+: ^90-?.+

  • 8/17/2019 234844490-Python-Book.pdf

    14/231

    13

    Chapter 1: Getting Started 

    13

     V%= 6-,$# &++@ #$+ `4>4 r=-6+ ^&>-)%&6+ -&.#400+@ %& "%=) .".#+6

    R+(%)+ -&.#400-&, ^90-?.+: 8( "%= @%&X# $4>+ -#7 "%= 2-00 R+ ?)%6?#+@

    499%)@-&,0" @=)-&, #$+ -&.#4004#-%& ?)%9+..:

    8( #$-. -. #$+ 94.+7 "%= 94& @%2&0%4@ #$+ `4>4 r=-6+ ^&>-)%&6+

    ()%6T

    U)16:+V. %((-6-1: W1B1 .-#+ :%61#+2 1#P

    $##=PSSX1B136%GS+&S2%N&:%12S-&2+Q3X.=

    5-=P a%) U-&@%2. =.+).7 -( "%= -&.#400 #$+ ̂ 90-?.+ 8]^ QAMR-# >+).-%&

    #$+& "%= 6=.# -&.#400 #$+ `4>4 r=-6+ ^&>-)%&6+ I`r^K QAMR-#

    >+).-%&: 5$+ .46+ -. #)=+ -( "%= 4)+ -&.#400-&, GLMR-# >+).-%&.:

     /0.%7 -( "%= -&.#400 ^90-?.+ #%7 (%) +146?0+7 (%0@+) + -&.#400+@ ^90-?.+ 4&@ )=& -# (%) #$+ (-).# #-6+7 "%= 2-00 .++

    4 2-&@%2 #$4# 0%%D. 0-D+ #$-.T

    a-,=)+ P:AT 5$+ ^90-?.+ 2-&@%2 %?+&. 4(#+) -&.#4004#-%&

    1.1 Acquiring the Tools

  • 8/17/2019 234844490-Python-Book.pdf

    15/231

    14 Python for Beginners

    14

    a)%6 #$-. 2-&@%27 ,% #% =0*F a R3.$(** U0C B&'$C(10:

    a-,=)+ P:QT 8&.#400-&, #$+ !"]+> 6%@=0+

    8&.-@+ #$+ 2&1S C"$: R%17 #"?+ #$+ 4@@)+.. $##?T\\?"@+>:%),\=?@4#+.7

    2$-9$ .+4)9$+. (%) #$+ !"#$%& 4@@M%& (%) ^90-?.+: C-# O3$01 4&@ #$+&.+0+9# ?+-0` ()%6 #$+ )+#=)&+@ )+.=0#.: !)+.. U0P$ =-0 #$+ -&.#4004#-%&

    -. 9%6?0+#+@ 4&@ 499+?# 4&" 9+)#-(-94#+ "%= 64" R+ 4.D+@ #% @=)-&, #$+

    -&.#4004#-%&:

  • 8/17/2019 234844490-Python-Book.pdf

    16/231

    15

    Chapter 1: Getting Started 

    15

    4&@ +1?4&@ ?+-0` 4. .$%2& -& #$+ (%00%2-&, -64,+:

    a-,=)+ P:LT ^&4R0-&, #$+ !"#$%& -+)?)+#+)

    S%27 2+ &++@ #% #+00 ^90-?.+ 2$+)+ -& #$+ .".#+6 #$+ !"#$%& -+)?)+#+)

    -. 0%94#+@: 5% @% #$-.7 ,% #% #$+ U0C R=##%&:

    a-,=)+ P:lT E+##-&, #$+ -+)?)+#+) ?4#$

    5"?+ 4 &46+ (%) #$+ -+)?)+#+): 8# @%+. &%# 64##+) 2$4# &46+ "%= 9$%%.+

    1.1 Acquiring the Tools

  • 8/17/2019 234844490-Python-Book.pdf

    17/231

    16 Python for Beginners

    16

    R=# "%= .$%=0@ 9$%%.+ .%6+#$-&, )+0+>4: 8X6 =.-&, ?+$:&3E5E :

  • 8/17/2019 234844490-Python-Book.pdf

    18/231

    17

    Chapter 1: Getting Started 

    17

    5"?+ 4 &46+ (%) #$+ ?)%c+9#7 9$4&,+ #$+ A1(##(1 D01."&3 #% E5Q  4&@

    9$%%.+ "%=) !"#$%& -+)?)+#+) ()%6 #$+ R3$01F10$01 @)%?M@%2& 0-.#:

    Y-&+ 2%=0@ R+ ?+$:&3E5E  2$-9$ -. #$+ -+)?)+#+) &46+ 8 9)+4#+@ -& #$+

    ?)+>-%=. .#+?:

    -)%&6+ -+)(49+

     V%= .$%=0@ &%2 .++ #$+ !"]+> ?)%c+9# +&>-)%&6+ 2-#$ -#. !49D4,+

    ^1?0%)+) 2-&@%2 %& #$+ 0+(#M$4&@ .-@+ 4. .$%2& -& #$+ ?)+>-%=. -64,+:

    1.1 Acquiring the Tools

  • 8/17/2019 234844490-Python-Book.pdf

    19/231

    18 Python for Beginners

    18

    Q  R

    P: U$-9$ %( #$+ (%00%2-&, -. &++@+@ #% 2)-#+ 4&@ )=& 4 .-6?0+ !"#$%&

    ?)%,)46 .=9$ 4. #$+ %&+ 9)+4#+@ -& #$-. 9$4?#+)t

    4: `4>4 r=-6+ ^&>-)%&6+:

    R: ^90-?.+:

    9: !"#$%&:

    @: 3-&=1:

    A: U$-9$ %( #$+ (%00%2-&, .#4#+6+. -. #)=+t

    4: !"#$%& 94&&%# 2%)D 2-#$%=# ^90-?.+:

    R: ^90-?.+ 94&&%# 2%)D 2-#$%=# !"#$%&:

    9: ^90-?.+ -. c=.# 4& %?#-%&40 ?04#(%)6 #$4# $+0?. =.+). #% 2%)D 2-#$

    !"#$%&:

    @: !"#$%& 9%@+ 94& 40.% R+ 2)-##+& .%6+2$+)+ +0.+7 R=# ^90-?.+ -. 4

    &+9+..-#" 2$+& #$+ 9%@+ $4. #% R+ )=&\+1+9=#+@:

    Q  R

  • 8/17/2019 234844490-Python-Book.pdf

    20/231

    19

    Chapter 1: Getting Started 

    19

    569 0%$$' : '.$/ -* 1 ;!0'*

    8& #$-. .+9#-%&7 "%= 2-00 9)+4#+ "%=) >+)" (-).# !"#$%& ?)%,)46: 5$-..-6?0+ ?)%,)46 2-00 @-.?04" .%6+ #+1# %& #$+ .9)++&: *+(%)+ ,%-&, 4$+4@

    4&@ 2)-#-&, #$+ !"#$%& 9%@+7 2+ &++@ #% (-).# 9)+4#+ 4 (%0@+) 4&@ 4 (-0+

    2$+)+ 2+ 2-00 2)-#+ %=) .9)-?#: 5% 9)+4#+ 4 (%0@+)7 ()%6 #$+ ?(/S(90

    OPF*&101 #)++ >-+27 )-,$#M90-9D %>+) #$+ ?)%c+9# 4&@ #$+& ,% #% U0C a

    Y&*>01 4. .$%2& -& #$+ (%00%2-&, .9)++&.$%#T

    a-,=)+ P:JT

  • 8/17/2019 234844490-Python-Book.pdf

    21/231

    20 Python for Beginners

    20

    5-=P 8X6 =.-&, 4 !< #% 9)+4#+ #$-. R%%D7 2$-9$ -. 2$" 400 #$+

    .9)++&.$%#. 4)+ ()%6 U-&@%2.: ^>+)"#$-&, 8 46 @%-&, $4. 4&

    +W=->40+ ?)%9+@=)+ %& #$+ Y49 %?+)4#-&, .".#+6: V%= 94& +4.-0"9%6?0+#+ #$+ R%%D =.-&, 4 Y49d400 #$+ 9%@+ 2-00 R+ -@+-940:

    ^+) 4 &46+ (%) #$+ &+2 (%0@+) 4&@ 90-9D Hb  #% 90%.+ #$+ 2-&@%2: 5%

    9)+4#+ 4 (-0+ -&.-@+ #$+ (%0@+)7 )-,$#M90-9D #$+ (%0@+) "%= 9)+4#+@ 4&@ ,% #%

    U0C a Y"*0:

    a-,=)+ P:NT + 9)+4#+@ %=) +6?#" !"#$%& (-0+7 2+ 94& .#4)# 9%@-&, )-,$# 424":

    5$+ 4)+4 2-#$-& #$+ ^90-?.+ +&>-)%&6+ 2$+)+ "%= 4)+ ,%-&, #% 2)-#+

  • 8/17/2019 234844490-Python-Book.pdf

    22/231

    21

    Chapter 1: Getting Started 

    21

    #$+ 9%@+ -. -00=.#)4#+@ -& #$+ (%00%2-&, -64,+T

    a-,=)+ P:PFT 5$+ ?)%,)466-&, +&>-)%&6+

     /. 2+ 40)+4@" 6+-%&+@7 2+ 4)+ ,%-&, #% R+ 9)+4#-&, 4 ?)%,)46 #$4#

    @-.?04". .%6+ #+1# %& #$+ .9)++&: 8& !"#$%&7 #$-. 94& +4.-0" R+ @%&+ =.-&,

    #$+ =)- (=&9#-%&: 5$+ 2$%0+ 9%@+ 2+ &++@ #% 2)-#+ -& #$+ 9%@-&, 2-&@%2

    -. 4. (%00%2.T

    !"#$%&'()**+, .+"*/'0

    5$+ F1"3$ ?$)4.+ -. 4 !"#$%& D+"2%)@7 2$-9$ 6+4&. -# -. 4 .?+9-40 2%)@

    #$4# -. =.+@ 4&@ )+9%,&-[+@ R" !"#$%& 4. 4 (=&9#-%&: 5$+ W=%#+@ #+1#d 

    C+00%7 2%)0@d-. #$+ #+1# 2+ 4)+ 49#=400" ,%-&, #% %=#?=#: S%#-9+ #$4# -# -.

    .=))%=&@+@ R" W=%#+. 4&@ -. D&%2& 4. 4 .#)-&,:

     /(#+) "%= 2)-#+ #$+ 9%@+7 "%= $4>+ #% +1+9=#+ -# -& %)@+) #% ,+# #$+ %=#?=#"%= 24: 5% +1+9=#+ #$+ 9%@+7 ,% #% #$+ W83 (. R=##%& ()%6 #$+ -9%&.

    6+&= 4&@ #$+& #% ?+$:&3 183 4&@ 90-9D Hb : V%= .$%=0@ &%2 .++ #$+

    %=#?=# ?)-+@ 4# #$+ R%##%6 %( #$+ 2-&@%2: 8& %=) 94.+ #$+ %=#?=# .$%=0@

    1.2 Hello World in Python

  • 8/17/2019 234844490-Python-Book.pdf

    23/231

    22 Python for Beginners

    22

    R+ #$+ #+1# fC+00%7 2%)0@g:

    a%) 3-&=1 =.+).7 #$+)+ -. .%6+#$-&, +0.+ "%= $4>+ #% @% 2$+& 2)-#-&,

    !"#$%& 9%@+d"%=X00 &++@ #% 4@@ 4& 4@@-#-%&40 0-&+ R+(%)+ #$+ 9%@+: /!"#$%& ?)%,)46 #$4# -. 6+4 #% R+ )=& %& 4 3-&=1 649$-&+ 2%=0@ 0%%D

    0-D+ #$-.T

    12345"3*+67*38#$39:%;+$

  • 8/17/2019 234844490-Python-Book.pdf

    24/231

  • 8/17/2019 234844490-Python-Book.pdf

    25/231

    24 Python for Beginners

    5$+ (%::%N-&, +Q1G=:+.

    1)+ 6%))+6# B1)-1K:+

    &1G+ 2+6:1)1#-%&. -&

    !"#$%&P

    p &=6R+)

    p S=6R+)

    p S=6R+)uP

    p &=6R+)_&+

    p u>4)-4R0+j

    p +#9

     Z$-:+ #$+ (%::%N-&,

    &1G+. N%D:2 &%# K+

    1::%N+2P

    p Pu&=6R+)

    p q&=6R+)

    p v&=6R+)

    91G+: 91.-&,

    L+#$%2

    24

    S%#+ #$4# #$+ 2%)@ 38#)01 -. c=.# 4& 4)R-#)4)" &46+ 2+ 9$%.+ #% ,->+

    #% %=) >4)-4R0+: V%= $4>+ 4 0%# %( ()++@%6 2$+& 2)-#-&, >4)-4R0+ &46+.:

    C%2+>+)7 #$+)+ 4)+ 4 (+2 #$-&,. "%= .$%=0@ D&%2 4R%=# .") )=0+. %(2)-#-&, >4)-4R0+.: V%= 2-00 .++ #$4# .%6+ >4)-4R0+ &46+. 4)+ &%# 400%2+@:

     /. "%= 94& .++7 &=6R+). 4&@ .?+9-40 9$4)49#+). I#$+ %&0" +19+?#-%&

    R+-&, #$+ =&@+).9%)+K 4)+ &%# 400%2+@ #% R+,-& 4 >4)-4R0+ &46+: *+.-@+.

    #$-. -6?%)#4 )+.#)-9#-%&7 #$+)+ -. 40.% 49%&>+-%& %& !"#$%& >4)-4R0+ &46+.: 5$+

    9%&>+-%& .=,,+.#. #$4# "%= =.+ #$+ 946+0

    94.-&, 6+#$%@: 8& 946+0 94.-&,7 "%= .#4)# "%=)

    >4)-4R0+ &46+ 2-#$ 4 0%2+)94.+ 0+##+) 4&@ #$+& "%= =.+ 94?-#40 0+##+). -(

    "%=) >4)-4R0+ &46+ -. 0%&,+) #$4& %&+ 2%)@: C+)+ 4)+ .%6+ +146?0+.T

    $4=8)"A$)

    %;#5B5CD7"#78*)

    67=)*E75#$FG+"H5

    5-=P U$-0+ "%= $4>+ 4 0%# %( (0+1-R-0-#" -& $%2 "%= &46+ >4)-4R0+.7

    -#X. -6?%)#4 #$4# "%= ,->+ #$+ >4)-4R0+. 4 &46+ #$4# $4. .+64-9

    6+4&-&,: S46+ >4)-4R0+. R4.+@ %& 2$4# #$+" 4)+ )+?)+.+-&,:

    8( .%6+%&+ =&(46-0-4) 2-#$ "%=) 9%@+ 2+)+ #% )+4@ -#7 #$+" .$%=0@

    $4>+ .%6+ -@+4 %( 2$4# 4 >4)-4R0+ )+?)+.+.7 c=.# R" #$+ &46+:

  • 8/17/2019 234844490-Python-Book.pdf

    26/231

    25

    Chapter 2: Te Basics

    2.1 Getting Started with Variables

      25

    3+#X. #4D+ 4 0%%D 4# 4 .-6?0+ +146?0+ %( 4 >4)-4R0+ -& =.+ -& !"#$%&T

    $4=8)" > ?@@

    !"#$% &$4=8)"0

    U+ c=.# 4..-,&+@ 4 >40=+ #% #$+ >4)-4R0+ 38#)01 4&@ #$+& 2+ @-.?04"+@

    #$+ >4)-4R0+ >40=+ =.-&, #$+ F1"3$ 9%664&@: /(#+) "%= )=& #$+ 9%@+7 "%=

    .$%=0@ ,+# #$+ >40=+ %( PFF @-.?04"+@ %& #$+ .9)++&:

    8( 2+ 6%@-(" #$+ 4R%>+ 9%@+ 4 R-#7 "%= 2-00 .++ 4 @-((+)+ )+.=0#:

    U$+& "%= .++ ?4)+$+.+. -& !"#$%& 9%@+7 2%)D ()%6 #$+ -&.-@+ %(

    #$+ ?4)+$+.+. %=#24)@ #% -+)?)+# #$+ 9%@+: 8& #$-. 94.+7 2+ $4>+

    +6R+@@+@ #$+ $+F0cd (=&9#-%& -&.-@+ #$+ ?)- 9%664&@ 4&@ .+ #$+>40=+ %( #$+ 38#)01 >4)-4R0+ 4. 4& 4),=6+ #% #$+ (=&9#-%&:

    $4=8)" > ?@@

    !"#$% &%:!) &$4=8)"00

    r=&&-&, #$-. 9%@+7 "%= .$%=0@ ,+# #$-. )+.=0#T

    I6*755 J#$%JK

    5$+ )+.=0# -. @+904)-&, #$4# #$+ >40=+ %( #$+ >4)-4R0+ -. %( #$+ #"?+ "3$0901:

     V%= 2-00 0+4)& 6%)+ 4R%=# @-((+)+ @4#4 #"?+. -& #$+ &+1# 9$4?#+):

    5-=P ;4)-4R0+ &46+. -& !"#$%& 4)+ 94.+M.+&.-#->+: 5$+ >4)-4R0+

    &46+@ f&=6R+)g7 2)-##+& -& 400 0%2+)94.+ 0+##+).7 2-00 R+ @-((+)+

    ()%6 #$+ >4)-4R0+ &46+@ fS=6R+)g7 2$-9$ $4. #$+ (-).# 0+##+)94?-#40-[+@: 8( "%= 4..-,& 4 >40=+ %( PFF #% f&=6R+)g 4&@ #$+& #)" #%

    )+#)-+>+ #$4# >40=+ ()%6 fS=6R+)g7 "%= 2-00 ,+# 4& +))%):

  • 8/17/2019 234844490-Python-Book.pdf

    27/231

    26 Python for Beginners

    26

    969 / "!"  ! ;1%+

     /. -. #$+ 94.+ -& 64&" %#$+) 9%6?=#+) ?)%,)466-&, 04&,=4,+.7 !"#$%&)+9%,&-[+. 4&@ 2%)D. 2-#$ .+>+)40 @-((+)+ #"?+. %( @4#4: 8& #$+ ?)+>-%=.

    9$4?#+)7 2+ 2+ #$)%=,$ 4& +146?0+ %( >-+2-&, #$+ @4#4 #"?+ %( #$+

    >4)-4R0+ 38#)01: 5$+ (%00%2-&, 9%@+ 2-00 40.% %=#?=# #$+ @4#4 #"?+7 R=#

    #$-. #-6+ #$+ )+.=0# 2-00 -&@-94#+ 4 (0%4#-&, ?%- &=6R+)T

    $4=8)" > ?@@L?

    !"#$% &%:!) &$4=8)"00

    r=&&-&, #$-. 9%@+7 "%= .$%=0@ ,+# #$-. )+.=0#T

    a-, A:PT _=#?=# %( #$+ #"?+IK 6+#$%@

    8& 9%)4.# #% #$+ >40=+ %( PFF 2$-9$ 24. %( #"?+ -+,+)7 -& #$-. 94.+ 2+

    4)+ @+40-&, 2-#$ 4 (:%1# #"?+: Y*&($ -. 4& 4??)%1-64#-%& %( )+40 &=6R+).

    R=# @%+. &%# -&90=@+ "3$0901. -% -#. .+#: 8# -. +4.-+.# #% #$-&D %( '*&($. 

    I(0%4#-&, ?%- &=6R+).K 4. &=6R+). 2-#$ 4 @+9-640 >40=+ 4# #$+ +&@:

    Y*&($ #"?+ >40=+. $4>+ 4 ,)+4#+) @+40 %( ?)+9-.-%& #$4& "3$0901.:

    8& !"#$%& -# -. ?%..-R0+ #% 9%&>+)# R+#2++& @-((+)+ @4#4 #"?+.: 5$-.

    9%&>+).-%& ?)%9+.. -. ()+W=+" 9400+@ 61.#-&,: ^146-&+ #$+ (%00%2-&,

    9%@+T

    $4=8)" > #$%&?@@L?0

    !"#$% &%:!) &$4=8)"00

    5$+ )+.=0# "%= ,+# 2%=0@ R+T

    I6*755 J#$%JK

    3%%D 4# #$+ %)-,-&40 4..-,&6+ #% #$+ >4)-4R0+ &=6R+): *+(%)+ #$+ >40=+

  • 8/17/2019 234844490-Python-Book.pdf

    28/231

    27

    Chapter 2: Te Basics

    2.2 Data Types

      27

    -. 49#=400" 4..-,&+@7 #$+ -IK (=&9#-%& -. =.+@ #% 9%&>+)# #$+ >40=+ #% 4&

    -+,+): U$+& #$+ 9%&>+).-%& %99=).7 #$+ 0+>+0 %( ?)+9-.-%& -. )+@=9+@

    4&@7 +((+9#->+0"7 #$+ @+9-640 ?4)# %( #$+ &=6R+) -. @)%??+@: E-&9+ #$+

    94.#-&, $4. #4D+& ?049+ R+(%)+ #$+ >40=+ -. 4..-,&+@ #% 38#)017 #$+ #"?+IK(=&9#-%& &%2 "-+0@. "3$ %) -+,+) #"?+:

    3+#X. 40#+) #$+ 9%@+ 4,4-& 4&@ .++ 2$4# $4??+&.T

    $4=8)" > #$%&?@@L?0

    !"#$% &$4=8)"0

    5$+ >40=+ @-.?04"+@ %& #$+ .9)++& 2$+& #$+ ?)%,)46 -. )=& -. PFF -&.#+4@%( PFF:P: 8( 2+ 24 #% 64D+ #$+ ?)+>-%=. 9%@+ 6%)+ 9%6?49# 4&@ $4>+ -#

    @-.?04" R%#$ #$+ 9%&>+)#+@ >40=+ 4&@ -#. #"?+ 4# #$+ .46+ #-6+7 2+ 2%=0@

    2)-#+T

    $4=8)" > #$%&?@@L?0

    !"#$% &%:!)&$4=8)"0,$4=8)"0

    U$+& )=&7 #$-. 9%@+ 2%=0@ "-+0@ #$+ (%00%2-&, )+.=0#T

    I6*755 J#$%JK ?@@

     ;4)-4R0+. @%&X# 4024". ,+# 4..-,&+@ &=6R+). 4. >40=+.: ;4)-4R0+. 64"

    40.% 9%-& .#)-&,.7 0-.#.7 #=?0+. %) @-9#-%&4)-+.: C+)+ -. 4& +146?0+ %( 4

    >4)-4R0+ #$4# -. 4..-,&+@ 4 .#)-&, >40=+T

    7 > 'M;#5 #5 7 5%"#$F'!"#$% &%:!)&70,70

    5$+ %=#?=# 2%=0@ R+T

    I6*755J5%"JK M;#5 #5 7 5%"#$F

    5$+ )+.=0# %( #$+ #"?+IK (=&9#-%&7 B$1Z -&@-94#+. #$4# #$+ >40=+ -&.-@+#$+ >4)-4R0+ ( -. %( #"?+ .$1"39 : V%= 94& #$-&D %( 4 .#)-&, 4. 4 .+)-+. %(

    9$4)49#+).: 5$+ 9$4)49#+). -&90=@+@ -& 4 .#)-&, 94& R+ 0+##+).7 &=6R+).

    %) ?=&9#=4#-%& 64)D.: U$+& #$+ .#)-&, -. @+(-&+@ 2+ .=))%=&@ -# 2-#$

  • 8/17/2019 234844490-Python-Book.pdf

    29/231

    28 Python for Beginners

    28

    @%=R0+ W=%#+. #% @+64)94#+ #$+ R+,-&&-&, 4&@ +&@ %( #$+ .#)-&,:

    8( 2+ 24+@ #% 2)-#+ %=) .++&9+ %& 6%)+ #$4& %&+ 0-&+7 #$+ 4??)%49$

    2%=0@ R+ 4. (%00%2.T

    7 > ''' M;#5 #5

    7 5%"#$F '''

    !"#$% &70

    %)7 40#+)&4#->+0"T

    7 > 'M;#5 #5 N$7 5%"#$F'

    !"#$% &70

    r=&&-&, #$+ 04.# #2% +146?0+. 2%=0@ "-+0@

    .-6-04) )+.=0#.: 8& #$+ (-).# +146?0+7 #$+

    =.+ %( #)-?0+ W=%#+. 400%2. #$+ +1?4&.-%&

    %( #$+ #+1# -& 6%)+ #$4& %&+ 0-&+: 8& #$+

    .+9%&@ +146?0+7 #$+ 9$4)49#+). [& @% #$+2%)D %( .$-(#-&, #$+ 9$4)49#+). #% #$+ .+9%&@

    0-&+ 4&@ 94& R+ 9%&.-@+)+@ 4 )+.+)>+@ 2%)@

    -& !"#$%&: ?1"3$ -. 4&%#$+) +146?0+ %( 4

    )+.+)>+@ 2%)@:e3 -. >+)" (0+1-R0+ 4. -# 94& R+ 2)-##+& @-)+9#0" &+1# #%

    .#)-&,. 2-#$%=# $4>-&, #% 4@@ 4 .?49+7 4. .$%2& ?)+>-%=.0": 8( "%= (%=&@

    "%=).+0( -& 4 .-#=4#-%& 2$+)+ "%= 2%=0@ $4>+ #% @-.?04" #$+ e3 9$4)49#+)

    4. ?)-+@ #+1# (%) .%6+ )+4.%&7 "%= 2%=0@ 2)-#+T

    7 > 'M;#5 #5 NN$7 5%"#$F'

    !"#$% &70

    8& #$-. 94.+7 #$+ e3 ?4)# 2%=0@ &%# R+ )+9%,&-[+@ 4. 4 )+.+)>+@ 2%)@

    4&"6%)+: 5$+ ?)+9+@-&, .04.$ -. .4-@ #% w+.94?+X #$+ 9$4)49#+) .+W=+&9+:

    54D+ 4 0%%D 4# #$+ (%00%2-&, 9%@+7 ?4"-&, .?+9-40 4##+-%& #% >4)-4R0+. (

    4&@ )T

    7 > '()**+'

    8 > 'O5 .+"*/' O 7

    !"#$% &80

     M )+.+)B+2 N%)2

    -. 1 N%)2 #$1# -. =1)#

    %( #$+ =)%,)1GG-&,

    :1&,D1,+ 1&2 =+)(%)G.1& 1..-,&+2 16#-%&3

  • 8/17/2019 234844490-Python-Book.pdf

    30/231

    29

    Chapter 2: Te Basics

    2.2 Data Types   29

    5$+ %=#?=# %( #$-. 9%@+ -. .-6?0"T

    ()**+ .+"*/

    \. 4&@ \ 4)+ R%#$ )+.+)>+@ 2%)@.: f. -. 4 9%-&+) #$4# -. 24-#-&, #% R+

    (-00+@ 2-#$ 4 >40=+: 5$+&7 #$+ 9$4)49#+) f -&@-94#+. #$4# #$+ 9%-&+) f. 

    .$%=0@ R+ (-00+@ 2-#$ #$+ >40=+ %( >4)-4R0+ (: V%= 2-00 )+40-[+ 04#+) #$4#

    #$+.+ 9%-&+). 2-00 9%6+ #% R+ >+)" =.+(=0 2$+& (%)64##-&, 9%6?0+1

    .#)-&,.: 8( "%= 4)+ (46-0-4) 2-#$ < .#"0+ 04&,=4,+.7 "%= $4>+ 0-D+0" .++&

    #$-. 9%&9+?# R+(%)+ 2$+)+ 9$4)49#+) .+W=+&9+. .=9$ 4. x. 4)+ =.+@ #%

    %=#?=# >4)-4R0+ >40=+.:

    U+ 9%=0@ 40.% 9)+4#+ #$+ .46+ %=#?=# -& 4&%#$+) 24"T

    7 > '()**+'

    8 > 'PQ .+"*/'LR+"=7%&70

    !"#$% &80

    8& #$+ 9%@+ 4R%>+7 2+ 4..-,& #$+ .#)-&, >40=+ #% >4)-4R0+ ( -& #$+ (-).#0-&+: 5$+&7 -& #$+ .+9%&@ 0-&+ 2+ 4)+ @+40-&, 2-#$ 4 .#)-&, 6+#$%@ 2$-9$

    -. .$15'&1#($cd5 5$-. 6+#$%@ )+?049+. #$+ gh ?4)# 2-#$ #$+ >40=+ 4..-,&+@ #%

    (: 5$+ %=#?=# -. #$+& ?)-+@ -& #$+ 04.# 0-&+:

    E% (4)7 2+ $4>+ 2%)D+@ &=6R+). I-+,+). 4&@ (0%4#.K 4&@ .#)-&,. -&

    #+)6. %( @4#4 #"?+.: S%27 2+ 4)+ ,%-&, #% 0+4)& #2% %#$+) -6?%)#4 @4#4

    #"?+.T #D=:+. 4&@ :-.#.:

    5$-. 2%=0@ R+ 4 $8F*0T

    S > &?,T,U0

    4&@ #$-. 2%=0@ R+ 4 *".$T

    V > W?,T,UX

    5% ,+# #$+ #"?+. %( i  4&@ j 7 "%= 94& =.+ #$+ $+F0cd (=&9#-%& .-6-04) #% $%2

    "%= =.+@ -# 2-#$ &=6R+). 4&@ .#)-&,.T

    %:!)&S0

    %:!)&V0

  • 8/17/2019 234844490-Python-Book.pdf

    31/231

    30 Python for Beginners

    30

    ^>+& #$%=,$ #$+ $8F*0 4&@ #$+ *".$ 0%%D .-6-04) #%

    +49$ %#$+)7 #$+" 4)+ @+.-,&+@ #% @+40 2-#$ @-((+)+

    #4.D.: 3-.#. 4)+ 6=#4R0+ I9$4&,+4R0+K 2$-0+ #=?0+.4)+ -66=#4R0+ I&%# 9$4&,+4R0+K: U+ 94& 4@@7 6%@-("

    %) )+6%>+ +0+6+. ()%6 0-.#.7 R=# 2+ 94&&%# @% #$+

    .46+ 2-#$ #=?0+.: 5=?0+. 4)+ @+.-,&+@ %&0" #% .#%)+

    @4#4: 5% -00=.#)4#+ #$+ 6=#4R-0-#" %( 0-.#.7 2+ 2-00 4@@

    4& +0+6+ #% %=) +1-.#-&, 0-.#7 j T

    V > W?,T,UX

    VL7!!)$/&Y0

    !"#$% &V0

    8( "%= )=& #$-. .$%)# ?)%,)467 #$+ )+.=0# "%= 2-00 ,+# -.T

    W?,T,U,YX

    8( "%= 2+)+ #% #)" #$+ 4??+&@IK (=&9#-%& 2-#$ #$+ $8F*0 -& #$+ .46+ 24"7

    "%= 2%=0@ ,+# 4& +))%)T

    a-,=)+ A:AT !"#$%& )+.?%&@. 2-#$ 4& +))%) 2$+& #$+ 4??+&@IK 6+#$%@ -. 4??0-+@ #% 4 #=?0+

    5$+ 4??+&@ 6+#$%@ #)-+. #% 6=#4#+ #$+ #=?0+d2$-9$ -. &%# 400%2+@ .-&9+#=?0+. 4)+ R" @+(-&-#-%& -66=#4R0+:

    8& 4@@-#-%& #% =.-&, 4??+&@IK #% 6%@-(" 4 0-.#7 "%= 6-,$# 40.% 24 #%

    499+.. 9+)#4-& +0+6+. 2-#$-& 4 *".$ %) 4 $8F*0: 3+#X. .4" 2+ 24 #% ?)-

  • 8/17/2019 234844490-Python-Book.pdf

    32/231

    31

    Chapter 2: Te Basics

    2.2 Data Types

      31

    %=# #$+ #$-)@ +0+6+ %( #$+ 0-.# i :

    S > W?,T,UX

    !"#$% &SWTX0

    ^1+9=#-&, #$+ 9%@+ 4R%>+7 "%= 2%=0@ @-.?04" #$+ >40=+ Q R+94=.+ -# -. #$+

    #$-)@ 6+6R+) %( #$+ 0-.#: ik+)7 -& !"#$%&7 -&@+1-&, R+,-&. 4# [+)%: 5$-. 6+4&. 4&"

    %Rc+9# #$4# $%0@. 4 0-.# %( .=R.+W=+ >40=+. 2-00 +&=6+)4#+ #$+ (-).#

    >40=+ 4. [+)%: E%7 -( 2+ 24+@ #% @-.?04" #$+ (-).# +0+6+ ()%6 #$+ 0-.#7

    2+ 2%=0@ 2)-#+T

    S > W?,T,UX

    !"#$% &SW@X0

    U+ 94& =.+ #$+ .46+ &%#4#-%& #% +1#)49# 4 )4&,+ %( &=6R+). 2-#$-&

    #$+ 0-.#7 (%) +146?0+7 -( 2+ 24+@ #% +1#)49# #$+ #$-)@7 (%=)#$7 4&@ (-(#$

    >40=+. 2+ 9%=0@ 2)-#+ #$+ (%00%2-&, 9%@+T

    S > W'7','8','6','/',')','R'X

    !"#$% &SWTZ[X0

    U$+& +1+9=#+@7 #$-. 9%@+ 2%=0@ "-+0@ #$+ )+.=0#T

    WJ6J,J/J,J)JX

    5$+.+ 4)+ #$+ +0+6+. 2-#$ -&@+1 A7 Q7 4&@ L7 )+.?+9#->+0": S%#-9+ #$4#

    2$+& 2+ )+W=+.# #$+ 0-.# >40=+. ATl7 2+ @%&X# )+9+->+ #$+ (-(#$ >40=+: 5$+

    )+#=)& .#%?. R+(%)+ #$+ .+9%&@ >40=+ -& #$+ )+W=+.#: lTB 2%=0@ )+#=)&

    +0+6+. 2-#$ -&@+1+. l 4&@ G: E-6-04)0"7 c=.# 4. 2+ c=.# @-@ 2-#$ 0-.#.7

    2+ 94& 499+.. +0+6+. ()%6 #=?0+.T

    V > &?,T,U,Y,[,\0

    !"#$% &SWTZ[X0

    S%2 #$4# "%= =&@+).#4&@ 4 R-# 4R%=# 0-.#. 4&@ #=?0+.7 2+ 4)+ ,%-&, #%

  • 8/17/2019 234844490-Python-Book.pdf

    33/231

    32 Python for Beginners

    J-6#-%&1)-+.

    *%%:+1&.

    32

    0+4)& 4&%#$+) -6?%)#4 @4#4 #"?+7 2-6#-%&1)-+.: -"/$"&3(1"0. 40.% .#%)+

    6=0#-?0+ +0+6+. 4. *".$. 4&@ $8F*0. @%7 R=# 2-#$

    #$+ @-((+)+&9+ #$4# #$+.+ +0+6+. 4)+ .#%)+@ -&

    D+"\>40=+ ?4-).: C+)+ -. 4& +146?0+ %( 4 >"/$"&3(1+ #$4# .#%)+. 4 0-.# %( &46+. 4&@ ?$%&+ &=6R+).T

    < > P'M#='Z ]^?TYY, 'M+='Z ^]_?UY, '`+;$'Z

    ]^@]^_^Q

    5$+ (-).# +0+6+ %( +49$ ?4-) -. 9400+@ #$+ T+"7 2$-0+ #$+ .+9%&@ -. #$+

    B1:D+: ^49$ `(*80 -. #-+@ #% -#. S0+: 8( 2+ 24 #% D&%2 5%6X. ?$%&+

    &=6R+)7 2+ 2%=0@ 2)-#+T

    "/$"&3(1"0. 

    94& 40.% R+ @+904)+@ -& 4&%#$+) 24"T

    < > /#6% & M#= > ]^?TYY, M+= > ^]_?UY,`+;$ > ]^@]^_^0

    r+,4)@0+.. %( #$+ @+904)4#-%& 6+#$%@7 #$+ )+.=0# 2%=0@ R+ #$+ .46+:

    U+ 9%=0@ 499+.. 4&" >40=+ -& #$+ @-9#-%&4)" =.-&, #$+ &%#4#-%& 4R%>+7

    )+,4)@0+.. %( $%2 #$+ @-9#-%&4)" 24. 9)+4#+@:

    *%%:+1&. 4)+ 4&%#$+) -6?%)#4 @4#4 #"?+:

    *%%0+4&. 64" 9%-& %&0" #2% >40=+.7 5)D+ %)

    F1:.+: 5)" ++)-&, 4&@ )=&&-&, #$+ (%00%2-&, 9%@+

    #% ,+# #$+ -@+4T

    a"))/+= > M"4)

    !"#$% &%:!) &a"))/+=00

    U$4# "%= ,+# 4. 4 )+.=0# -. #$-.T

    I6*755 J8++*JK

  • 8/17/2019 234844490-Python-Book.pdf

    34/231

    33

    Chapter 2: Te Basics

     /..-,&6+ _?+)4#%)

    ] @, ?#R 7 >> 8Z

      !"#$% &M"4)0

    )*5)Z

      !"#$% &a7*5)0

    8& #$+ (-).# 0-&+ %( 9%@+ 4R%>+7 2+ 4)+ 4..-,&-&, 4 >40=+ %( [+)% (%)

    >4)-4R0+ (Z 4&@ 4 >40=+ %( P (%) >4)-4R0+ ): 5$+ )+64-&-&, R0%9D %( 9%@+ -.4 9%&@-#-%&40 +1?)+..-%& 2$+)+ 2+ #+.# -( ( -. +W=40 #% ): 8( #$+" 4)+ +W=407

    ;180 2-00 R+ @-.?04"+@ %& #$+ .9)++&7 %#$+)2-.+ Y(*.0 2-00 R+ @-.?04"+@: 8&

    #$-. 94.+7 #$+ )+.=0# 2%=0@ R+T

    a7*5)

    5$+ @%=R0+ +W=40 .-,& fmm g -. 4 9%6?4)-.%& %?+)4#%) #$4# 6+4&.

    +W=->40+&9":

    5-=P / 9%66%& 6-.#4D+ 64@+ R" #$%.+ 0+4)&-&, #% ?)%,)46 -.

    #% 9%&(=.+ #$+ y 4&@ #$+ yy %?+)4#%): I`=.# R+ #$4&D(=0 !"#$%&

    @%+.&X# $4>+ 4 yyy %?+)4#%)7 0-D+ `4>4.9)-?# @%+.eK r+6+6R+) #$4#

    y -. #$+ 4..-,&6+ %?+)4#%) =.+@ #% 4..-,& 4 >40=+ #% 4 >4)-4R0+:

    5$+ yy %?+)4#%) -. 4 9%6?4)-.%& %?+)4#%) =.+@ #% 9%6?4)+ #2%

    >40=+.:

    5)" #% 94)+(=00" %R.+)>+ #$+ .") 4&@ #$+ .#)=9#=)+ %( #$+ 9%@+ R0%9D:

    *+.-@+. #$+ =.4,+ %( 9%0=6&. 2$-9$ 4)+ +4.-0" >-.-R0+7 "%= 94& 40.%

    .++ #$4# 2+ $4>+ .$-(#+@ #2% %( #$+ 0-&+. #% #$+ )-,$#: 5$-. -. 9400+@  

    -&2+#-%& 4&@ -# -. >+)" -6?%)#4 -& !"#$%&: E#4#+6+. .=9$ 4.

     F1"3$ .$%=0@ R+ -&@++@ -& #$+ 9%@+ 2$+& R+-&, =.+@ -&.-@+ R0%9D.

    .=9$ 4. 9%&@-#-%&40.: V%= 2-00 0+4)& 6%)+ 4R%=# -&@+#-%& -& #$+ &+1#9$4?#+).:

  • 8/17/2019 234844490-Python-Book.pdf

    35/231

    34 Python for Beginners

    34

    96< " .-!0=%!-) '1%."!'.+

    o-0 &%27 2+ $4>+ R++& 2)-#-&, %=) !"#$%& 9%@+ +146?0+. -&.-@+^90-?.+: S%27 -# -. #-6+ #% #)" 4 .0-,$#0" @-((+)+ 24" %( 2)-#-&, 4&@

    )=&&-&, #$+ 9%@+: 8& ?)%,)466-&, #+)6-&%0%,"7 #$-. -. D&%2& 4. #$+

    -+)16#-B+ N1" 4&@ -# -. ,+&+)400" @%&+ #$)%=,$ #$+ 9%664&@ 0-&+ %(

    #$+ %?+)4#-&, .".#+6 "%= 4)+ =.-&,:

    U-&@%2. =.+). 2-00 $4>+ #% %?+& #$+ +)7 &%#-9+ #$4# 2+ 4)+ &%# .4>-&, #$+ 9%@+ -&.-@+ 4 (-0+ 4. 2+

    @-@ -& ^90-?.+7 6+4&-&, #$4# #$-. 6+#$%@ -. c=.# (%) #+.#-&, ?=)?%.+.:

  • 8/17/2019 234844490-Python-Book.pdf

    36/231

    35

    Chapter 2: Te Basics

    2.3 Arithmetic Operators

      35

    8& #$+ ?)+>-%=. 9%@+ "%= 2)%#+ 4& +1?)+..-%& #$4# 9%-&. 4

    64#$+64#-940 %?+)4#%) I#$+ 4@@-#-%& %?+)4#%) IqKK: E-6-04)0"7 "%= 94& #)"

    400 %#$+) #"?+. %( %?+)4#%). "%= $4>+ 0+4)&+@ ()%6 64#$+64#-9. .=9$ 4.

    6=0#-?0-94#-%&T

    ?cT

    @->-.-%&T

    ?3T

    _) +1?%&+-4#-%&T

    ?ccT

    5)" #% =&@+).#4&@ 2$4# #$+ (%00%2-&, 9%@+ @%+. R" %R.+)>-&, -#. %=#?=#T

    "+4$/ &U3Y0

    5$+ ?)%,)46 (-).# @->-@+. (%=) R" #$)++7 4&@ #$+& )%=&@. =? #$+ %=#?=#

    >40=+ #% #$+ &+4)+.# -+,+): 5% 64D+ #$-&,. 4 R-# 6%)+ 9%6?0+17 #)" #$-.

    %#$+) +1?)+..-%& 2$-9$ -&>%0>+. #$+ 6%@=0=. %?+)4#%) IxK: 5$+ 6%@=0=.

    %?+)4#%) )+#=)&. #$+ )+64-&@+) %( #$+ @->-.-%&:

    "+4$/ &&U3Y0 c &?@OU00

    8& #+)6. %( -#. %=#?=#7 #$+ +1?)+..-%& 4R%>+ 2%=0@ R+ #$+ .46+ 4.T

    "+4$/ &@L_[ c ?0

    %)T

    "+4$/ &@L_[0

    4&@ #$+ )+.=0# 2%=0@ R+ [+)% -& 400 #$)++ 94.+.:

  • 8/17/2019 234844490-Python-Book.pdf

    37/231

    36 Python for Beginners

    36

    96> 8*/%.+!"*/-*, !0% './%. '( !0% 

    '1%."!'.+

    U$+& =.-&, %?+)4#%). -& +1?)+..-%&. #$4# -&>%0>+ 6%)+ #$4& %&+ %?+)4#%)7

    9+)#4-& )=0+. .$%=0@ R+ (%00%2+@ -& #+)6. %( 4)-#$6+#-9 %?+)4#-%& %)@+):

    5$+.+ )=0+. 4)+ R4.-9400" #$+ .46+ 4. -& 64#$+64#-9.: 5)" #% )+2)-#+

    #$+ +1?)+..-%& 2+ =.+@ -& .+9#-%& A:Q7 R=# #$-. #-6+ 2-#$%=# .%6+ %( #$+

    ?4)+$+.+.T

    "+4$/ &U3Y c ?@OU0

     V%= 2-00 .++ #$4# #$+ )+.=0# 2%=0@ R+ @-((+)+: U$+& "%= @%&X# =.+

    R)49D+#.7 #$+ @+(4=0# %?+)4#%) +1+9=#-%& %)@+) -. 4??0-+@ #% +1?)+..-%&:

    5$+)+(%)+7 "%= .$%=0@ 4024". =.+ R)49D+#. -&.-@+ #$+ .=RM+1?)+..-%&. #%

    #+00 #$+ ?)%,)46 $%2 "%=) %?+)4#-%&. 4)+ ,)%=?+@T

    "+4$/ &&U3Y0 c &?@OU00

    C+)+ -. 4 .-6?0+) +146?0+T

    ?dTcU

    E%6+ 2%=0@ +1?+9# #$4# #$+ (-).# %?+)4#%) IMK -. +1+9=#+@ (-).# 4&@

    #$+)+(%)+7 #$+ %=#?=# 2%=0@ R+ 4 >40=+ %( fQg7 R=# #$-. -. &%# #)=+: /. -&

    64#$+64#-9.7 #$+ 6=0#-?0-94#-%& 2%=0@ R+ #$+ (-).# #% R+ +1+9=#+@: 8( "%=

    24 #$+ .=R#)49#-%& %?+)4#%) 4. #$+ (-).# %?+)4#%)7 #$+& "%= 2%=0@ $4>+#% 2)-#+T

    &?dT0 c U

    5% .=6 -# =?7 -( "%= @%&X# =.+ R)49D+#.7 #$+ @+(4=0# %?+)4#-%& %)@+) 2-00 R+

    4??0-+@ #% "%=) +1?)+..-%&7 2$-9$ -.T +1?%&+. 4&@ )%%#.7 6=0#-?0-94#-%&

    4&@ @->-.-%& I?+)(%)6-&, 2$-9$+>+) %?+)4#-%& 4??+4). (-).# ()%6 0+(# #%

    )-,$#K7 4&@ 04.# 4@@-#-%& 4&@ .=R#)49#-%& I4,4-&7 ?+)(%)6-&, 2$-9$+>+)9%6+. (-).# ()%6 0+(# #% )-,$#K:

  • 8/17/2019 234844490-Python-Book.pdf

    38/231

    37

    Chapter 2: Te Basics

     /9#->+ %=#?=# 2$+& )4&

    RQ+6D#1K:+ 9%2+

    S%&+1+9=#4R0+ @+.9)-?#-%&.

    9%GG+. 9%2+

    2.5 Comments   37

    96? )'==%*!+

    E% (4) 2+ $4>+ 2)-##+& 9%@+ #$4# -. +Q+6D#1K:+7 6+4&-&, #$4# #$+ 9%@+@%+. .%6+#$-&, 4&@ ,->+. 4& %=#?=# 2$-0+ R+-&, )=&: U+ 94& 40.% 2)-#+

    9%@+ %) @+.9)-?#->+ #+1# #$4# 2+ @%&X# 24 #% R+ +1+9=#+@7 R=# -&.#+4@

    R+ -,&%)+@: 5$-. D-&@ %( #+1# -. )+(+))+@ #% 4. 6%GG+.: L#03$. 94&

    .+)>+ +-#$+) 4. @+.9)-?#->+ #+1#7 4. 9%@+ #$4# 2+ @%&X# 24 #% +1+9=#+7

    %) 4. 9%@+ 2+ 24 #% +1+9=#+ 4# .%6+ 04#+) ?%-: 5)" #$-. +146?0+ -&

    ^90-?.+ 4&@ .++ 2$4# %=#?=# "%= ,+#T

    1 !"#$% &'()**+ .+"*/'0

    !"#$% &'()**+'0

    5$+ (-).# 0-&+ -. 2$4# 2+ )+(+))+@ #% 4. 4 /#03$ 2$-0+ #$+ .+9%&@ 0-&+ -.

    &%)640 9%@+ #$4# @%+. .%6+#$-&, 2$+& #$+ 9%@+ -. +1+9=#+@: V%= 94& .++

    #$4# 2+ $4@ #% .#4)# 2-#$ #$+ fkg ."6R%0 #% @+904)+ #$4# 2+ 4)+ 49#=400"

    9%66+-&, -&.#+4@ %( 9%@-&,: 8( 2+ 24 #% )=& #$+ (-).# 0-&+ %( 9%@+7 2+

    94& .-6?0" )+6%>+ #$+ fkg ."6R%0:

     /&%#$+) .9+&4)-% 2$+)+ 9%66+-&, 2%=0@ R+9%6+ =.+(=0 -. 2$+& 2+

    24 #% @+.9)-R+ 2$4# %=) 9%@+ @%+.T

    !"#$% &'()**+ .+"*/'0 1 M;#5 6+/) /#5!*7:5

    %;) %)e% #$5#/) %;) 8"76H)%5

    ]+.9)-R-&, 2$4# #$+ 9%@+ @%+. 6-,$# 9%6+ -& $4&@" 2$+& 2+ 24 #%

    ,->+ #$+ 9%@+ #% .%6+%&+ +0.+ %) +>+& 2$+& 2+ 2%)D 2-#$ %=) 9%@+ 4# 4

    04#+) #-6+:

  • 8/17/2019 234844490-Python-Book.pdf

    39/231

    38 Python for Beginners

    /:%K1: Y1)-1K:+.P

    2+6:1)+2 %D#.-2+ #$+

    (D&6#-%& K%2"

    40=+. #% #$+6: / 9%&9+?# #$4# "%= .$%=0@ 40.%

    D&%2 -. #$+ .9%?+ %( #$+ >4)-4R0+. -&.-@+

    4 !"#$%& ?)%,)46: 5$+ >4)-4R0+ .9%?+ -.

    4 9%&9+?# #$4# #-,$#0" )+04#+. #% (=&9#-%&.7

    2$-9$ 4)+ =.+@ #% ?+)(%)6 .%6+ 49#-%&. 4&@

    )+#=)& 4& %=#?=#7 ?)+##" 6=9$ #$+ .46+ 4.

    (=&9#-%&. -& 64#$ @%: a=&9#-%&. 94& $4>+

    >4)-4R0+. 2-#$-& #$+6: U$+& >4)-4R0+.

    4)+ @+904)+@ %=#.-@+ #$+ (=&9#-%& R%@"7 #$+>4)-4R0+. 4)+ 9400+@ ,:%K1:7 2$-0+ -( #$+

    >4)-4R0+. 4)+ @+904)+@ -&.-@+ #$+ (=&9#-%&7

    #$+" 4)+ 9400+@ :%61:: A*&)(* >4)-4R0+. 94& R+ 499+..+@ R%#$ %=#.-@+ 4&@

    -&.-@+ #$+ (=&9#-%&. 2$-0+ *&/(* >4)-4R0+. 94& %&0" R+ 499+..+@ -&.-@+ #$+

    (=&9#-%&. #$+" 4)+ @+904)+@ -&:

    5% -00=.#)4#+ 2$4# 2+ c=.# .#4#+@7 #)" #% =&@+).#4&@ 4&@ )=& #$+ (%00%2-&,

    +146?0+ -& ^90-?.+ %) -& "%=) !"#$%& 9%664&@ 0-&+T

    /)R R&e0Z

      : > eccT

      !"#$% :

    !"#$% R&U0

    !"#$% :

    !"#$% e

    8& #$-. 9%@+ 2+ 9)+4#+ 4 (=&9#-%& #$4# 9409=04#+. 4&@ ?)-. %=# #$+ .W=4)+

    %( 4 &=6R+): 52% >4)-4R0+. IP  4&@ +K 4)+ @+904)+@ -&.-@+ #$+ (=&9#-%&:

    *%#$ 4)+ *&/(* >4)-4R0+.: 8& 0-&+ L 2+ 4)+ ?)--&, %=# #$+ %=#?=# %( #$+

    (=&9#-%& 2$+& #$+ -&?=# -. +W=40 #% Q:

    8( 2+ #)" #% 499+.. #$+.+ >4)-4R0+. %=#.-@+ #$+ (=&9#-%&7 4. 2+ 4)+ @%-&,

    -& #$+ ?)+>-%=. 9%@+ -& #$+ #2% 04.# 0-&+. 2-#$ #$+ ?)- 9%664&@.7 2+

    2-00 R+ ?)%6?#+@ #$4# #$+.+ %Rc+9#. 4)+ &%# @+(-&+@ 4&@ &%# )+9%,&-[+@

    4. >4)-4R0+. R" !"#$%&: V%= 2-00 0+4)& 6%)+ 4R%=# >4)-4R0+. 4&@ #$+

    =.+(=0&+.. %( (=&9#-%&. 4. 2+ 6%>+ %&:

  • 8/17/2019 234844490-Python-Book.pdf

    40/231

    39

    Chapter 2:Te Basics

    2.6 Variable Scope

      39

    Q  R

    P: 3+#X. .4" 2+ $4>+ 4..-,&+@ 4 >40=+ #% >4)-4R0+ ( 4. ( m 4

    U$-9$ %( #$+ (%00%2-&, 9%@+. 2%=0@ ?)- %=# #$+ >4)-4R0+X. 4..-,&+@

    >40=+t

    4: ?)- If4gK

    R: @-.?04" I4K

    9: ?)- I4K

    @: ?)- f4g

    A: U$-9$ %( #$+ (%00%2-&, -. &%# 4 @4#4 #"?+ -& !"#$%&t

    4: E#)-&,:

    R: ]+9-640:

    9: 8+,+):

    @: a0%4#:

    Q: U$-9$ %( #$+ (%00%2-&, -. &%# 4 9%))+9# @+904)4#-%& -& !"#$%&t

    4: 4 y zP7A7Q{

    R: Ry |P7A7Q}9: 9 y IP7A7QK

    @: @ y f@g

    L: U$-9$ %( #$+ (%00%2-&, 2%=0@ R+ 4 9%))+9# %)@+) %( +1+9=#-%& %(

    4)-#$6+#-9 %?+)4#%).7 4..=6-&, #$+)+ 4)+ &% ?4)+$+.+. -& #$+

    +1?)+..-%&t

    4: ^1?%&+.7 4@@-#-%&7 @->-.-%&:

    R: r%%#.7 6=0#-?0-94#-%&7 4@@-#-%&:

    9: ^1?%&+.7 6=0#-?0-94#-%&7 )%%#.:

    @: /@@-#-%&7 .=R#)49#-%&7 @->-.-%&:

    l: U$4# -. &%# #)=+ 4R%=# 9%66+.t

    4:

  • 8/17/2019 234844490-Python-Book.pdf

    41/231

    40 Python for Beginners

    40

    )0"1!%. 9 $ "# % A%.)-+%

    o.-&, #$+ (%00%2-&, +W=4#-%&7 0+#X. (-,=)+ %=# #$+ 499+0+)4#-%& %( 4 >+$-90+

    -& 6%#-%&:

    U$+)+ ` -. (-&40 >+0%9-#" IAl6\.K7 8 -. -&-#-40 >+0%9-#" IF 6\.K 4&@ $ -. #-6+

    #4D+& IPF .+9%&@.K:

    U%)D %=# 499+0+)4#-%& I(K 4&@ ?)- -# #% #$+ .9)++&

    C-T r+4))4&,+ -#7 0-D+ .%T

    $ "# +'$8!-'*

    7 > @

    4 > @

    f > T[

    % > ?@

    7 > &f d 40 3 %

    !"#$%&70

  • 8/17/2019 234844490-Python-Book.pdf

    42/231

    41

    Chapter 2:Te Basics

    41

    )0"1!%. 9 +8==".;

    8& #$-. 9$4?#+) "%= 2+)+ -)%@=9+@ #% >4)-4R0+. 4&@ 2+ @-.9=..+@

    $%2 #% 2)-#+ #$+6 4&@ $%2 #% 4..-,& >40=+. #% #$+6:

     V%= 0+4)&+@ #$+ 9%&9+?# %( @4#4 #"?+. 4&@ 2$4# @4#4 #"?+. 4)+4>4-04R0+: V%= 2+)+ 40.% -)%@=9+@ #% #$+ R4.-9 .") %( 4..-,&-&,

    >40=+. %( @-((+)+ @4#4 #"?+. #% >4)-4R0+.:

    5%,+#$+) 2-#$ >4)-4R0+. 4&@ @4#4 #"?+.7 "%= 2+)+ ?)%>-@+@ 2-#$

    +146?0+. %( R4.-9 64#$+64#-940 %?+)4#%). 4&@ #$+ )=0+. %( 2)-#-&,

    #$+6 -& #$+ 9%))+9# %)@+):

     V%= .$%=0@ R++& 4R0+ #% =&@+).#4&@ #$+ =.+(=0&+.. %( 2)-#-&,

    9%66+. 4&@ $%2 #% -&.+)# #$+6 -% "%=) 9%@+: V%= .$%=0@ &%2

    D&%2 #$4# 9%66+. 94& R+ 2)-##+& +-#$+) (%) @%9=6+-&, "%=)

    9%@+ %) (%) 9)+4#-&, 9%@+ #$4# -. #% R+ +1+9=#+@ 4# 4 04#+) ?%-:34.#0"7 "%= ,4-&+@ 4 R4.-9 =&@+).#4&@-&, %( #$+ >4)-4R0+ .9%?+

    9%&9+?#: V%= 0+4)&+@ #$4# #$+ .9%?+ %( #$+ >4)-4R0+. -. +-#$+) 0%940

    %) ,0%R40 4&@ "%= .$%=0@ =&@+).#4&@ 2$4# +49$ %( #$%.+ #+)6.

    6+4&:

    8& 9$4?#+) Q7 "%= 2-00 R+ -)%@=9+@ #% 9%&@-#-%&40. 2$-9$ 4)+ 4

    >+)" -6?%)#4 ?4)# %( +>+)" ?)%,)466-&, 04&,=4,+ 4&@ 400%2

    #$+ ?+)(%)64&9+ %( 6=0#-?0+ 49#-%&. @+?+&@-&, %& 4 2-@+ )4&,+ %(

    9%&@-#-%&.:

  • 8/17/2019 234844490-Python-Book.pdf

    43/231

    42 Python for Beginners

    42

  • 8/17/2019 234844490-Python-Book.pdf

    44/231

    43

    Chapter 3: Conditionals

    43

    )'*/-!-'*"$+)0"1!%. '#2%)!-3%+

    p V%= 2-00 R+ 4R0+ #% =.+ 9%&@-#-%&40. -&90=@-&, "' 7 0*"' 7 0*.0 4&@ "3*"30"'  

    .#4#+6+.:

    p V%= 2-00 0+4)& 2$-9$ .#4#+6+ #% =.+ @+?+&@-&, %& #$+ .9+&4)-%:

    p V%= 2-00 0+4)& 4 2%)D4)%=&@ %( .2-#9$ .#4#+6+.:

    p V%= 2-00 R+ 4R0+ #% 2)-#+ 9%&@-#-%&40. %& %&0" %&+ 0-&+ =.-&, #$+ "3*"30

    "'  .#4#+6+.:

    40=4#+. 4. #)=+ %) (40.+: C+)+ -. 4&+146?0+ %( 4 9%&@-#-%&40 .#4#+6+T

    7, 8 > @, ?

    #R 7 >> 8Z

      !"#$% &M"4)0

    8& #$+ ?)+>-%=. +146?0+7 2+ 4)+ (-).# 4..-,&-&, F 4&@ P #% ( 4&@ )Z 

    )+.?+9#->+0"7 4&@ #$+& 2+ 2)-#+ #$+ 9%&@-#-%& .#4#+6+ -& #$+ .+9%&@ 0-&+

    I-:+: f-( ( -. +W=40 #% )gK: 5$+ #$-)@ 0-&+ 9%-&. #$+ 49#-%& #% R+ ?+)(%)6+@

    -( #$+ 9%&@-#-%& -& #$+ .+9%&@ 0-&+ -. 6+#: V%= 2-00 &%# ,+# 4&" )+.=0# ()%6

    #$-. 9%@+ R+94=.+ -& #$-. 94.+7 #$+ 9%&@-#-%& -. &%# 6+#d ( -. &%# +W=40 #% 

    ): E%7 &%#$-&, 2-00 $4??+&: 8( 2+ -&.#+4@ 2)-#+T

    7, 8 > @, ?

    #R $+% 7 >> 8Z

      !"#$% &M"4)0

     

    #$%&'

    (+

     #$%&'

    (+

     

    #$%&'

    (+

     

    #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     

    #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

    hapter : Conditionals

     

    #$%&'

    (+

    hapter : Conditionals

     

    #$%&'

    (+

    hapter : Conditionals

     

    #$%&'

    (+

    hapter : Conditionals

     

    #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

     #$%&'

    (+

    3.1 If Statements

  • 8/17/2019 234844490-Python-Book.pdf

    45/231

    44 Python for Beginners

    44

    5$+ %=#?=# 2%=0@ R+T

    a-,=)+ Q:PT ;180 -. ?)-+@ %=# R+94=.+ ( -. &%# +W=40 #% )

    5$-. -. R+94=.+ #$+ 9%&@-#-%& .#4#+. #$4# ( -. &%# +W=40 #% )Z 2$-9$ -.

    49#=400" #)=+5

    E-6-04)0"7 -&.#+4@ %( #$+ +W=40 %?+)4#%) fyyg "%= 94& #)" %#$+) %?+)4#%).

    -&.-@+ #$+ 9%&@-#-%& .#4#+6+ .=9$ 4. #$+ 9%6?4)-.%& %?+)4#%).7 ~7 •7 •y7

    +#9: C+)+ -. 4& +146?0+ %( $%2 "%= 2%=0@ =.+ #$+ f0+.. #$4& %) +W=40 #%g

    I•yK %?+)4#%)T

    7, 8 > @, ?

    #R 7 I> 8Z

      !"#$% &'V)5, 7 #5 )g47* +" *)55 %;7$ 8'0

    5$-. 2%=0@ ,->+T

    a-,=)+ Q:AT 5+1# -. ?)-+@ %=# R+94=.+ #$+ 9%&@-#-%& -. 6+#

    S%#-9+ $%2 #$+ 49#-%& #% R+ ?+)(%)6+@ I-:+: #$+ F1"3$ (=&9#-%&K -. -&@++@:

    C%2 6=9$ -# -. -&@++@ -# @%+. &%# 64##+)7 R=# -# .$%=0@ &%# R+ 4# #$+

    .46+ >+)#-940 40-,&6+ 2-#$ #$+ 9%&@-#-%& 4R%>+:

    8&@+#-%& -. 4& -+,)40 ?4)# %( 9%&@-#-%&40

    R0%9D.: V%= .$%=0@ 4024". -&@+ #$+ 9%@+ #$4#

    9%6+. =&@+) #$+ 9%&@-#-%&40 .#4#+6+.7 c=.# 4. 2+ @-@ -& #$+ ?)+>-%=.

    9%@+: Z++?-&, #$-. -& 6-&@7 0+#X. #)" .%6+ 6%)+ 9%6?0+1 9%&@-#-%&.: U+

    2-00 2)-#+ #$+ ?)+>-%=. 9%@+ -& 4&%#$+) 24" 4&@ .#-00 ,+# #$+ .46+ )+.=0#

    R" =.-&, 4 K-#N-.+ %=+)1#%)3

     ["$C".0 &F01($&1. 400%2 #$+ +>40=4#-%& 4&@ 64&-?=04#-%& %(#2% %) 6%)+ -&?=# 4&@ 4)+ %(#+& =.+@ #%,+#$+) 2-#$

    9%&@-#-%&40.: U) -. 4& +146?0+ %( 4 )"$C".0 &F01($&1:

    8# -. =.+@ #% +>40=4#+ -( 4# 0+4.# %&+ -&?=# -. #)=+:

    C&2+#-%&

    U)

  • 8/17/2019 234844490-Python-Book.pdf

    46/231

    45

    Chapter 3: Conditionals

    45

    C+)+ -. 4& +146?0+T

    7, 8 > @, ?

    #R 7 I 8 +" 7 >> 8Z  !"#$% &'V)5, 7 #5 )g47* +" *)55 %;7$ 8'0

    U+ 9%=0@ #)4&.04#+ #$+ .+9%&@ 4&@ #$+ #$-)@ 0-&+. -% 9%66%& 04&,=4,+

    -& #$-. 24"T f-( ( -. +-#$+) 0+.. #$4& %) +W=40 #% )Z #$+& ?)- %=# #$+ #+1#

    wj0.Z ( ". 078(* $& &1 *0.. $:(3 )nn g7 2$-9$ -. 49#=400" #)=+ -& %=) 94.+:

    5$+)+(%)+7 #$+ %=#?=# 2%=0@ R+T

    a-,=)+ Q:QT 5+1# -. ?)-+@ %=# 4. ( -. 0+.. #$4& )

     /&%#$+) -6?%)#4 )"$C".0 &F01($&1 -. 1&2: 5$+ (3> %?+)4#%)

    +>40=4#+. #$+ 9%&@-#-%& R" %&0" ?+)(%)6-&, #$+ .=99++@-&,

    49#-%& -( R%#$ #$+ 9%&@-#-%&. R+(%)+ 4&@ 4(#+) (3> 4)+ #)=+:

    C+)+ -. 4& +146?0+T

    7, 8 > @, ?

    #R 7 I 8 7$/ 7 >> 8Z

      !"#$% &'V)5, 7 #5 )g47* +" *)55 %;7$ 8'0

    U+ 2%=0@ )+4@ #$+ 9%@+ #$-. 24"T f-( ( -. 4# #$+ .46+ #-6+ 0+.. #$4& 4&@

    +W=40 #% )7 #$+& ?)- %=# #$+ #+1# wj0.Z ( ". 078(* $& &1 *0.. $:(3 )n] 7 2$-9$

    -. &%# #)=+ -& %=) 94.+: 5$+)+(%)+7 &%#$-&, 2%=0@ R+ ?)-+@ %=# #$-. #-6+:

    !0+4.+ &%#+ #$+ @-((+)+&9+ R+#2++& #$+ 4..-,& %?+)4#%) fyg 4&@

    #$+ +W=40 %?+)4#%) fyyg: 5$+ (%)6+) -. =.+@ #% 4..-,& >40=+. #%

    >4)-4R0+.7 2$-0+ #$+ 04##+) -. =.=400" =.+@ (%) #+.#-&, -( .%6+#$-&,

    -. +W=40 #% .%6+#$-&, +0.+:

    *-#N-.+ U=+)1#%).P^ U)

     ^ M&2

     M&2

    3.1 If Statements

  • 8/17/2019 234844490-Python-Book.pdf

    47/231

    46 Python for Beginners

    46

    + #% =.+ #$+ .46+

    46%= (%) #$+ .+9%&@ %&+:

    R:.+

  • 8/17/2019 234844490-Python-Book.pdf

    48/231

    47

    Chapter 3: Conditionals

    47

    -%=. 9%@+7 #$+ #+1#

    #$4# 2-00 R+ ?)-+@ %=# -. #$+ %&+ #$4# 6++#. #$+ 9%&@-#-%& I-:+: ( o )KT

    a-,=)+ Q:lT 5+1# -. ?)-+@ %=# 4. ?4)# %( 4& 0*"'  904=.+

    5)" #% ?04" 4)%=&@ R" 9$4&,-&, #$+ >40=+. %( ( 4&@ ) -& #$+ (-).# 0-&+ 4&@

    .++ 2$4# %=#?=# "%= ,+#: a%) +146?0+7 -( 2+ 4..-,& P #% R%#$ ( 4&@ )T

    7, 8 > ?, ?#R 7 >> 8Z

      !"#$% &'7 #5 )g47* %+ 8'0

    R:-( 

    3.3 Elif Statements

  • 8/17/2019 234844490-Python-Book.pdf

    49/231

    48 Python for Beginners

    48

    )*#R 7 I 8Z

      !"#$% &'7 #5 *)55 %;7$ 8'0

    )*#R 7 K 8Z

      !"#$% &'7 #5 *)55 %;7$ 8'0

    )*5)Z

      !"#$% &'7 #5 F")7%)" %;7$ 8'0

    U+ 2%=0@ ,+# #$+ (-).# 9%&@-#-%& )+#=)&+@ 4. #)=+ 4&@ #$+)+(%)+ #$+

    (%00%2-&, #+1# ?)-+@ %=#T

    a-,=)+ Q:GT 5+1# -. ?)-+@ %=# 4. ?4)# %( 4& 0*"'  904=.+

     /0.% D++? -& 6-&@ #$4# -( &%&+ %( #$+ "'  %) 0*"'  9%&@-#-%&. 4)+ 6+#7 #$+

    49#-%& =&@+) 0*.0 2-00 R+ #$+ %&+ #$4# -. ?+)(%)6+@:

  • 8/17/2019 234844490-Python-Book.pdf

    50/231

  • 8/17/2019 234844490-Python-Book.pdf

    51/231

    50 Python for Beginners

    50

    0

    f7" > '%.+'

    !"#$% &7LF)%&f7", '/)R74*%'00

    5$-. 9%@+ 2%=0@ ?)- %=# #$+ >40=+ #$4# #$+ D+" 4..-,&+@ #% >4)-4R0+

    `(1 $%0@. -& #$+ 94.+ 2$+& #$-. D+" +1-.#. -& #$+ @-9#-%&4)": _#$+)2-.+7

    f@+(4=0#g 2-00 R+ ?)-+@ %=#: 8& #$-. 94.+7 2+ 2%=0@ ,+#T

    a-,=)+ Q:JT fAg -. ?)-+@ %=# -&.#+4@ %( f@+(4=0#g

    8( 2+ 4..-,& #% `(1 4 >40=+ %#$+) #$4& #$+ %&+. 9%-&+@ -& #$+

    @-9#-%&4)"T

    7 > /#6% &

      +$) > ?,

      %.+ > T,  %;")) > U

    0

    f7" > '5#e'

    !"#$% &7LF)%&f7", '/)R74*%'00

    2+ 2%=0@ ,+#T

    a-,=)+ Q:NT f@+(4=0#g -. ?)-+@ %=#7 4. f.-1g @%+. &%# +1-.# -& #$+ @-9#-%&4)"

    5$+)+ -. 4 0%# %( ()++@%6 (%) "%= #% 9$%%.+ R+#2++& 2%)D-&, 2-#$ +0-(

    .#4#+6+. %) =.-&, #$+ .2-#9$ .#4#+6+ 2%)D4)%=&@: C%2+>+)7 #$+.+

    2+)+ #2% +146?0+. #$4# 94& R+ =.+@ 4. W=-9D 2%)D4)%=&@. (%) #$+ .2-#9$

    6+#$%@ -& !"#$%& -& 94.+ "%= @%&X# 24 #% =.+ +0-( .#4#+6+.:

  • 8/17/2019 234844490-Python-Book.pdf

    52/231

    51

    Chapter 3: Conditionals

    51

    -%=.0" 0+4)&+@7 #$+)+ -. 40.%4&%#$+) W=-9D+) 24" %( 2)-#-&, 9%&@-#-%&.: 5$-. -. D&%2& 4. -&:-&+ -( : 8&

    #$-. 94.+7 #$+ 9%&@-#-%& 4&@ #$+ 49#-%& 4)+ R%#$ 2)-##+& -&

    %&+ 0-&+T

    7, 8 > @, ?

    !"#$% &M"4) #R 7 >> 8 )*5) a7*5)0

    5$-. 6+4&. #$4# ;180 2-00 R+ ?)-+@ -( ( -. +W=40 #% )7 %#$+)2-.+ Y(*.0

    2-00 R+ @-.?04"+@: 8& #$-. 94.+7 #$+ %=#?=# 2%=0@ R+T

    a-,=)+ Q:PFT ;180 -. ?)-+@ %=# 4. ?4)# %( #$+ "' 904=.+ -&.-@+ #$+ "3*"30 "'  .#4#+6+

    E-6-04)0"7 "%= 94& -&90=@+ %#$+) #"?+. %( +1?)+..-%&. -&.-@+ #$+ "3*"30 "'  

    4&@ +>+& 4..-,& #$+ 2$%0+ 0-&+ #% 4 >4)-4R0+T

    7, 8 > @, ?

    f7" > 'M;#5 #5 %"4)' #R 7 >> 8 )*5) 'M;#5

    #5 $+% %"4)'

    !"#$% &f7"0

    5$+ %=#?=# %( #$-. -.T

    a-,=)+ Q:PPT 5+1# -. ?)-+@ %=# 4. ?4)# %( #$+ 0*.0 904=.+ -&.-@+ #$+ "3*"30 "'  .#4#+6+

    5$+ 04.# 9%@+ -. 4 >+)" 9%66%&0" =.+@ 94.+ %( #$+ "3*"30 "'  (=&9#-%&40-#"4. -# 400%2. >4)-4R0+. #% R+ 4..-,&+@ >40=+. @+?+&@-&, %& #$+ 9%&@-#-%&.:

    C%2+>+)7 #$+ "3*"30 "'  9%&@-#-%&40. 4)+ )+.#)-9#+@7 6+4&-&, #$4# #$+"

    94&&%# R+ =.+@ -& 9%6?0+1 +1?)+..-%&.: U$+& 9%6?0+1 +1?)+..-%&. 4)+

    C&:-&+ C( 

    3.5 Inline If 

  • 8/17/2019 234844490-Python-Book.pdf

    53/231

    52 Python for Beginners

    52

    9%&9+)&+@7 #$+ .#4&@4)@ "'Z 0*.0 4&@ 0*"' .#4#+6+.7 2$-9$ "%= 0+4)&+@

    -& #$+ ?)+>-%=. .+9#-%&.7 .$%=0@ R+ =.+@: 5$+ 6=0#-0-&+ .#)=9#=)+ %( #$+

    .#4&@4)@ 9%&@-#-%&40. 400%2. =. #% 2)-#+ 6%)+ 4@>4&9+@ ?)%,)46. #$4#

    $4>+ 9%&@-#-%&40 4.?+9#. 4# #$+ 9%)+:

    Q  R

    P: U$-9$ %( #$+ (%00%2-&, -. 4 9%))+9#0" 2)-##+& +1?)+..-%&t

    4: -( 4 y RT

    ?)- IfV+.gKR: -( 4 yy RT

    ?)-IfV+.gK

    9: -( 4 yy R

      ?)-I fV+.g K

    @: -( 4 yy RT

      ?)-I V+. K

    A: U$4# -. &%# #)=+ 4R%=# +0-(t

    4: ^0-( -. =.+@ 2$+& #+.#-&, 6=0#-?0+ .#4#+6+.:

    R: ^0-( -. 4 .=R.#-#=#+ %( #$+ .2-#9$ (=&9#-%&:

    9: ^0-( -. .-6-04) #% #$+ .2-#9$ 2%)D4)%=&@ 6+#$%@:

    @: ^0-( -&-#-4#+. 4 9%&@-#-%&7 .-6-04) #% $%2 "'  @%+.:

    Q: U$4# $4??+&. 2$+& &%&+ %( #$+ 9%&@-#-%&. 4)+ #)=+ -& 4 9%&@-#-%&40

    R0%9Dt

    4: 5$+ 49#-%& =&@+) +0.+ -. +1+9=#+@:

    R: S%#$-&, $4??+&.:

    9: 5$+ ?)%,)46 #$)%2. 4& +))%):

    @: a40.+ -. ?)-+@ %=#:

    L: C%2 2%=0@ "%= 2)-#+ 4 9%@+ #$4# ?)-. fm)+4#+)g -( ( -. ,)+4#+) #$4&

    )7 4&@ f3+.. %) +W=40g -(  ( -. 0+.. #$4& %) +W=40 #% )7 =.-&, #$+ "3*"30 "'  

    .#4#+6+t

    4: 47 R y PF7 AF

    ?)- Ifm)+4#+)g -( 4 • R +0.+ f3+.. %) +W=40gK

    R: 47 R y PF7 AF

    ?)- Ifm)+4#+)g -( 4 ~ R +0-(g3+.. %) +W=40gK

    9: 47 R y PF7 AF?)- If3+.. %) +W=40g -( 4 •y R +0.+ fm)+4#+)gK

    @: 47 R y PF7 AF

    ?)- Ifm)+4#+)g -( 4 ~y R +0.+ f3+.. %) +W=40gK

    Q  R

  • 8/17/2019 234844490-Python-Book.pdf

    54/231

    53

    Chapter 3: Conditionals

    53

    )0"1!%. < $ "# % A%.)-+%

    _&+ D+" #$-&, 4R%=# 9%&@-#-%&40 .#4#+6+. -. #$+-) 4R-0-#" #% 9)+4#+

    .%6+#$-&, 9400+@ 4 #)D#$ #1K:+ 2$-9$ $%0@. 4 9+)#4-& &=6R+) %( -&?=#

    I=.=400" 4 6-&-6=6 %( #2%K 2-#$ %&+ +19+?#-%& € 3&$: ;18$: $()*0. )=&

    =.-&, R-&4)"7 2$-9$ -. 2$4# -. $4??+&-&, R+$-&@ #$+ .9+&+. 2-#$-&

    !"#$%&: V%=) -&?=# -. R+-&, 9%&>+)#+@ #% R-&4)" 2$+& "%= 4)+ @%-&, 4

    9%6?4)-.%&: 5$+)+ 4)+ .-1 $18$: $()*0. -& #%#407 $%2+>+)7 2+ 2-00 %&0" R+

    0%%D-&, 4# #$)++ %( #$+67 63>7 H1 4&@ U&$:

    54D+ #$+ (%00%2-&, #4R0+. 4&@ #)" #% 9%&>+)# #$+6 -% "' .$($0#03$. -&%)@+) #% )+9+->+ #$+ 9%))+9# %=#?=#: ^49$ )%2 .$%2. 4 @-((+)+ .+# %(

    -&?=#T

     /S]

    MMMMMMMMMMMM

    / * b

    MMMMMMMMMMMM

    P P P

    F F F

    P F F

    F P F

    MMMMMMMMMMM

    5$+ &+1# #2% $18$: $()*0. 4)+ 4. (%00%2.T

    _r

    MMMMMMMMMMMM

    / * b

    MMMMMMMMMMM P P P

    F F F

    P F P

    F P P

    MMMMMMMMMM

    8& #$-. 94.+ 8 2%=0@ =#-0-[+ #$+ (3> %?+)4#%) -& !"#$%& #% .$%2 "%=

    +149#0" 2$4# -. $4??+&-&, R+$-&@ #$+ .9+&+. (%) #$+ &1 #)=#$ #4R0+:!"#$%& 40.% $4. #$-. R=-0#M-& =.-&, #$+ &1 %?+)4#%): U+ 94& =.+ #$-.

    (=&9#-%&40-#" 04#+) %& #% .4>+ =. ()%6 $4>-&, #% 2)-#+ =&&+9+..4)" 9%@+:

    Final Lab Exercises

     V%= 94& .++ #$4# #$+ %&0" ?049+ 2$+)+ #2% w#)=+X

    .#4#+6+. ,+# ?4..+@ -. P 4&@ P: 5$-. -. #$+ %&0"

    %=#?=# 2$-9$ -. #)=+7 #$+ )+.# R+-&, (40.+:

     /. "%= 94& .++ 2-#$ HW7 4&" 94.+ $4>-&, 4#

    0+4.# %&+ P -. #)=+: 5)" #% )+?)+.+ #$-. =.-&, "'  

    .#4#+6+. 4. 2+00:

  • 8/17/2019 234844490-Python-Book.pdf

    55/231

    54 Python for Beginners

    54

    S_5

    MMMMMMMM

    / b

    MMMMMMMM P F

    F P

    MMMMMMMM

    S%2 (%) #$+ )+40 9$400+&,+e 5)" #% 2)-#+ #$+ 9%@+ (%) #$+ (%00%2-&, #)=#$

    #4R0+:

    5$+ +W=4#-%& (%) #$-. #)=#$ #4R0+ -. 4. (%00%2.T

     / (3> 3&$ * %) < y b

    5$+ +W=4#-%& -. )+4@ ()%6 0+(# #% )-,$# 4&@ 2%=0@ 4??+4) 0-D+ #$-. -(

    2)-##+& -& 64#$+64#-940 #+)6.T

    II/n‚*K+ #4R0+.7 9)+4#+ 4 ?)%,)46 #$4# 2-00 ,->+ "%= #$+ 9%))+9#

    %=#?=# (%) #$+ (%00%2-&, #4R0+T

    MMMMMMMMMMMMMMMM

    / * < b

    MMMMMMMMMMMMMMM

    P P P

    P F P

    P P F

    P F F

    F P F

    F F P F F F

    F P P

    MMMMMMMMMMMMMM

    m%%@ 0=9De

    _%#+P 5$+ 6)+1#-%& %( #$+ G1-& 6$1::+&,+ N-:: -&B%:B+ D.-&, G%)+

    B1)-1K:+. #% .#%)+ #$+ 6D))+ 2+#1-:. -& #$1& .$%N& 1K%B+3

     /. "%= 94& .++ 2-#$ 3&$7 -# -. #$+ +19+?#-%& #$4#

    #4D+. %&0" %&+ -&?=#: 5$+ 24" #$-. 2%)D. -. #$4#-# R4.-9400" )+>+).+. #$+ >40=+.:

  • 8/17/2019 234844490-Python-Book.pdf

    56/231

    55

    Chapter 3: Conditionals

    55

    $ "# +'$8!-'*

     C "*/ !.8!0 ! "#$%4

    7 > ?

    8 > @

    #R &7 >> ? 7$/ 8 >> ?0Z

    !"#$%&J?J0

    )*#R &&7 >> ? 7$/ 8 >> @0 +" &7 >> @ 7$/ 8>> ?00Z

    !"#$%&J@J0

    )*#R &7 >> @ 7$/ 8 >>@0Z

    !"#$%&J@J0

    )*5)Z

    !"#$%&JB$f7*#/ B$!4%J0

     C '. !.8!0 !"#$%4

    7 > ?

    8 > @

    #R &7 >> ? 7$/ 8 >> ?0Z

    !"#$%&J?J0

    )*#R &&7 >> ? 7$/ 8 >> @0 +" &7 >> @ 7$/ 8>> ?00Z

    !"#$%&J?J0

    )*#R &7 >> @ 7$/ 8 >>@0Z

    !"#$%&J@J0

    )*5)Z

    !"#$%&JB$f7*#/ B$!4%J0

    Final Lab Solutions

  • 8/17/2019 234844490-Python-Book.pdf

    57/231

    56 Python for Beginners

    56

     C *'! !.8!0 !"#$%4

    7 > @

    #R&7 >> ?0Z

    !"#$%&J@J0

    )*#R&7 >> @0Z

    !"#$%&J?J0

    )*5)Z

    !"#$%&JB$f7*#/ B$!4%J0

     C = "-* )0"$$%*,%4

    7 > ?

    8 > @

    6 > ?

    #R&8 >> ?0Z

    8(+*/)" > @

    )*#R&8>>@0Z

    8(+*/)" > ?

    #R&7 >> ? 7$/ 8(+*/)" >> ?0Z

    )*5)Z

    !"#$%&Jh > ?J0

    )*5)Z

    !"#$%&Jh > @J0

  • 8/17/2019 234844490-Python-Book.pdf

    58/231

    57

    Chapter 3: Conditionals

    57

    )0"1!%. < +8==".;

    8& #$-. 9$4?#+) "%= 2+)+ -)%@=9+@ #% 9%&@-#-%&40.7 2$-9$ 4)+ 4

    >+)" -6?%)#4 ?4)# %( +>+)" ?)%,)466-&, 04&,=4,+ 4. #$+" 400%2

    9%&@-#-%&+@ ?)%,)466-&,:

    U+ @-.9=..+@ $%2 =.+(=0 #$+ "'  .#4#+6+ -. 2$+& "%= 24 #%?+)(%)6 4& 49#-%& #$4# -. @+?+&@+ %& 4 9+)#4-& 9%&@-#-%&: /0%&,

    2-#$ #$+ "'  .#4#+6+ "%= 0+4)&+@ #$4# #$+ 9%@+ R0%9D ?)+9+@-&,

    #$+ "'  .#4#+6+ .$%=0@ R+ ?)%?+)0" -&@++@:

     V%= +1?+)-6++@ 2-#$ #$+ 0*.0 .#4#+6+ 4&@ =&@+).#%%@ #$4# -#

    94& R+ =.+@ 4. 4& 40#+)&4#->+ 9%&@-#-%& 2$+& #$+ "'  .#4#+6+ -.

    &%# .4#-.(-+@:

     V%= ?+)(%)6+@ 6=0#-?0+ 49#-%&. #$4# 2+)+ @+?+&@+ %& 6=0#-?0+

    9%&@-#-%&. 64@+ ?%..-R0+ R" #$+ 0*"'  .#4#+6+:

    U+ 40.% @-.9=..+@ 4& 40#+)&4#->+ 2%)D4)%=&@ %( #$+ .C"$/: .#4#+6+. =.+@ -& %#$+) ?)%,)466-&, 04&,=4,+.: V%= .$%=0@

    D&%2 #$4# #$+ .C"$/: 2%)D4)%=&@ -. 40.% 4& 40#+)&4#->+ #% #$+ 0*"'  

    .#4#+6+.:

    34.#0"7 "%= 2%)D+@ %=# 4&%#$+) W=-9D 24" %( R=-0@-&, "'  .#4#+6+.

    =.-&, #$+ "3*"30 "'  40#+)&4#->+ 2$-9$7 +>+& #$%=,$ -# -. 6%)+

    )+.#)-9#+@ -& #+)6. %( #$+ 9%6?0+1-#" %( 49#-%&. -# 94& ?+)(%)67 94&

    R+ 4 W=-9D+) .%0=#-%& %& 9+)#4-& %994.-%&.:

    8& #$+ &+1# 9$4?#+) "%= 2-00 R+ -)%@=9+@ #% #$+ :%%=-&, 9%&9+?#:

    3%%?-&, -. 9)=9-40 2$+& 2%)D-&, 2-#$ 04),+ 46%=. %( @4#4:*4.-9400"7 *&&F"39  -. =.+@ #% )=& )+?+#-#->+ 49#-%&. =-0 4 9%&@-#-%&

    -. .?+9-(-+@: 8# $4. 4 &=6R+) %( 6+#$%@. 2$-9$ "%= 2-00 0+4)&

    #$)%=,$%=# #$+ 9$4?#+):

  • 8/17/2019 234844490-Python-Book.pdf

    59/231

    58 Python for Beginners

    58

  • 8/17/2019 234844490-Python-Book.pdf

    60/231

  • 8/17/2019 234844490-Python-Book.pdf

    61/231

    60 Python for Beginners

    60

    a-,=)+ L:PT m+&+)4#+@ &=6R+). ()%6 [+)% #% NN I.$%2& =? #% (->+ -& #$+ .9)++&.$%#K

    8& #$+ ?)+>-%=. +146?0+7 2+ .#4)#+@ 2)-#-&, %=) 9%@+ R" 4..-,&-&, 4&

    -&-#-40 >40=+ %( [+)% #% >4)-4R0+ ( -& #$+ (-).# 0-&+: 5$+ )+.# %( #$+ 9%@+

    R+0%&,. #% #$+ C:"*0 0%%? R0%9D: 5$+ (-).# 0-&+ %( #$+ C:"*0 R0%9D 64D+. =?

    #$+ 9%&@-#-%& %( #$+ R0%9D 2$-9$ .#4#+. #$4# ( .$%=0@ &%# ,% $-,$+) #$4&

    PFF: 8( #$+ +&=6+)4#-%& )+49$+. PFF7 #$+ 49#-%& I-:+: ?)--&, %=#K 2-00

    .#%?:

    5$+ .+9%&@ 0-&+ %( #$+ C:"*0 R0%9D -. #$+ 49#-%&7 2$-9$ %)@+). #$+ ?)--&,

    %=# %( #$+ >40=+ %( (: 5$+ #$-)@ 0-&+ %( #$+ R0%9D @+904)+.

    #$+ -#+)4#-%& .#+=3

     / .#+? -. #$+ -+)>40 =.+@ R" #$+ 0%%? #% -#+)4#+

    #$)%=,$ 4 )4&,+ %) 4 .+# %( &=6R+).: 8& #$-. 94.+7 #$+ .#+? -.

    %&+7 6+4&-&, #$4# #$+ -#+)4#-%& 2%=0@ .#4)# ()%6 [+)%7 ,% #%

    %&+7 #2% 4&@ =? #% NN7 -&9)+6+-&, R" %&+ +49$ #-6+: 8& +49$

    ?4..7 #$+ >40=+ %( ( 2-00 R+ ?)-+@ %=#7 #$4# -. F7 P7 4&@ .% %&:

     V%= 6-,$# 40.% 9%6+ =?%& 94.+. 2$+& 4 .#+? %#$+) #$4& %&+

    2-00 R+ =.+@:

    5% =&@+).#4&@ #$+ ?)+>-%=. 9%@+ R+##+)7 2+ 2-00 #)4&.04#+ -# -% 9%66%&04&,=4,+ 0-D+ .%T !)- %=# #$+ >40=+ %( ( .#4)#-&, ()%6 [+)% I( m Q K 4&@

    D++? ?)--&, R" -&9)+6+-&, =?24)@. R" %&+ I( pm4K: ]% #$+ ?)--&,

    %=# 4. 0%&, 4. ( -. 0+.. #$4& PFF I2$-0+ 4 • PFFK7 4&@ .#%? 2$+& #$+

    &=6R+) $4. )+49$+@ PFF: U$+& #$+ 0%%? )+49$+. #$+ 0-6-#7 -# -. )+(+))+@ #%

    4. +1$4=.#-%& %( #$+ 0%%?:

     V%= 9%=0@ 40.% #)" 4

    6%)+ .-6?0+ 9%@+ #$4#

    ?)-. %=# #+1# -&.#+4@

    %( &=6R+).T

    0#+=

    7 > @

    .;#*) 7 I ?@@Z

      !"#$% &'()**+, .+"*/'0  7 b>?

  • 8/17/2019 234844490-Python-Book.pdf

    62/231

    61

    Chapter 2: Looping 

    4.1 While Loops

      61

    5$-. #-6+ 2+ 4)+ )+?+4#+@0" ?)--&, %=# .%6+ #+1# =-0 -# )+49$+. #$+

    >40=+ %( PFFT

    a-,=)+ L:AT 5+1# ?)-+@ %=# NN #-6+. =-0 #$+ 0%%? -. +1$4=.#+@:

    5-=P 8& #$+ ?)+>-%=. +146?0+. 2+ =.+@ 4 .#+? %( %&+ #% -#+)4#+

    ()%6 [+)% #% PFF: V%= 94& 4024". =.+ @-((+)+ .#+?. 4&@ @-((+)+

    )4&,+. (%) -#+)4#-&,:

    !0+4.+ &%#-9+ #$4# #$+ 0-&+. =&@+) #$+ C:"*0 .#4#+6+ 4)+ -&@++@

    2-#$ #$+ .46+ 46%= %( 2$-#+ .?49+: 5$+ .46+ 46%= %( -&@+#-%&

    -&@-94#+. #$4# 2+ 4)+ .#-00 -&.-@+ #$+ C:"*0 0%%? R0%9D: 8( 2+ 24 #%?+)(%)6 4& 49#-%& %=#.-@+ #$+ C:"*0 0%%? R0%9D7 2+ 2%=0@ =.+ 4 @-((+)+

    46%= %( -&@+#-%&: C+)+ -. 4& +146?0+T

    7 > @

    .;#*) 7 I ?@@Z

      !"#$% &'()**+, .+"*/'0

      7 b>?

    !"#$% &'M;) )$/'0

    5-=P Z++? -& 6-&@ #$4# #$+ ?)%,)46 -+)?)+#+) +1+9=#+. #$+

    9%@+ R0%9D R" R0%9D7 .#4)#-&, 4# #$+ #%? 4&@ 6%>-&, @%2&: 8& #$+

    ?)+>-%=. +146?0+ 2+ $4>+ #$)++ R0%9D.T #$+ >4)-4R0+ @+904)4#-%&

    R0%9D7 #$+ C:"*0 0%%? R0%9D7 4&@ #$+ F1"3$ R0%9D: 5$+ F1"3$ R0%9D

    2-00 R+ +1+9=#+@ %&0" 4(#+) #$+ +1+9=#-%& %( #$+ =??+) R0%9D. $4.

    (-&-.$+@: 5$+)+(%)+7 #$+ %=#?=# %( #$+ 04.# R0%9D 2-00 R+ @-.?04"+@ 4##$+ >+)" R%##%6 %( #$+ %=#?=# 2-&@%2:

  • 8/17/2019 234844490-Python-Book.pdf

    63/231

    62 Python for Beginners

    62

  • 8/17/2019 234844490-Python-Book.pdf

    64/231

    63

    Chapter 2: Looping 

    4.2 For Loops

      63

    >69 ('. $''1+

     /&%#$+) #"?+ %( 0%%?-&, -. 4 (%) 0%%?: Y&1 0%%?. 4)+ 40.% =.+@#% )+?+4#+@0" +1+9=#+ 6=0#-?0+ .#4#+6+.: 5$+ +0+6+.

    #$4# 4 '&1 0%%? -#+)4#+. #$)%=,$ 4)+ 6%)+ +1?0-9-#0" @+904)+@:

    8& #$+ 94.+ %( 4 C:"*0 0%%?7 #$+ )4&,+ 24. @+904)+@ R" .#4#-&,

    -#. 0+4.# 4&@ ,)+4#+.# &=6R+). I-:+: [+)% 4&@ PFFK: 8& #$+ 94.+ %( '&1 0%%?.7

    #$+ )4&,+ -. 9%66%&0" @+904)+@ #$)%=,$ 0-.#.: C+)+ -. 4& +146?0+T

    R+" # #$ W@,?,T,U,Y,[XZ

      !"#$%

    5$-. 9%@+ -#+)4#+. #$)%=,$ 400 #$+ +0+6+. %( #$+ 0-.# 4&@ ?)-. #$+6 %=#

    %&+ R" %&+T

    a-,=)+ L:LT 3-.# +0+6+. ?)-+@ %=# 0-&+ R" 0-&+:

    3+#X. #)" #% =.+ #$+ '&1 0%%? (%) 2)-#-&, #$+ .46?0+ 9%@+ 2+ 2)%#+ -& #$+

    C:"*0 0%%? .+9#-%&T

    R+" # #$ "7$F)&@,?@@0Z

      !"#$%

    ^>+& #$%=,$ -# 0%%D. 0-D+ 4 0-.# -. 6-..-&, -& #$+ ?)+>-%=. 9%@+7 #$-. -.

    &%# 9%6?0+#+0" #)=+: 5$+ 0-.# -. ,+&+)4#+@ >-4 #$+ )1&,+ 

    (=&9#-%&: 5$+ 1(390 (=&9#-%& $+)+ R=-0@. 4 0-.# ()%6 [+)% #%

    PFF: 5$+& #$+ F1"3$ (=&9#-%& ?)-. %=# +>+)" >40=+ %( #$+

    0-.#: /,4-&7 &=6R+). ()%6 [+)% #% NN 2%=0@ R+ ?)-+@ %=#

    0-&+ R" 0-&+ c=.# 4. #$+" 2+)+ -& #$+ C:"*0 0%%? +146?0+:

    F%)

    A1&,+

  • 8/17/2019 234844490-Python-Book.pdf

    65/231

    64 Python for Beginners

    64

    ^>+& #$%=,$ #$+ )+.=0#. R+#2++& #$+ +146?0+. %( #$+ C:"*0 0%%? 4&@ #$+

    +146?0+ %( #$+ '&1 0%%? 4)+ #$+ .46+7 "%= 94& .++ #$4# #$+ '&1 0%%? $4. 4

    @-((+)+ .#)=9#=)+: Y&1 0%%?. 4)+ ?)-64)-0" =.+@ 2$+& "%= 24 #% -#+)4#+

    #$)%=,$ 0-.#.7 #=?0+. %) .#)-&,. 4. -& #$+ (%00%2-&, +146?0+T

    R+" # #$ '()**+'Z

      !"#$%

    8& #$-. 94.+ %( .#)-&, -#+)4#-%& 2+ 2%=0@ ,+# #$-. %=#?=#T

    a-,=)+ L:lT 3%%?-&, #$)%=,$ .#)-&, 9$4)49#+).

    C+)+ -. 4 6%)+ 4@>4&9+@ +146?0+ #$4# -+,)4#+. 4& "'  .#4#+6+ -&.-@+

    #$+ '&1 0%%?T

    R+" H):,# #$ )$4=)"7%)&'()**+'0Z

      #R H): O T >> @Z

      !"#$% &'M;) *)%%)" PQ #5 #$ 7$ )f)$

    *+67%#+$ 'LR+"=7%

    5$+ %=#?=# %( #$-. 2%=0@ R+T

    a-,=)+ L:GT !)--&, %=# +0+6+. #$4# $4>+ 4& +>+& -&@+1 -&.-@+ #$+ .#)-&,

  • 8/17/2019 234844490-Python-Book.pdf

    66/231

  • 8/17/2019 234844490-Python-Book.pdf

    67/231

    66 Python for Beginners

    66

    7 > P'+$)'Z?,'%.+'ZT,'%;"))'ZUQ

    R+" # #$ 7Z

      !"#$% , ' 6+"")5!+$/5 %+ ', 7W#X0

    8& #$+ (-).# 0-&+7 2+ @+904)+ #$+ @-9#-%&4)": 5$+& -& #$+ .+9%&@ 0-&+

    2+ .#4)# #$+ '&1 *&&F R0%9D: 5$+ >4)-4R0+ " 2-00 (+#9$ #$+ D+". %( #$+

    @-9#-%&4)-+.: r+6+6R+) #$4# #$+ S0+ -. #$+ (-).# +0+6+ %( 4 @-9#-%&4)"

    ?4-): 5$+& -& #$+ #$-)@ 0-&+ 2+ )+?+4#+@0" ?)- %=# #$+ >40=+ %( " #$4# -.

    #$+ S0+: U+ 40.% ?)- %=# #$+ ?$)4.+ f9%))+.?%&@. #%g 4&@ #$+ `(*80 %( #$+

    @-9#-%&4)": r+6+6R+) #$4# 4 `(*80 -. #$+ .+9%&@ +0+6+ %( 4 @-9#-%&4)"

    ?4-): 5$+ %=#?=# %( #$-. 2%=0@ R+T

    a-,=)+ L:JT !)--&, %=# @-9#-%&4)" +0+6+. #%,+#$+) 2-#$ .%6+ #+1# -& R+#2++&

     /. "%= 94& .++7 (%) 0%%?. 4&@ 0%%?-&, -& ,+&+)40 94& R+ -+,)4#+@ -%

    @-((+)+ .9+&4)-%. 2$+)+ @-((+)+ #"?+. %( @4#4 4)+ +&9%=+)+@:

  • 8/17/2019 234844490-Python-Book.pdf

    68/231

    67

    Chapter 2: Looping 

    4.3 Try, Except, Finally 

      67

    >6< !.;D % A)%1!D (-*"$$;

    3+#X. #4D+ 4 0%%D 4# +))%) $4&@0-&, -& !"#$%&: /. "%= 64.#+) !"#$%&7"%= 2-00 .#=6R0+ =?%& 64&" +))%). 2$-9$ 6-,$# R+ 94=.+@ R" @-((+)+

    )+4.%&.: Y4&" 4)+ .") +))%).7 6+4&-&, #$4# #$+" %)-,-&4#+ ()%6 #"?-&,

    6-.#4D+. 64@+ R" #$+ ?)%,)466+): 5$+)+ 4)+ 40.% %#$+) +))%). .=9$ 4.

    4##)-R=#+ +))%).7 2$-9$ 4)+ 94=.+@ R" -&4??)%?)-4#+ =.4,+ %( 9%664&@.:

    C+)+ -. 4& +146?0+ %( 4& 4##)-R=#+ +))%) )4-.+@ R" #$+ ?)%,)46T

    %4!*) > &?,T,U,Y0

    %4!*)L7!!)$/&[0

    R+" # #$ %4!*)Z

      !"#$%

    8& #$+ ?)+>-%=. 9%@+7 2+ 4)+ #)"-&, #% 4??+&@ 4& +0+6+ #% #$+ #=?0+7 R=#

    2+ D&%2 #$4# #=?0+. 4)+ -66=#4R0+: 5$+)+(%)+7 -( "%= )=& #$+ 9%@+7 "%=

    2-00 ,+# 4& +))%)T

    a-,=)+ L:NT m+&+)4#+@ 4##)-R=#+ +))%) 6+..4,+

    5$-. +))%) .#4#+. #$4# #$+ %Rc+9# $8F*0 $4. &% 4##)-R=#+ (FF03>:

    5-=P E#)-9#0" .?+4D-&,7 (FF03> -. 4 G+#$%2 4&@ &%# 4& 1##)-KD#+:

    C%2+>+)7 #% .-6?0-(" +))%) $4&@0-&, ?)%9+@=)+.7 499+..-&, 4 &%&M

    +1-.#+ G+#$%2 %) 1##)-KD#+ -. 0=6?+@ =&@+) 4& M##)-KD#+R))%)

    +19+?#-%& 4. .$%2& -& #$+ #+1# -& )+@ -& a-,=)+ L:N:

    5$+.+ +))%). 4)+ +&9%=+)+@ @=)-&, +1+9=#-%& 4&@ #$+" 4)+9400+@ +Q6+=#-%&.: 5$+)+ -. 4 24" %( $4&@0-&, 0P/0F$"&3. 4&@

    #$-. -. @%&+ #$)%=,$ #$+ #)" 1&2 +Q6+=# (=&9#-%&40-#":

  • 8/17/2019 234844490-Python-Book.pdf

    69/231

    68 Python for Beginners

    68

    ;1+ (3> 0P/0F$ ?)%>-@+. 4 .#)=9#=)+ (%) $4&@0-&, 4&@

    9=.#%6-[-&, +))%) 6+..4,+. 2-#$ #$+ 4-6 %(

    6%)+ 9%6?)+$+&.->+ +))%) #)%=R0+.$%%#-&,:

    C+)+ -. 4& +146?0+ %( $1+ (3> 0P/0F$T

    %4!*) > &?,T,U,Y0

    %":Z

      %4!*)L7!!)$/&[0

      R+" # #$ %4!*)Z

      !"#$%

    )e6)!%Z  !"#$% &'M;#5 #5 7$ )""+"'0

    5$-. 9%@+ 2%=0@ ,->+ #$-. )+.=0#T

    a-,=)+ L:PFT -%=. 9%@+7 4(#+) #$+ ?)%,)46 )+4@. #$+ (-).# 0-&+ 2$+)+ 4 #=?0+

    -. @+904)+@7 -# #$+& +1+9=#+. #$+ 0-&+ =&@+) $1+3 8( #$+ 9%@+ %( #$4# 0-&+ -.

    9%))+9# 4&@ @%+. &%# 9%-& 4&" +))%).7 -# 2-00 R+ &%)6400" +1+9=#+@ 4&@

    #$+ 0-&+ =&@+) 0P/0F$ 2-00 R+ .D-??+@: _#$+)2-.+7 4& +19+?#-%& 2-00 R+

    )4-.+@ 4&@ #$+ ?)%,)46 2-00 +1+9=#+ %&0" #$+ 0-&+ =&@+) 0P/0F$ -&.#+4@ %(

    #$+ %&+ =&@+) $1+5

    5$+)+ 4)+ @-((+)+ #"?+. %( %99=))-&, +))%).: 8& #$+ ?)+>-%=. +146?0+ "%=

    2+)+ -)%@=9+@ #% 4& 4##)-R=#+ +))%)7 2$-9$ -&.-@+ #$+ !"#$%& 04&,=4,+

    -. D&%2& 4. 4& M##)-KD#+R))%):

     /& 6$$1")8$0O11&1 %99=). 2$+& #$+ 2)%&, 4##)-R=#+ %) 6+#$%@

    -. #-+@ #% 4& %Rc+9#: 8& #$+ ?)+>-%=. +146?0+7 #$+ (FF03> 

    6+#$%@ 24. #-+@ #% 4 $8F*0Z R=# #$+ $8F*0 @%+. &%# 49D&%20+@,+

    -# 4. -#. 6+#$%@:

    5$+)+ 6-,$# 40.% R+ @-((+)+ #"?+. %( +))%). .=9$ 4. 4&

    CUR))%): /& RHO11&1 -. 4& +))%) #$4# %99=). 2$+& #$+

    5)" 1&2

    RQ6+=#

  • 8/17/2019 234844490-Python-Book.pdf

    70/231

    69

    Chapter 2: Looping 

    4.3 Try, Except, Finally 

      69

    +1+9=#-%& (4-0. @=+ #% -&?=# %) %=#?=# +))%). .=9$ 4. f(-0+ &%#

    (%=&@g %) [email protected] (=00g:

     /. #$+)+ 4)+ @-((+)+ #"?+. %( +))%). #$4# 64" %99=)7 #$-. ,->+. #$+ &++@#% )4-.+ 6%)+ #$4& %&+ ?%..-R0+ +19+?#-%&: V%= 2-00 @+40 2-#$ 6%)+ #"?+.

    %( +))%). 4. "%= ,4-& +1?+)-+&9+ -& !"#$%&: C+)+ -. 4& +146?0+ 2$+)+ 2+

    $4&@0+ 4& 6$$1")8$0O11&1 4&@ 4& RHO11&1T

    %4!*) > &?,T,U,Y,[0

    %":Z

      %4!*)L7!!)$/&[0

      R+" # #$ %4!*)Z

      !"#$%

    )e6)!% C%%"#84%)i""+" 75 )Z

      !"#$%&Ji""+" R+"=)/Z J , )0

    )e6)!% BAi""+" 75 )Z

      !"#$%&Ja#*) $+% R+4$/ZJ, )0

     /. 4??+&@-&, +0+6+. #% 4 #=?0+ 94=.+. 4& 4##)-R=#+ +))%)7 -& #$+

    ?)+>-%=. +146?0+7 #$+ 0-&+ =&@+) #$+ (-).# +19+?#-%& 2-00 R+ +1+9=#+@ 4&@#$+ )+.=0# 2%=0@ R+T

    a-,=)+ L:PPT

  • 8/17/2019 234844490-Python-Book.pdf

    71/231

    70 Python for Beginners

    70

    2)-##+& 4(#+) #$+ 0P/0F$ .#4#+6+T

    %4!*) > &?,T,U,Y,[0

    %":Z  %4!*)L7!!)$/&[0

      R+" # #$ %4!*)Z

      !"#$%

    )e6)!% C%%"#84%)i""+" 75 )Z

      !"#$%&Ji""+" R+"=)/Z J , )0

    )e6)!% BAi""+" 75 )Z

      !"#$%&Ja#*) $+% R+4$/ZJ, )0

      !"#$%&JM;) )$/J0

    8& #$-. 94.+7 #$+ %=#?=# %( #$-. 9%@+ 2%=0@ R+ .-6-04) #% #$+ %=#?=# %( #$+

    ?)+>-%=. 9%@+ R=# 2-#$ #$+ f5$+ +&@g ?$)4.+ 4@@+@ -& #$+ +&@: C+)+ -. #$+

    %=#?=#T

    a-,=)+ L:PAT 5$+ %=#?=# %( #$+ '"3(**+ 904=.+ -. 4@@+@ 4(#+) #$+ +19+?#-%& +))%) 6+..4,+

    5$+.+ +146?0+. .$%=0@ ,->+ "%= 4 ,%%@ .#4)# -& $4&@0-&, @-((+)+ #"?+.

    %( +))%).: o.-&, #$-. $1+Z 0P/0F$Z 4&@ '"3(**+ ."ơ "%= 2-00 R+ 4R0+ #%

    2)-#+ 6%)+ 9%&.#)=9#->+ 4&@ 9%66=&-94#->+ 9%@+ #$4# 94& 40.% R+ )+4@4&@ =.+@ R" %#$+) =.+).:

  • 8/17/2019 234844490-Python-Book.pdf

    72/231

    71

    Chapter 2: Looping 

    4.4 Break, Continue, and Else

      71

    >6> #.%"BD )'*!-*8%D  "*/ %$+%

    5$+ K)+1T .#4#+6+ -. =.+@ #% #+)6-&4#+ 4 9=))+ 0%%? 4&@ )+.=6++1+9=#-%& 4# #$+ &+1# .#4#+6+: 8# 94& R+ =.+@ -& R%#$ '&1 

    4&@ C:"*0 0%%?.: C+)+ -. 4& +146?0+ %( -#. =.+ -&.-@+ 4 '&1 

    0%%?T

    *#5% > W?,T,U,Y,[,\,_,^,]X

    R+" # #$ *#5%Z

      #R # >> _Z

      8")7H  )*5)Z

      !"#$%

    5$+ %=#?=# %( #$-. 2%=0@ R+T

    a-,=)+ L:PQT 3-.# +0+6+ ?)-+@ =? #% +0+6+ .-1 4. )10(S .+#. -#:

     /. "%= 94& .++ ()%6 #$+ %=#?=#7 #$+ ?)--&, %=# %( #$+ 0-.# +0+6+. +&@.4# +0+6+ .-1 R+94=.+ 2+ 4)+ #+00-&, #$+ ?)%,)46 #% .#%? #$+ +1+9=#-%&

    2$+& #$+ '&1 0%%? )+49$+. #$+ +0+6+ .+>+&: U+ @% #$-. =.-&, #$+

    )10(S .#4#+6+: 8& 94.+ #$+)+ 24. &% +0+6+ .+>+& -& #$+ 0-.#7 #$+ 0*.0 

    .#4#+6+ 2%=0@ R+ +1+9=#+@:

     / )10(S .#4#+6+ 94& 40.% R+ =.+@ -& #$+ .46+ 24" -&.-@+ 4 C:"*0 0%%?:

    C+)+ -. 4& 4@>4&9+@ +146?0+ %( -#. =.4,+T

    f7" > ?@.;#*) f7" K @Z

    !"#$% &'E4"")$% f7*4) Z', f7"0

      f7" d> ?

    *)+1T

    5$+ 0-.# wR)+4D.X

    4(#+) &=6R+) G

  • 8/17/2019 234844490-Python-Book.pdf

    73/231

    72 Python for Beginners

    72

      #R f7" >> [Z

      8")7H

    5-=P My -& #$+ (%=)#$ 0-&+ %( #$+ .46?0+ 9%@+ 4R%>+ -. #$+ 0DK#)16#

    1&2 M..-,&G+ %?+)4#%): 8# 2-00 .=R#)49# P ()%6 #$+ 9=))+

    >40=+ %( B1) 4&@ #$+& 4..-,& #$-. &+2 9409=04#+@ >40=+ #% B1):

    S%#-9+ #$4# $+)+ 2+ 4)+ =.-&, 4 @+9)+6+-&, C:"*0 0%%? #$4# .#4)#. 4# PF

    4&@ +&@. 4# [+)%: 5$+ 0%%? R0%9D ?)-. %=# .%6+ #+1# #%,+#$+) 2-#$ #$+

    >40=+ %( >4)-4R0+ `(1 (%) +49$ -#+)4#-%&: S%)6400"7 #$+ ?)--&, %=# 2%=0@

    ,% ()%6 PF @%2& #% [+)% 4&@ #$+& .#%? -( #$+)+ 24. &% )10(S 904=.+ -&.-@+

    #$+ 0%%?7 R=# -& #$-. 94.+7 #$-. -. &%# #)=+: 5$+ )10(S 904=.+ 2-00 #+)6-&4#+#$+ ?)--&, %=# 4# +0+6+ .-1: C+)+ -. #$+ %=#?=#T

    a-,=)+ L:PLT S=6R+). ?)-+@ %=# ()%6 PF @%2& #% .-1 2$+)+ #$+ )10(S 904=.+ #+)6-&4#+.

    #$+ 0%%?

    _& #$+ %#$+) $4&@7 #$+ 6%-&D+ .#4#+6+ -. =.+@ #% )+#=)& #$+ 9%)%0

    #% #$+ R+,-&&-&, %( #$+ C:"*0 0%%?: 5$+ /&3$"380 .#4#+6+ )+c+9#. 400 #$+

    )+64-&-&, .#4#+6+. -& #$+ 9=))+ -#+)4#-%& %(

    #$+ 0%%? 4&@ 6%>+. #$+ 9%)%0 R49D #% #$+ #%?

    %( #$+ 0%%?: E-6?0" ?=#7 #$+ /&3$"380 .#4#+6+9%-&=+. #$+ +1+9=#-%& %( #$+ R0%9D: C+)+ -. #$+ +146?0+T

    *#5% > W?,T,U,Y,[,\,_,^,]X

    R+" # #$ *#5%Z

      #R # >> _Z

      6+$%#$4)

      )*5)Z

      !"#$% )*5)Z

      !"#$% &'/)R74*% '0

    9%-&D+

  • 8/17/2019 234844490-Python-Book.pdf

    74/231

    73

    Chapter 2: Looping 

    4.4 Break, Continue, and Else

      73

    8& #$-. 94.+ 2+ 4)+ #+00-&, #$+ ?)%,)46 #% 9%-&=+ #$+ +1?)+..-%& +>+& -(

    #$+ +&=6+)4#-%& )+49$+. #$+ +0+6+ .+>+&: 5$+ %=#?=# %( #$+ ?)+>-%=.

    9%@+ 2%=0@ R+T

    a-,=)+ L:PlT ^0+6+. ?)-+@ %=# ()%6 #$+ '&1 0%%? R0%9D

    5$+ 0*.0 .#4#+6+ -#.+0( $4. -#. %2& )%0+ -&.-@+ 4 0%%?: U$+& 0*.0 -. =.+@

    -&.-@+ 4 '&1 0%%?7 -# -. +1+9=#+@ 2$+& #$+ 0%%? $4. +1$4=.#+@ -#+)4#-&,

    #$)%=,$ #$+ 0-.#: U$+& 0*.0 -. =.+@ -&.-@+ 4 C:"*0 0%%?7 #$+ 0*.0 .#4#+6+-. +1+9=#+@ 2$+& #$+ 9%&@-#-%& R+9%6+. (40.+:

    *%#$ )10(S 4&@ /&3$"380 4)+ =.+(=0 (=&9#-%&40-#-+. #$4# ,->+ 6%)+ 9%)%0

    #% #$+ 2%)D (0%2:

  • 8/17/2019 234844490-Python-Book.pdf

    75/231

    74 Python for Beginners

    74

    Q  R

    P: U$4# 2%=0@ #$+ (%00%2-&, 9%@+ @% 2$+& +1+9=#+@t

    7 > @

    .;#*) 7 I ?@@Z

      !"#$% &70

      7 b> T

    4: !)- %=# &=6R+). ()%6 [+)% #% PFF:R: !)- %=# [+)% 4&@ #2%:

    9: !)- %=# +>+& &=6R+). #$4# (400 R+#2++& [+)% 4&@ PFF:

    @: ]-.?04" 4& +))%) 6+..4,+:

    A: U$4# @%+. #$+ 1(390 (=&9#-%&40-#" @%t

    4: m+&+)4#+. 4 0-.#:

    R: ]+(-&+. #$+ 0%%?-&, 6+#$%@:

    9: m+&+)4#+. 4 #=?0+:

    @: S%&+ %( #$+ 4R%>+:

    Q: 5$+ '&1 0%%? -. 9%66%&0" =.+@ #%T

    4: !)- %=# +0+6+.:

    R: ^1+9=#+ .%6+ 9%@+ =-0 4 9%&@-#-%& -. 6+#:

    9: 8#+)4#+ #$)%=,$ 0-.#.7 #=?0+. 4&@ .#)-&,.:

    @: 8#+)4#+ #$)%=,$ -+,+).:

    L: U$4# -. #)=+ 4R%=# $1+ 4&@ 0P/0F$t

    4: 5$+ +1?)+..-%& =&@+) $1+ -. +1+9=#+@ 2$+& #$+)+ -. 4& +19+?#-%&:R: 5$+ +1?)+..-%& =&@+) 0P/0F$ -. +1+9=#+@ 2$+& #$+ +1?)+..-%& =&@+)

    $1+ +1?+)-+&9+. 4& +))%):

    9: S+-#$+) %( #$+ +1?)+..-%&. =&@+) $1+ %) 0P/0F$ 4)+ +1+9=#+@ 2$+& 4&

    RHO11&1 %99=).:

    @: /00 4R%>+ 4)+ (40.+:

    l: U$4# $4??+&. 2$+& #$+ 9%&@-#-%& 4R%>+ #$+ )10(S 9%@+ 0-&+ -. &%# 6+#t

    4: 5$+ /&3$"380 ?4)# -. +1+9=#+@:

    R: 5$+ 0-&+ =&@+) )10(S -. &%# +1+9=#+@:

    9: 5$+ 0-&+ =&@+) )10(S -. +1+9=#+@:@: 5$+ 2$%0+ ?)%,)46 R)+4D.:

    Q  R

  • 8/17/2019 234844490-Python-Book.pdf

    76/231

    75

    Chapter 2: Looping 

    Final Lab Exercises

      75

    )0"1!%. > $ "# % A%.)-+% V%= 64" $4>+ $+4)@ %( #$+ a-R%&499- E+W=+&9+: 8# -. 4 .+W=+&9+ %(

    &=6R+). 2$+)+ #$+ &+1# &=6R+) -. (%=&@ R" 4@@-&, #$+ ?)+>-%=. #2%

    &=6R+). #%,+#$+):

    8# (%00%2. #$-. (%)64#T

    F& ] F& g 7 f F& h4

    2-#$ -&-#-40 >40=+. %( aF y F 4&@ aP y P

    5$-. .+W=+&9+ -. #)=0" .%6+#$-&, 464[-&,7 4&@ -. (%=&@ #$)%=,$%=#

    &4#=)+: *" @+(-&-#-%&7 #$+ (-).# #2% &=6R+). -& #$+ a-R%&499- .+W=+&9+

    4)+ F 4&@ P7 4&@ +49$ .=R.+W=+ &=6R+) -. #$+ .=6 %( #$+ ?)+>-%=.

    #2%: 5$+)+ -. 40.% 4 ,+%6+#)-940 )+?)+.+#-%& %( #$+ .+W=+&9+ #$)%=,$

    4 .?-)40: 5$+ 4)+4 %( +49$ %( #$+ .W=4)+. -. +W=40 #% 4 &=6R+) %( #$+

    .+W=+&9+:

    a-,=)+ L:PGT / m+%6+#)-9 )+?)+.+#-%& %( #$+ a-R%&499- .+W=+&9+

     V%=) #4.D -. #% 9)+4#+ 4 .+W=+&9+ %( &=6R+). (%) #$+ a-R%&499- .+W=+&9+

    4&@ .#%? 4# #$+ (-).# &=6R+) #$4# -. ,)+4#+) #$4& PFF:

  • 8/17/2019 234844490-Python-Book.pdf

    77/231

    76 Python for Beginners

    76

    $ "# +'$8!-'*

    R@ > @R? > ?

    5)% > a7*5)

    .;#*) M"4)Z

      R$ > R@ b R?

      R@ > R?

      R? > R$

      #R &R$ K ?@@0Z

      5)% > M"4)  )*5)Z

      5)% > a7*5)

      !"#$%&R$0

      #R &5)% >> M"4)0Z

      8")7H

  • 8/17/2019 234844490-Python-Book.pdf

    78/231

    77

    Chapter 2: Looping 

    Final Lab Solutions

      77

    5$+ 4R%>+ 9%@+ 24. -&?=# 4&@ +1+9=#+@ -& ^90-?.+ 4. (-0+ (-R%&499-AA:?":

    5$-. -. $%2 #$+ 9%@+ 4&@ -#. %=#?=# 2%=0@ 0%%DT

    a-,=)+ L:PBT 34R .%0=#-%& I=??+) ?4)#K 4&@ #$+ ,+&+)4#+@ a-R%&499- E+W=+&9+ %=#?=#

  • 8/17/2019 234844490-Python-Book.pdf

    79/231

    78 Python for Beginners

    78

    )0"1!%. > +8==".;

    8& #$-. 9$4?#+) "%= 2+)+ -)%@=9+@ #% #$+ 0%%?-&, (=&9#-%&40-#":

    U+ @-.9=..+@ $%2 0%%?-&, 9%6+. #% R+ >+)" -6?%)#4 @=+ #% -#.

    4R-0-#-+. #% )+?+4#+@0" +1+9=#+ 6=0#-?0+ .#4#+6+. @+?+&@+ %&.%6+ 9%&@-#-%&.:

    U+ +1?04-&+@ R%#$ #$+ C:"*0 4&@ #$+ '&1 0%%?: V%= .$%=0@ D&%2

    #$4# #$+ '&1 0%%? -. .?+9-(-9400" =.+@ 2$+& -#+)4#-&, #$)%=,$

    +0+6+. %( 0-.#.7 #=?0+.7 %) .#)-&,.: 5$+ 2$-0+ 0%%? -. 6%)+

    9%&@-#-%&M%)-++@ 4&@ 0+.. +1?0-9-# -& #+)6. %( #$+ +0+6+ -#

    -#+)4#+.:

    U+ 40.% 2+ (=)#$+) 4&@ 0+4)&+@ 4R%=# +))%) $4&@0-&, -& !"#$%&-& #$+ .+&.+ %( $%2 #% ,->+ R+##+) 9%)%0 #% #$+ +&9%=+)+@ +))%).

    >-4 #$+ $1+ 4&@ 0P/0F$ (=&9#-%&40-#":

    a=)#$+)6%)+7 "%= 2+)+ -)%@=9+@ #% #$+ )10(S 4&@ /&3$"380 #%%0.

    #$4# 4)+ =.+@ #% R+##+) 9%)%0 #$+ (0%2 %( #$+ 0%%?-&,:

    8& #$+ &+1# 9$4?#+) 2+ 2-00 R+ #40D-&, 4R%=# 0-.#. 6%)+ -&M@+?#$:

    U+ 2-00 @-.9=.. 0-.# 64&-?=04#-%& -..=+. .=9$ 4. 6%@-("-&,7

    @+0+#-&,7 4@@-&, 4&@ .%)#-&, 0-.# +0+6+. 4&@ 2+ 2-00 ?+)(%)6

    49#-%&. R+#2++& @-((+)+ 0-.#.: V%= 2-00 ,+# 4 R+##+) %>+)400

    =&@+).#4&@-&, %( #$+ =.+(=0&+.. %( 0-.#.:

  • 8/17/2019 234844490-Python-Book.pdf

    80/231

    79

    Chapter 5: Lists

     

    #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

     #$%&'

    (-

    5.1 A Closer Look at Lists   79

    $-+!+)0"1!%. '#2%)!-3%+4

    p V%= 2-00 @++?+& "%=) D&%20+@,+ %( 0-.#. 4&@ #$+-) =.+(=0&+..:

    p V%= 2-00 0+4)& $%2 #% 6%@-(" 0-.#. R" =.-&, #$+ 0-.#M.=??%)#+@ 6+#$%@.

    #$4# 4@@7 6%@-(" %) @+0+#+ +0+6+. ()%6 4 0-.#:

    p V%= 2-00 R+ -)%@=9+@ #% #$+ .%)#-&, (=&9#-%&40-#" %( #$+ 0-.#.:

    ?65 " )$'+%. $''B  "! $-+!+

    U+ @-.9=..+@ *".$. -& #$+ .+9%&@ 9$4?#+) %( #$-. R%%D7 4&@ "%= .$%=0@

    40)+4@" D&%2 $%2 #% 9)+4#+ %&+ R" &%2: C%2+>+)7 ,->+& #$+ $-,$

    -6?%)#4&9+ 4&@ =.4,+ %( 0-.#.7 2+ 4)+ &%2 ,%-&, #% #4D+ 4 90%.+) 0%%D 4#

    #$+6:

     V%= 40)+4@" 0+4)&+@ $%2 #% 499+.. 0-.# +0+6+. =.-&, #$+ -&@+1-&,

    (+4#=)+: C+)+