From c4ea4b85a14f52cf5d86a0f1019bbd739441b1dd Mon Sep 17 00:00:00 2001 From: Adam Crymble Date: Mon, 20 Jan 2020 14:39:12 +0000 Subject: [PATCH 1/6] w to wb --- en/lessons/working-with-web-pages.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/lessons/working-with-web-pages.md b/en/lessons/working-with-web-pages.md index cbf54e0086..9b4a05493d 100755 --- a/en/lessons/working-with-web-pages.md +++ b/en/lessons/working-with-web-pages.md @@ -229,7 +229,7 @@ url = 'http://www.oldbaileyonline.org/browse.jsp?id=t17800628-33&div=t17800628-3 response = urllib.request.urlopen(url) webContent = response.read() -f = open('obo-t17800628-33.html', 'w') +f = open('obo-t17800628-33.html', 'wb') f.write(webContent) f.close ``` From a97bd0c622e86057df5ff3576f114067b6d237ed Mon Sep 17 00:00:00 2001 From: Adam Crymble Date: Mon, 20 Jan 2020 14:40:44 +0000 Subject: [PATCH 2/6] w to wb --- en/lessons/working-with-text-files.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/lessons/working-with-text-files.md b/en/lessons/working-with-text-files.md index d378069eb4..d367ede1e9 100755 --- a/en/lessons/working-with-text-files.md +++ b/en/lessons/working-with-text-files.md @@ -116,7 +116,7 @@ it as `file-output.py`. ``` python # file-output.py -f = open('helloworld.txt','w') +f = open('helloworld.txt','wb') f.write('hello world') f.close() ``` @@ -159,7 +159,7 @@ foobar, Foobar and FOOBAR would all be different variables. When you run this program, the `open` method will tell your computer to create a new text file `helloworld.txt` in the same folder as you have -saved the `file-output.py` program. The *w parameter* says that you intend +saved the `file-output.py` program. The *wb parameter* says that you intend to write content to this new file using Python. Note that since both the file name and the parameter are surrounded by From 756488594c3b7dd78bc86c59fd7e11112667856a Mon Sep 17 00:00:00 2001 From: Adam Crymble Date: Mon, 20 Jan 2020 14:41:44 +0000 Subject: [PATCH 3/6] w to wb --- en/lessons/output-data-as-html-file.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/lessons/output-data-as-html-file.md b/en/lessons/output-data-as-html-file.md index 5636be1c0b..e7c85cce41 100755 --- a/en/lessons/output-data-as-html-file.md +++ b/en/lessons/output-data-as-html-file.md @@ -170,7 +170,7 @@ def wrapStringInHTMLMac(program, url, body): now = datetime.datetime.today().strftime("%Y%m%d-%H%M%S") filename = program + '.html' - f = open(filename,'w') + f = open(filename,'wb') wrapper = """ @@ -203,7 +203,7 @@ def wrapStringInHTMLWindows(program, url, body): now = datetime.datetime.today().strftime("%Y%m%d-%H%M%S") filename = program + '.html' - f = open(filename,'w') + f = open(filename,'wb') wrapper = """ From 59738e80e1211e1d04ca975b42aa3dfcb1adbb1b Mon Sep 17 00:00:00 2001 From: Adam Crymble Date: Mon, 20 Jan 2020 14:42:41 +0000 Subject: [PATCH 4/6] w to wb --- en/lessons/from-html-to-list-of-words-2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/lessons/from-html-to-list-of-words-2.md b/en/lessons/from-html-to-list-of-words-2.md index 5802082604..65e39940e9 100755 --- a/en/lessons/from-html-to-list-of-words-2.md +++ b/en/lessons/from-html-to-list-of-words-2.md @@ -244,7 +244,7 @@ And whenever you’ve needed to read from or write to a file, you’ve used a special file handle like *f* in the example below. ``` python -f = open('helloworld.txt','w') +f = open('helloworld.txt','wb') f.write('hello world') f.close() ``` From 8318601f605ad1923f60be02c94fbf803f25d262 Mon Sep 17 00:00:00 2001 From: Adam Crymble Date: Mon, 20 Jan 2020 14:43:34 +0000 Subject: [PATCH 5/6] w to wb --- en/lessons/creating-and-viewing-html-files-with-python.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/en/lessons/creating-and-viewing-html-files-with-python.md b/en/lessons/creating-and-viewing-html-files-with-python.md index e3318fe9d0..954f617b0e 100755 --- a/en/lessons/creating-and-viewing-html-files-with-python.md +++ b/en/lessons/creating-and-viewing-html-files-with-python.md @@ -83,7 +83,7 @@ three quotation marks (see below). ``` python # write-html.py -f = open('helloworld.html','w') +f = open('helloworld.html','wb') message = """ @@ -133,7 +133,7 @@ want something inside the directory (rather than the directory itself). # write-html-2-mac.py import webbrowser -f = open('helloworld.html','w') +f = open('helloworld.html','wb') message = """ @@ -158,7 +158,7 @@ filename path correctly. import webbrowser -f = open('helloworld.html','w') +f = open('helloworld.html','wb') message = """ From 3b18561b79f5666743172bae3fa53b2f495aa18f Mon Sep 17 00:00:00 2001 From: Adam Crymble Date: Mon, 20 Jan 2020 14:45:59 +0000 Subject: [PATCH 6/6] change w to wb in all files --- assets/python-lessons1.zip | Bin 881 -> 2146 bytes assets/python-lessons2.zip | Bin 12273 -> 12864 bytes assets/python-lessons3.zip | Bin 13034 -> 13035 bytes assets/python-lessons4.zip | Bin 13704 -> 13794 bytes assets/python-lessons5.zip | Bin 17481 -> 17566 bytes assets/python-lessons6.zip | Bin 20164 -> 20256 bytes assets/python-lessons7.zip | Bin 23635 -> 23644 bytes assets/python-lessons8.zip | Bin 24415 -> 24402 bytes assets/python-lessons9.zip | Bin 28646 -> 28739 bytes 9 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/python-lessons1.zip b/assets/python-lessons1.zip index 45c11f0d95588dc0471a4bfb3b26fabc8cfe19f1..543b5772329b244d60cabf134df61ba6a4d5b467 100644 GIT binary patch literal 2146 zcmWIWW@h1H0D*;`k^W!?ln`JLU?`|8$;i*s%}FgT&d)10)DMl|VUSs;8rQpSQ|wnp z5rzPuZV?6!AWZc@)h&-jcYZ-?o^E++QbA&Rs$M}Q$S@Y5VRmaEhK2SW>DvG5-OrR? z$v5P()_&hz6&!l{-k!8>(S`--MRJ!PS9W>*=sb5>M`7yxldL6*o%d%i*;X6Jut7rn z(;xlVlHkl*-7fP0Z+4F5{dWXb0fXu%5QBmN5{RmKCIQHS$O#OF_;_DOXaC>`aOhoI zuNnu!u+YP~Wa zn(Agf>y6DF?;kC+uPWk&dYm6bAUM#ij+x6>l0%$gRTnEN6p@kQ37XUnp4(vntXCuL+U%g%i8XxZyG zuTq}9c$W4oD=G5?D0JC5G?L~sbpQkQDm1hq{?*Av4Q*_Rt~jwQ6)n-R0TUfF5QE|% zwC`*elc7M%`@bTL2hTK2{>UCCc%<2XlEvDz&X+ebdH3xtJQ(VKHasNsx<_jD;dKkV zzjdhHW&C3)*uATW;`9DP`on^%mGq3qBmv+7P)@(cUU=4r8a)}xj z=bAUN!6!57if{c&RNnkF%j)mU^}CKH+5EUYeF39H@uC?U#p?YHMKu$1Uga*-yB{dh z6V$ujXX~wnnT&j)e?DgwU8$`zP`6~a4cujM_s~I+Z%t=+zg_v3Ikg5HG)*5_x9kH3 zixMLwAz}|20!e{DC=LFkfL?k@At!ykc(go(UXBf3|1mO&GUF7Q5F`@?92yEU(H4@=n6uXGGK>-OPj;IT$&Pg8^19 zA;%S{h{NspbIeFViXI+%@kH7I$~(w*NTCGKJ{BZ9u;e7M@Lu*5UcfAT>lV~!f2 zunkD*AEr&RFU0tkZ4l47m+GG@ukn~Uz?+@pt?CA!y$lQtij0%zu)45-OrHFNHPjSj zoZXsDu>szUOrp#PLlNp37~~mvfI7jzVM(JaBg5niOiBtI3@|$byjj^mvdlpE2S~>= Gfp`E~o;r{K diff --git a/assets/python-lessons2.zip b/assets/python-lessons2.zip index 93e07f9f5139c058c1878a7e594eff64e5a1e45b..6b5c51211c689d728c667b4311378e4070337a36 100644 GIT binary patch delta 1735 zcmewue;|b~z?+$civa|F<(LFaZQktx< z#a7Q`$Q;wkz|8kRLP&@uwW;I`LsGPfY7a-@#V3Da_8w_!niI13(4`}bj_jFqW=}|) zQ!O(yvvc<45ar89L?(x1Z$Go>%9cM|*~01G%EYh$;R`mfG6NmP&apFO{@os+FRlVH(4m{-m{u#;Wu?rTku)jm?X<`#v!=x-=03{F zeDEYCWm$ICi>xKtj~=~PmYtZAv>-br^VyrMmruAvwk3dcvvYKOce&a=*+bc$MIIP( zle?9Vv4I#y_a|>uilEfkcPbt%vOv=|TdDFgvVvGDlLeR*>pz+*uzixWY%p=|$adji zjspi>Vq@tW#w2+YRiA*uIySbCh|rsGrAz4go+p2%oY_;-vFox!&glaRT>-%nvm&O< z2%j`_`Y8daM?nAOX5=KLWaMQg2Cc|XNJz-YorNP*tl`1JaU~UNs5EvlTWte|F9#zy zj9Ek&IDpV17nm5Xs2Ov}0DS_&llj#*=~>)8bWr45)7jl`SH5LVtpSH>(?`}V`+)kD zF!gh)X-gL;mZj>JrzRC7rl;x^RDzNp+(<#KFlQX@hC3U7Yy$1Q$}suAhRoz&>KZJ< zpzv4I&|qW*u`Gsi_=EEJPI zjhkYTRf0>0C~a-9BuD{<aomspBF8 z&X?erWMD90-~qD0z+p+_My1Jq`m&Rs>3B0QQ)ZZ)qbzC0!2rp#N5hfrU|b^SiENA_ ziZQ7wU}F~OazS$bI$b>`Z`H~7bX85j85QnTh=ZAc4o1!uS}2AEs(}p)(G$k18I*C5 zvxGc~=6vU^xKU3m}ciUO=_AO9NypW^Up@^>;0Q9j@B>(^b delta 1317 zcmX?*@-dz-z?+$civa`#yd(W5@~Lo0ZP*m+uyIrD|fFVBK*U{NOI6^-(f``Eis1Ss|GKw%Dj0I_%+{38L0h0!r>jgG+GCz}&`bKGi z<{zRCXBfg24>T}aw6(A}&J;C>eZc@Uf}P`wI2-Z(!P}U_U8k%8XfQd2gph zPMI|=KJjf%-n+DCNeRocpQU6h$$s=GYi0JsM`?>*XC-B2zRP%*^DZat0K}lEo#K2Q zljkejvjhXZH~EqBF$iOgN|ZB&rUIRJb+VtD?Bq^$k;%991=)BQRDhwdd4ei0BMXQ% zd7+w8dZ8-NpQ{^ZC>}9YYGKqb;Nj$KGIF$f#$aeaOUSKdM@3QHy0|1qN555Z9$BuP z*>Od6UTJYw0Y)ZAe6Jt6b>YU56Bq7WI>Z7FmPh^8=aYfB;56x~t1SUblNgd6y4H%Ql8`V4*#S?Klb`6?LQ=A-o*r{F z6T{>SK=0J)Ny&hd8z^A_u>k`QkOTvVC5@3vlkXeIPJX2%4pb;M`JbK~v%fM(qlmR$ zL1kzJ2LmX98r?q{4sjF2TE-=Ep2%h@qL|620ycA=3I`iR`{bGWdQ4wcCZE(-H36kS z5JonR3Fr&tG^B-M+;3H|arOqnrr0!tk{LV&F)}d7qi8;+#xS`@U5Sf>0iFuQ4Yimb zs54BSrm1Yk!2nKRXzt-bbB{KPk&K#P_v|thDZ-{16eY-EBZZ{7q4BIH1EQ4Di!Z1w m$;i*s%}FgT&d)100);oMybJJVWdp?$KM?A%GBB*w0`UL_z?+$civa|F=a>Xc?d7WMjFilU*-4oxD_&=0K3nzrRZ7OA zq!$^Fo;-PWi~(pqJ4fd9;0creF!{6C0u9^j&&;a80bM@L&?6TZ0~#8}9Ogi~KzMSp#wInd}}(p`|ZlN%&9ft5N-O%x@8|wzY?Z? z4t4FxxthWVGpH28GFo0Nx}Y$~(h_521+mmX$%5*E07~JLlXUbDNgV2dF!F;Nltem! z!F3gg1H2iTM41t}X|jv15yGxI-5?2YlHar`7Fi`YbG*>imVjjr3`uQ0YZ+8YNTgPH zNBV;^fWDE~q5h>eGVdDEuY zi7l_Kr+7#DgVjR`P6h#n_;_DOXaC>`{m=*=26Lc75dO+2!hkRxq;2vlMqLh=G|>1! zR*<30lfBhD?Ixv6nK5fx(%Wf~Q)W$zPt1Mt;z`=8tfWQRd1+ZovL7X7ta<$+DPhs; zl&n{89zA;X>dljsGYmlU**V1Y&gxJ8!{pC07wGWK{>-cj93a-Lvq!@x`>D%Mu2wdu zz;yZGt^<=lC_AuR1etE4BE!f5Vr4w0p6PE?Jz0c-0kPRqjh7M3n(U?C6-Zf#>;Og& z2O}tim{~*^IDjy1@_$w3$sQWQ91=jw9soTtIay*%pT5;)BHVdUEbN*f)(aJmY_0p5&EqRfb#G}%?x2$7ZQb%P|pX&vZ0WR>7t@lsb? z0+uT));+Z!4~Ca*D4l!FzB0p6@^Aa@A>;R03$1`}Nn F4*-TP`*r{T diff --git a/assets/python-lessons4.zip b/assets/python-lessons4.zip index b73161f685cd19f99ea343710647ca21b6d78dc1..ac6e3fca18ea03c8053ef03f0b2e9eb6f9fd0e22 100644 GIT binary patch delta 1690 zcmeCkew57@;LXg!#Q+AmCIJ)qR5&Wvsm5(ss~R`?Afw#G2t}6r>s8|>)?TsJ$}X{6g zV_F%Q`5s6J39+O$m7HNniZ)U0;V8WLygNJytl_*ge+U-8nrrTs)cCJh<36 z-Q8T74d^O%4!h5JcY1+7xC+Dp-jidQ99WWoKHj{L$%v5+#1hytS&&I#@>>-PyR4L1 zGm>T{y`2_0W!AL##J7)LWMw8~oE; zgn~>})8J)f1F;Tl1&2eVW=074;lQT*$$AGcq&XNt;lj)!!oUH9VZfv|`MtWr-}`pCLvAJ7yfOjGo=?Kt52&#Qz{ z8oHc1UMzl~a0u5CV+6A%7wUFVJp>p)A>gm4hsbR}w}+7*&Y<+x0Z-M8Orp$)Og-69 z-w0t(w!XInC@cQmyeT%o8=(@MPtWOVgC#)mZsY05yR#iGraR(|zX24F*@EAnlXQjP#g} zsDg}CP0H6Rs0@wZU;yQ#9nVqCxw z{Z{51>5rW7wNPBL_djp!=wNWgu(gm9usViiTT{|dU oBS(r9lJh($ delta 1591 zcmb_dT}V@582-+7=1wwgi#aWwI(54LpR-wlOce1VH1S32`cZRS>RCYsvv}*?>nclv(=S$4&Qjk_dU<^y+6;k78(lW zwz|c1HX_e;kIx&;tzdGV#{9pgV}5u^6-PTXG>M~q?`sEId|vM0pN~CAjygMA8XCPv zJFLe$Wa#5e%um)2N{Ldm1O~S$Gn3rLyv-ab>=l(&O%=)qe&*G`LG7A_h`46(8r^U& z&*o1cOd(~y?_ZsBV!cZ+C2FFdVDjm05le9q*ys~=ce+RJ22O{!Mtvh=qn%y7UGcz1 zA{c+P8R!l^4xQQ9co2$*6XTm}!N6KD7zlg|d|l+JdtS?H;1%tq$KEcrPZvrgr3{J4 zf)!)iZkgw_^>hiYWUO+OVn{H%&J#E8?#e^B8Xv%=SHl&968ap9EE$?7b-Aj`p=c7p zu>R(;or{E@wXe=%5r!gl64Oe=;CBKK2b?oFm_@AM!s)<-A!bada>pn0!=HM*y(PLY zV$!iK?WAWO!!;Rj@aWBO->Hzw5Jv%a+PB*ppEWhpD+n|9eA{C+s>KExN*J1wP|%zqC9cRb#Tkdrfj!lbr%rNktICI8A)d|79@@I z*Jj98t4ZJFn@60Ta?-NR#oLduTf`?t2;Paxs~JShCC9n)tUPcS1BDkiA{o9u_tZb^ zAB3o#<*m4ksV>q8;#wuhSXEKdNkTI9Sn*-bbakvsbiM-moobM3^RpPld2X1sP$781 zsyW-hXI5Dxl-8t4Z&z|~vm={7UF)!j;#ClGXr06Y3wQ~oFW}!G;anTi$kufn*=4=r z5W{&X6HbO-IM*dwwFzF4UG{FkbcV(R+tbBnaU3`h#TmP zOd=VXq<5s$%w=+_T3P)sFqs44T@DEHi1asD5X@TCr3^~`1GKs&S)|$f@OuPD8Y}ts E8wy%J=l}o! diff --git a/assets/python-lessons5.zip b/assets/python-lessons5.zip index 3bc6a39a521f57cf42c5ebeec719bb09f8cfe88d..1352ac7ba7e76aade5fe7a154dcbeafc1b87d95b 100644 GIT binary patch delta 2187 zcmcImeQZ-z6n~%XU0VmVU02CkH*nN!>r?jHt+QL#^?7?+*%omdBv4pFt$<#w zs-Id-Z`e)Hxl?Anp4l9ICP8#O=_uZZ`p#dywc+GgH2QAS$y48q#m7#(nK;q3$G3x~ zX(2Mvv~pt1$Zv`qOT;HfZfPQPeK2GT@%3TDN`Vd=LiPD!t$`1Qd7B_~<%ha#e27)(Cn#G>rY|dKdWejcBl#?vB z>Luu2t!qK(NJnS)KeKbWeD$A@)HX7EFm#oUEkxKFJoj}7M)~H&B7axrWnRR{R{J|D z7F$83Xkj7R@2%*)xNYDmrv=`tFv4pN1M@u26L;K4ve+6@cn>a==iWL8UoVL}iDrxh z65k$iJRw%WqvymdctN6Km~&k|HER4ldhUyvPiE-NFG-yj{f!;@QjA}5XMCTt6fRa8 z<}v;Qu6Mf{m~EJY373gvv32nO;s8q&oPCr_(!E+5J{TNFtF{&1t2Y_Bs=t;N|$k zyjnaEc87Q!M;?Lmb*r4x=x0UGW?fb$tH+%f&hA9S-D2^yr_b>N88`AR9Pq6wP=p|z z0vsptH|{ghH!EfSE>4kQ?pCw-4j_WK;l}^|1~U;GivR!s delta 2146 zcmb`HYfKzf6vyxE%{CTb*+2tE@`j6y#^3w+XqFGlaV)0LUkPryv>=4@up z@1FUebN?64aPy}*V@)M5=m}nzs~ZDD#sgCKjp?RXy5J6%I@DkhFdlmA2Upaw#sGWq z!A}H3*-nl%_%mQuxf@no>^0Cgw#>=+E-2f+IG{0{pTlD3^+sJ-dU%-hN z9i{9{n6npncQ42H*ZW(+Z3qY>3t!gHd}I*QC5&)EQ$!lvvKQ`^o|o&B3-8PQOv?(d z+pof}Im?9!)MVQk#fcbAg!F!T_nNQ~p(7}9I5NCoA`-n9s=*>!L0cFnq4;fdfu(Rd zcP+tqW%A+PU!M=Wl$N#1;|y7Hwy>uncb6d;7(I*ex$3WlGDWVJ6;4DcfpPsx!skC=tQ`b zZ!&wi=(Z(>?BzcXSKKa(`k~xH^t&B@@p?S6DGhiW{Bs%tOPZ`FB*Kj5-!0|Db(*N0 ziacVV<+IB-e(GZ$YCS1n^O~7oL7CUV&k6)4bSV%JMXf~8YT$FPDOm~0Q9;bG=*^d% zNIc@;i*=a)D6NONNLW20byy|Jrb10gu;k4)6gXaa<9LG%fG;TXy9i{O!RRwMnSX>) z=jc}|+oPubrKi-4nBMMJ`|=-<5dwog2fr0bpw)oth0H_liL74ANNTx~t5$Er#?(7l zVrCu$RV5C7#g06aOR-N~Sg~J)6>CvR(0>S_(I?tYC=pQWkAp~m65r$`u;{eX&Y)*N zjog{}@vn4MV94<|$QCZ#r7YHnkVU z>Lr3YV>-N6n!|knW2Ko+cF@C!Ta>8$40Zp`7c-*m@I$ms|Cf%ZLs?Lg;zLfJnmr6H ZPo}4$3&;mj)Z+Xn(mN;-GU~#A{{ZDV8}k4F diff --git a/assets/python-lessons6.zip b/assets/python-lessons6.zip index 7e7a1ada457b526dec87cff262a4d1a5750b72f0..640b79301d4c279f7e4890690baa678305c6dcd5 100644 GIT binary patch delta 3472 zcmcInX;4#F6n-x+FFZn^Kq86_yEGOhDhVOTA`mb@2xJ7=WRaZ$E{vtsszuP!ilT+9 zlu|^7w(hpFI8X&tO3^YTbD-LF-O04Oeo!X(_`62v5GdF z`eBHfVu^`LUs+gq^s=?l91Izv^$6!-T3F-;_T$c!<}t(#ra{4Gzs32C6-3+z7-2HB zz}%dfR`_-|mb^~vxSz`H8+jJj+EG|o717#$qocN?rL4OpqR4M2K@hU+{s@Qu4qk(Q zc2jrl&BkZ!?D<=wDg}sV1Tgzx#tp|9GMq#^Gmz_N4@{XE{#mJ&70Kn9~-On7ldm=l1EcI^I`lO`w$#1nIPy;Gm^-FFu3_#%^gye&0);uuA zG-viec)%blNVG`>rM@xVFCSx*b5%8vu!5Lfi2iO?3QnROsi7}>dFW~SU>VyAY%t=3 zhZKi-6{6Q0=Hn#VV45&<$N+@_3Zr0V2g=}6BNv?Bf$N;uIiS*Y$uJIMwj$Avu?$4`zE zX*=k)E}S46+aOo_7crK)du#nC2pjNVmD^m4%~~1EJc|kuvC;x3(eC$GR)`|H5T0(- zX&44Au+K9lKW&&uF$rH|5ScKLSMMtV3vWpjxd|b{#=&&UyG`l1P0z2P#VSKVyHnlw zr`lMd8Bxyu5IY4f?{&2Vv-k;#*Xo8p9zn+~6J9=TT+*AV;kcJuJ- zXtw-aY*8|ThL_$U(ELC4^3(F4I)pj2%yes_XwxmT2UTj1w+D3`RtYU|)jKM`Dgs+_ zOx#wwQ`ukP6ti4(0JuKSy)3PKC%dq9fIV@-O3-g0;j_=xbxN=AetJ3U()nVWurR}Q z)lUmXyTm!sMV=S(C692F;KjNRCo5sd!56~9KTLmIbmeC=7{|@P`$|hT2b-q#stQnm z3h+$6XHuKlnJW-It3kIWM`icS~$G zkB4!4Rt$+*Lu>Asoh!Py_@<06sB$u3;U>W)lRJ73zBZP4f9pi|m!)~DP%R3+wdvdr zbFP9*djvECm9HnIVE|rLuIN$#y#0jQTftPM$d{i)`fY_X<`LQp2(Xp8Xk*376bsO` zf!ACguTp3&={rTMYzh4k8O(fG=I>#rxo@bSsmEPoXiV7j1pvhPd#NuXNBo6&Bk1;D zDyA<0)6vvU4bW*?5#dX>9OG!Z(C3SShXhDcT7h0-K8wPTJ4g=@5*8!|erDQRQy4Av zW8X#T(kMP{9fYb-rm$cfCux7qYOeZv;ILZA_=E*a<<=g;&D+*SQy8u4GdP`{!O2OF z(_aQOW;UAxZX1x07lHso5SeQTk>8k7@L?E}*5EeCV;_6U#~j)tg$GCFLdF>*XulAQ z$~k-_(wmwz2ca%a9HfB~0cL>~i~$af(8NIq$QmRB3W;mR7}zD`ff{3;gu>KHtX~bQ zN_9186@-=5uWzR_jmi$Pqy-%af`mki5Mf%v>e324gH)=9)WIMNhRT(8U+zjlQpg(I zfBIyS4~j|=t$r7paCL1%weLlStHTVl@kX&rWKxL zN*fRx!scrxNyd=U(j#a}_vDy_~c8qoGNc lW@D%YvEL5^N delta 3367 zcmcInc~BEq9Nyh*!UA%MMnH%J%ORLWA`nyvgqs8b6$(@lK}0zeD%MI%3m#RcRVhBJ z647auGE=TWa1R*buss>f7w=}!0)MGcO#;EJ>IKN(IGUya<&qd$jN-m5Sxk!2N<3O|o11EB z0#T=$mXcz$B1Vh4+FVPYhjY*}WUeG7XjO0o*iddD!9w|>6**}UPwUUNC%4#Iik%s> zLKhgWclh%+6V-b&9G3405a;IzF0wK%hllJQ3C^Kp)N=6lkD>3O`jq%vkP@`Ihq&cv z921{E12m4UFaw4}<0+!Y5e$6iq9-UXU^>$UbvD5Z)C4qp-jrI_G)>6wT@t^1l1HBi zJuP=!n_^EuxLgPa|C+Gi;0#*{haaszE}E&O`%w)VXG%#4TK)3!YS3CIivcx(DqMr( z=wZDPm|FUt)s`8tF-|EtX+2+U?2OG#{Bde~vCq--tM@F~eMK)S@%>=dlu*|yrmoGc z?r*(n@9YP`hr=GHC|n2gx^F~yr5{-LwS!XA_R}?ehDv(s+uCONxz}!dl;?E+k9Wt0 z9`8xr{;+mwSesYPxmeAH=%~bR>`S*?s*dgQ@D8|q=JT8%6j$cf94@c>V&&P~fzrN> z1*iurPla~&!5+j5dVs^f9TaK|e|X$qU|5Xf&L5U8RH!TJSy<^7DwIoba#l5!;`8bK zt@(NSj>PtLm9JOT50r~Kx(>~^9X#Q`IjSL`Qr&blp=_&PM{(~3lcYxtN&l>QOZ)v$ zceyUPI^&G;de`FvpIM>&RG$potAzPohL>?fv1)H{q*3){<+lmtcQM2VD=kF%S!tx= zAXQjzvDpNE*cSRWOlyxIH7r=K2{Z~0rxx-2&pEGk6+sh0O{fcvTo)Rm z2RdP29TjGn6G@F18OUgp}GP0%dVdUG=713G#b)%rO60$c^COSTsu(fPv_# zjs|b#SIbGyRSWpUNU7xt41S_OwZ<;IK8BsUm?en9;#JEERw(k96crV$DDw9%$SmN6 zSORtUq*)_ElnX-q(-*5aYt67916IpYy?$V!*42@7P9fQTL-|k#uKQ!`YL$&2Lp*CY zGDp7eO%h1cz(MEcYw%5e$Oy-;s&Hy#Gq7xh&K5uR*mUc4o}?w{(YZTvUMGyY$`Cbd zI_U&_VwHZ++J=mPZxNFP;i>}(a91q@ve{-hXk>K!pb?rMG%G-_3xYwr1823liXl+W zBjM-~)Y diff --git a/assets/python-lessons7.zip b/assets/python-lessons7.zip index df5b955772a87324f098d35af2736ef1270e80f8..af33497cdd6834a173d1d47a9ec4f51a4cbdba3c 100644 GIT binary patch delta 3886 zcmcIneN>ZG7=Pb=@j@^@HYVc6@B^@+3uUZhrez|U7KqTg z=`oI_hFanmUj|Abig}VEDmCi_2Ub)DqN1S&N!|O77xp5jKSZ~4&$-*X=l49n=RWs& ze!E6`4(jKT8d6B6pMSGGnUhdwV_!vnSLT|RY%IPv>PikmaR(dxSpPpUXMW!c7(X)`McFHJOT&Dm_qP#Bp)c5 zJl13w1W0D?v2F&KrrD40LU3TM5bS2DSYilT@dxW1!9lzF+wZZAV}*_6##&*`+~qhM z!E%6xkvr${qa_mp>Rn=4<50LxuGu)b1Mj-!jTzR+i)FbX*h9QZoP&19opHOvJM_*qb*RNIg?_y>WUtaWMXTLt?UhVV* zOGb0;w6Y~J#rm6;qHW%rbS+01C71fTtGe_L*1cJH_sYZ8x@bHdtN6s;-p(CUMFvlc z2|IPLqeQU*%lFMt{Jo{BWk&X__$egL`O3y#ZpMzu!r~~<`}+FqSKON$CuD8@ z?fS`i`6cQv$|oN9VV9&e$XF1z>8~^S-)Qoy*5U(}gKanN_dnNur&Qd&V{-rfkkE69 zZ94`Ygw||p6b9s%_Xkx^%PB4RYU&4~`>joPmjwF+SlVX!ot=xb@qg#MmN1ZQ94Kyh z&-p?&16|2;Ou){jTYc+w5xn73HSsh;26srELA$WtzNcV zx^{!!=!kVfhiHN5*u?A=7UpuUZlPU5(zUGe@Ic^sRj$lTnlG(vT{-^us+G97=~s20 z*52>Dr0h~j9Y_6=;bCF7c20uQzTY!z!*`9>KHXoweZEU(RrSgrcg`!VEJ^>eB4NXC zrs&UW_r2wED{Ie`y3U_mdh-4Z)VWOj-gVcj7sbW$XLYj1XSnxouURC$SGDWN^p4K5 zMHQyLwra}+RG9;Lf}I`c+R~1LWHUc*E-@58Jc=N7)+>tErERIb=Fs!0$nUb9T|V?ds2x_(C{=6_0lHuqIi8lR8xnr5`iIPD96aV_0mGxbV@&~LBAj)QaK zcJ^=lw$S;;lCJeVUmr4O%|Wzs8pIdhfRy&qXps&b)uF=+J3Okr{#CZ^%M@lMCs*^GLwxl~OCH zVg#r^4K&=13fXbyU}OjctcjO0l6iyRu8_P{4AIGdPm#C83mDGs6cVV7CrB9uq z6AYr*f%SSvA*p^wg!qysQ9~XD!tozR;#}49NzDYhA%@Tcm<>D-kl-P+N*sC|q9W@d zP_iX}M$uD20%{fG>Xtx<9_;=AC4MxgA)vq{4WvexttVuM zJW(|^lV%qTZkd8*quHTOZrkHUG`krpNKy!vs@O0`)NrwNi_C4^PNkXKsUc&((80^@gD=+l2*e2TFE delta 3950 zcmcIn4^)#?8-L%u@8+ArP{v@G8=^r3v4WtD43H6j1{)i~WJ677pz-e$F-^3up*_@r*O29PZm={jbKYs#i zWJpj;O#w$#Za_nc=#0L$H1HC&!?w9crAIi*&|R5h9y^8hNHh($(^|UuMqApUt8@#) zN4sWV7MuPmY>ZG%3t$rtl?h)W`DiBqI^G7AqiP-Z14Ot=!E2(aPQmj0LW9wX7=qI~ zX1Gxdz|H?xp@uhmAi^s2L}hGUpDUh{ivYaFE`}FZ*Ny`XqOv$prOi!6uui6ytw3C^^N{JvY)E%9{p!2?>w1B*>#iG{O9U&&)x4zmRur-n$%6-4cwmJ++&Vx_K3SRuzcm(y`Opv-(0?8!n&{p zlFZvVH;g>9bbD0r-TtE`KQ$G^FZitKRn6<`?mW^xY`MOF=w8jxVn2Q+2L zzrs@)f~fK&2z;lo8gwcu6puIWp^bNkN=pi zIS|ZD8V|zM&U{Rwj5a;=YoHUgDL!!qQwG~~4YjExF)gElXAJt_=BC^n>&eu%wL6!V z*YuWBCp!<%5%nE^wm7aR(MR&p$9l zLM#13um2hzDXX*8_Ov~-J@((jSmB@F(yCew`R(Fx#1)8>p6BBV{tk}F^#DpI7ual% zU4UjgdXoOERFFI|b>ClsE4ttjg9W_wX%gg((9$Q~|0cFmoAm(_yPf*K4?FcUq}&f} z_iY^XY1k`)Cz7?;y@6H9a#9Mal6^yvTSCi*W((K|M~s}0UEBN#CpZB7npv^tAO%_s zGSEv+6fgufTZ&n7Y7b2Si%1IkXH5vf775xUHfC2X7gNr`G&(~}AD|c0V2|@75Ens! zA&9FHV%!ae>AZIdy8Ht>D~LCdB57 z?ESW(Do3FPa0-re9YKWvGy(uCQ{~ir5kj3F%3x)v8P$YuMm2$p=>$kau+2#+4038% zjG#Ox=4LH>CFl?ONN&JZgWIF*@o-W6K(ig?mO;+*lz@TRVxX0{Jw;edmtMd(_Cd2jTr_j5*OLdS_rIYBWt1X3WjHa*TsADoEN%fKh;!YOuP zWEX&Euf1CA*d;z*Yr@{A9c$v2A&~N_($X?N) diff --git a/assets/python-lessons8.zip b/assets/python-lessons8.zip index a4085a600898e6d1a914d17d8be1a53677332e8e..a80b0e07b9222ec32f9b7d7a7e886476c3c94f12 100644 GIT binary patch delta 4114 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 ZIvM`8SA?;R(3Q9tzC|1i<3^)T{|9tb%uoOT delta 4154 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 Zh321*avwGU?<6t#d1`7P-9!KY delta 5084 zcmcIoXH-+!7QRVt3JM4TLNQcD5F`}AU_qscGzmxvAYvjlprB6$%Lw)Y*5fE*S^BU5 z5d~~mP##N}XMg+K<(#uOHIEp7K4fT0 z{8{(_4E>Y_M+R-t9Lh_mERQ*NzB~q0GfcKf&2c1e`K4)WYDi=dv9b4;8m5KC#s<23 z22GXPhe_43!57M7(0a$v#lFKLHIU1&Wcn{N)!A24vOysN^zcp@KUP7GW<@U&J z`P*YxRA7}+6%wvGPTp<|FwZh{%>LNfWH;)uLxl#S#d^zQhk6Oq+{YWK>^;($9W(>3r7J`9B!|`u# zVbooX{=?uP>DybdPg~j#-b6MVguWziBjfH~-rA=9&SsHmZ!|ubIx*NNF1LXe(+X@3 za_TSPI`d%sE()}f#dHP-Nq2ur0=#8qi(+43j57Gg;j zS7dI?VoS^G>sPR<653X+u+2PuwR%_Kv!T0JU%3>#VBafcMtWq&Bi-iw+?MK`EM=zT zL7~P7pPmtN$w`~-E{-loLthkEEASfyE%Eb~_B1g*W`GM(CE>AEt+M7C{lxIs^DEYX z3;cIoa~7!0A3f0^K4N6Llqu6Y?C5m%mVcAY{ld;kU*5XCx5_B`Wzm`|^?S}ZJzEec zF0M{`o0-+U&nlX1`|ZoS%Nec92Q2fO&|ZA2qm1Xir193) zv!^vj7ab^DX+4Hz@4MVqV!!v?;>zi|%CN4*quRgD@SCQW`K{}EP0k~e)3r>WLCZd$ z!_Q_-3G?)DJz911`F$_>hNsP6KZ)DlA8Fzj@E*8-@X44b-}A||!J#bSidY)FGyAim z%d~mG@XhVnjvj2afX=e>nDW(IEMP+$59NjLIn&CA^nuQMi%aiDLj1-s(&9_F)_IOmKV?qRu`r>q^O{FE==6ZmezDbKG`JIjugrl;Pvu?5So7&*Du z-fzp7i3Qa+ip$NfM?L*D#klMJQohIemdLFiixWL-Z4X@!a9=suC-jhx0gcx7 zuJ>v#Cf~Mw7;@;;CgtV14T=|8k5{Lm#LlhusDBI-8$?TNg%X5o+kwtVeKz3$=;B89 zBSw8+$c-pQcg@YfKB)%SJ6nB#I@S&&g%qL8#$!hoFQUGGcnM}w07ZP#NYwv1rn81OoS5-_4qqr>M-`i z&%^`Eb^w`7OpGpIw@k#W#6i8xQix^_w5T{UdU3$`Spw#EHfW7E2G$&H4i6(Hlt{UV zb&7+55nKyM1WgraQ32M&GNa@Mv!N030j+XJatIO36tToS45aHDgZh~Rg=m^UiwbtH zgaiXUkWH5sWHTIW(pH0P&`xj{LOj(bAvVNuh2+3McPNVLkh=~6@lb~iA<%A+7bjxL zbP0%|O=<&gv1l_?@^$|4n^lC0F6Vvl(!{{SW;6G>OrEqGtspFue!-ntA;g7ZLkD1CeOT}RXre5aD}SYooX2=qtJk0g@Ac^3Npk` zlcx~_CmCVX?1Mao4fALas8v`B$(D*9j4`TOLuc@WgrGYnMaQ|Xy$#SJwIMR4(QOI_ z%Tg?fETWEzN);(mvq-OuS0RMe4=I#(jGt=5d@vP^PaP&Cn;<%%vx+r3AumG-{gbJ> zMC$|^Qbi0+@CB-pjSgMaL8Xcu{t!;6=0s?Z;$eO5M*R%6RTx5ZSzijWW}AW%DbIw5 zsX892<4B#z5xP^NBMD=jk$Uht>uWc9n5j>;70p->SUOwetm+h~R*)Vwy!3(&jP5n7 z0Xn1Ap`U$0py!hMkQ&oWdryOY3di=Amg-HXQb77t3f46J!7&7dsxrp;dTB)P^GplFUQ9=S{TJ~h0ucZJ