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
x
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+)+