From 4375de9a186db43561514a9ec7c7d2a1b919d7cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 8 Sep 2025 10:12:05 +0300 Subject: [PATCH 01/20] first commit --- TEMA1/report.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 TEMA1/report.md diff --git a/TEMA1/report.md b/TEMA1/report.md new file mode 100644 index 0000000..e69de29 From 984d532b7e487f6e70f42322b9e7e30f96312baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 8 Sep 2025 12:42:29 +0300 Subject: [PATCH 02/20] final commit --- TEMA1/Pr0.py | 5 ++ TEMA1/figure0.PNG | Bin 0 -> 10592 bytes TEMA1/figure1.PNG | Bin 0 -> 12806 bytes TEMA1/figure2.png | Bin 0 -> 68492 bytes TEMA1/figure3.PNG | Bin 0 -> 21024 bytes TEMA1/figure4.PNG | Bin 0 -> 3126 bytes TEMA1/figure5.PNG | Bin 0 -> 1154 bytes TEMA1/figure6.PNG | Bin 0 -> 36201 bytes TEMA1/figure7.PNG | Bin 0 -> 50904 bytes TEMA1/figure8.PNG | Bin 0 -> 81802 bytes TEMA1/protocol.py | 49 +++++++++++ TEMA1/report.md | 211 ++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 265 insertions(+) create mode 100644 TEMA1/Pr0.py create mode 100644 TEMA1/figure0.PNG create mode 100644 TEMA1/figure1.PNG create mode 100644 TEMA1/figure2.png create mode 100644 TEMA1/figure3.PNG create mode 100644 TEMA1/figure4.PNG create mode 100644 TEMA1/figure5.PNG create mode 100644 TEMA1/figure6.PNG create mode 100644 TEMA1/figure7.PNG create mode 100644 TEMA1/figure8.PNG create mode 100644 TEMA1/protocol.py diff --git a/TEMA1/Pr0.py b/TEMA1/Pr0.py new file mode 100644 index 0000000..6ebaab4 --- /dev/null +++ b/TEMA1/Pr0.py @@ -0,0 +1,5 @@ +#Программа по Теме 1 Беженарь +print('Hello') +h=input('Your name=') +import os +os.chdir(r'C:\Users\u522-14\Desktop\Bezhenar\python-labs\TEMA1') diff --git a/TEMA1/figure0.PNG b/TEMA1/figure0.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d3885ccc255f08dd3d2ca85c111ef48ef2f96a53 GIT binary patch literal 10592 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 N{V{k`#6_% literal 0 HcmV?d00001 diff --git a/TEMA1/figure1.PNG b/TEMA1/figure1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8db5b4af12e4a0c635de74afc52a400c73fbc3b1 GIT binary patch literal 12806 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 M)P7IDZuIQ`0Unw4@c;k- literal 0 HcmV?d00001 diff --git a/TEMA1/figure3.PNG b/TEMA1/figure3.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f1851f20d20b59938ab47b77e5a8b38787535fce GIT binary patch literal 21024 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 q@{GN-{3GKlC9N81@ zJF=`|k=t%}*61-W=)y>O;gYPSFm7(QB~do6oHQ0$yGI@G-k}vP^BYg7jMX{ZRIMK!4sqK)X5~L~W^lZQ zFiR^5zl^j4v}v^-OJ8-_ciyUwpM5q&d`z;u8w+cG)%4Vd@}N6D(bAZJI2v}j17yt< zDQ89~GEU#i2tqCz4N;DjtIsX@5W|l4y}2FRh#80y?eq~IBpS?9IsE%*iD{p5+zpG1 zN*z8j%$|l<;c@qytp6ZBzl{;p$Y13Y=;TF(#Cb%yQJ23vrQq&duTu+d#0_#S`q7w& z>GcTm4=+?2wc^`?4v%O8kYOi{n?f;w-Z0`pK=wp$xU!);hls~q?@BEk8*{)%1I9|u zkb8|vcOB&&crH1E0*LF;hen_J~fD23yfKA-1CJcUFK`2~w85fdY))b4jn9WV1< zAM3~+aV=gpW@>A>&opnBPdZFjhGOJVWb=@D_${d_cjzLabr%V4kg5fZP7PuLE9Jm{ zE9eFWDK+&7);iZ_W!IRK@5G$?v0!e)&Fg^I?KNGSi>J)%jzq0`K4WwDLIO5B)XBh? zZDj=TyK4PG*|@iUlHPNn8RtzrNK378OJAH+zE$rJEw}Q09t+j&Iy%=oJ^EZJ^lx5X zir<8aq7h^HUA;!x4zZ;;7!kE)#il~t^VHSR{n8>Tv#HY6JfY#R?rJAL!uA}pcY4ID zw!X?(wfbA$XU$PMd5Dlv!1)S;>Qcy3)CwzA*5{2$glj+e*l8gJT7x`r)TD`*keu@j>rD+Q9} zP&}bF0ADbDv_+h?=uWpfz5=uL%%0d+adG!6tkXvXSOVwl$%Vx}_ZPW(n_iIg&+u_N zBQCi|gH#=)ikXHJbK&A%?tJ$@W#=P*!)zJg+O16dLci4YWa+@?-{ZDv251HaxKCi> zuGH6WW}_!m3VZ64)s!FrYDHkrZ1%NYK%5GVd#C#QoBnG#yGCfeCj{$qv#ec{^qo2Z z1>QZgO&^^{xp$E#F)GQSS(;KWuxqE6h}9^*z6-Q~hzYiea$_%Fhjox8=STJFH}}__ z@pjX!=qpu@#aLvCmyn#n4}ZE>#@O>rhZX>R#uxIk^h%?4jHP>vgd1feE^?hk?AKhm zR??0d8)^%2x(gG!2lNF)bmmk0q4d@78@yl7ivvgv6a;wQ|(E})W(ys6ahY!xky@(8jtotf6=kp%pNBUb@y?WB8KNum$T#WaJGP;L7pH^F+24e|ZPB z%g<$pBdmcw$cer&|3WIjks~7w!HNt<&)8pV$OVC;20P{bmXBT1{7$`Tr#5s`e|8bi zVT~*H1(Jmo>g($Dkx?ikGZ;u>%bDc?H_w=$Kz%jDhnVX*BPpLG1Zk6<;d+)W#Iiw;esJX z6fxH3h0sG#LafLi49m%mhwXUHW&yD?#>IuY=H19(Ju6i@*FcU;42_wOZnh| zb0Z#dswgC>g~LYqTQ8E%29=cK{cOv#BgSJ#Bg|4AP)4*9)0 za$*<7Eqt08&%l;_H4@vgW@{~#ONP}&>t{967s{Z%jp7whje|yAth-2VRb-ctV=wP$ zud_3D>TY?CTH=Sl7TZtATnaJCR8n#UACw(gIOX9q3_HKm;qhhO(X+TGw*fE9XWNeu zu%Ojs#QSKcbP1JnO=;bGr;T{)0sDj>xIyeie$hUnx~PFLza}@)9d5s}Ge; zh2^-&_V6P@Zrn%e5}$SwA9gIG+L&WETtv#ET6uK%>S>WW7fA-SR2^fZA{+igShWkW zepMy6mU_w9HVo#H%p4nHCJq2+g*;X;QvJSa7G;@G@af4|L=3Q**yllo!47X05nenm z5r3S$o@02TjqCDtIey5bP~=0*35?5;YV1$Zwx@pX_`wgH`K~W$NhLAu-YlbR;W4vq z;YmlVUJNg&MrFWzjJrcJ&#xoabz!qohNqDa&!$5UJo&^ATFKM-yC(Ukop?QsMsM!+K`m*k}adHCU^s%4d-^|zo#9jHMEyTZHlq|ci<6XM=d z906fYI%qwytju`!;I%ElM-SW106Gj=+}Gi;Qddw^*ku zFxJHRV_~qSs%0jE>@p~7vWE|wXn#wrWLrGj z#qSIgz2foM09T(?2W6{C-$Q;=khHygeoCRJrXTetKi#7yxuAK({{rK#&6D)-01uMQZtkhm6=90fATi(TWBj&D?Xsx7fru{%e&Bwjck=&!#6?Q;*m)B1}GtJZtcD}-L`iKSHE5iZhgLAR>2e|X% zkfHsb5OC!JzQx^IToA>}WB5s=&viCBm++0)ijsW=o+y@d&AaYmmUG1l-ORJYpwc+e z6HNq8UWe(egD8XRd`lFo3>hCmXntYk)uNfW<>i1m%5(1gQZhtD2}Ws?=#C3Qjy~a8 z#cq|olj3{60)@($gMv!|#jr;NwM#>`{L{Hf;RCbMb(DQ1{Hz`EnBLsI1xy3U@F30* zsLW8ohU@en9Oen`Q}&~6ys2&K_*ft&@*)2Z4RlBQwXtOgu+)2IY%)5q9KcQ9O8}%| zRWEge&oQ}7>b_AFkgJgB28@9j0|!Kg#%*xrAya_~NwQ4t}^;@UG@&M_i4&?^wSf2#BoMy^`-F6B}|rTqpT zytc^X%o0xw-+NyycC^9kA7eQ>;vzqDNgDMkSC&KWQwBO7w??DE- z7WC=#K+;ve7;Vv;!Qp|bY1_tfdO(qg~58$)a~&Y$0~kJD7l=Fwd3o3Luy!JXVJ zzTwiS;UT8GvO2b9*y*e-*1N_%J#^nl)g4}AQ?WM$cYtI%j`NAd1)mVq(B|%@gUM>y z>KUEk^$kQup$%EQrn04!a}x-B#c>p%fqqqd4blO)$82R}uo+T6H408tw}09#I-Tv1 zG_>ScN8QC)8o={w%fu0FTxh1=1ympIJgDdB1w9Ujna@HGTe^cui*i@UPaxJHn3VMhocS&=VChOe=@3|Ji@>t>^P@%gdLr)*+ zCTcR1rH{i?;@3nUt%ghWX`h-}6m&6S?6IE9I~xHXECYzZQRs zsxcvnj0zH;Om87fZ(o#r7Osdhyb!%D6D!(q1?J3L-3h{`9h3^RA9K#Wqg0%XO-5zK zm8vTD=Ut%YP&gL$^e~(wnh!@sOA7uE!h9_irq&bC$pMxf1YL`MbjBG3dFGj&R|e}6 zO>CHEK%uDMJ#4M<76{7@*sqBsh)>SMWaP}omv36#O`QS8Xh&#?(H>F@Y29_%b+sF8 zh;s-lc5-X*oqtAd7w=5Rk?2Spg!U-wk>iZpE{N#y5%@Mvng>492U3&Q+YLcayCcA8 zZM5Ty*qHrtK9Uzr=gGG?MR$j^dO$PidtSWm&HIPBvADI&-re8zFO$6T&rTpN+>HgT z-PbYFburD9tUyzQj@@PrYm8{}c;5RB%a09-H5pGpcZzugPV`IQ?0)yd2yb@b3ug4L zdZ34MFernTX)@HM^0B~u-3awrME5iv%bN%nCUNTDmEb74o%N0tE}|n_>qS_Pr~gC( z^4Nw}-OZ{OE=PEM*DG~vXeDW`Nh!)XhA|sZYL6hXp`YiL6j76ZO)gwteZK3G)$&$X zhNo-#Vf2^z_}CLJw!((9u4hl4VHVUxtd8pW{C+5iVmq%yTvbLzUr=J9xnhVi>YFgB zkVYgOGlq}Xb3{I53vwd_Ar}a4FiT2759IFWi5QHhWKbm+y`U+H#eNdYXD1Qflu^5B z;C=^a;+Pl>zKkIv?m8&?xI*GFG)kt&pCfa8JoF?^bY}`{<3uNd0y2jcX zfPc5cb!U1gHT8ByGk=Y%^1F`w1QK|%Zn5JEk?QWw)>W(!(-TdEb{kY9gX<# z?H3QAah?ZLEGnL0tv()O@f;KLurl_7<^^)t2us(-^hr$(A@F;?qR}X*r=*zi-OTPd zWY0P06zqBp$8(V&o_8BCgg%U%Jl!edO1LIG?eVdsB|ur3Fc}jzt=fybb4eT)KUAfF zhu)>MsLif5o*>MNdXJPkIGRH9N?la78aUtyVfZ^T1p~$C5mF7C3G_f$0qo5p*jY@k zuff_52-ten;sl_zYlmZySm)bX9R(<&PZ)X?YctZq75b?2kmj#MWCt8jq>i<5_Q1iW zIfrcf?H>eF?sE^_?N?AQ6D1X*C2Nbs9K8e)zWrFaa5&PkRP_qkybYcP9ux33b$>K# zX@=Qx(4R~)&+noZm|2ukOos7!jxi*XcRurRXv- zt6UPHg+%`0c{mE<;s`cAmht8$_)LCNNt$Er&H9MyfD)kefkssaa!I=hbTE#y%gD^e z8hnPW{<|_>hw8Xj-a6@=|Bb~-TvEN%h%#$aWz{r4{7x{ZR?a!orUWMczaO+KtQ7HEOJw>a{CsBCv5k zLB5i;`t`(QlRw%qES?m82lA$OZpTj1pdq|Oe>pSRn`jw!-vx-?oD|;1T#ZR>HaSRB zrhB6dm|8J`-qxmBhJ>0|Y=Xh3NYSS+ zc36!%R_O$zJz5}h7nYdgaGvoVcn1rM3jjQ1$0 zco+H;r)l`jw2F9H^;iZrZPSP6bLM!26KaUK9$D?)F|5A#;U_5b+0HV=4zr9GfjgXr zvG(N`D~53&9-Z6TR2RMN%y$i|DAGcdPqHrEg9kC5iOedn%G*>Ek{+`i;_BYCx&P?e zHJry)I@+2MnbffEF@kvSN2klujdtXbo<^%LwNSc!kX|tND46z zf>4}rE2;?ki+5$>Vo~A*qLuH}Za+2JpAF9-JG_QOUMF($*@?n4U<8wR(s&U;_Z^OD?&EiAAO0w;v=L4^pz{W25W3El~s zpLhNEpI}4F9d)0*e<9@+HWf5?(k&Mg`Y}&!UcX-SDVD&0y9MHn38Br$()Pq)GK{ZA zH%(=sLT>xlSQg_>rbooC*~NS_fSbmyDle0!9%h7x(~<)x#M@JkfIsQOw+F{0G>u`S z%}HFpmpuvsl4Fam!G&^z{iMja+^W)@B0G&>$>dluP1%#I5ohIJ-}k9&EMFp8tmkA= zhmH*Dx45vO=fK$05Nm=|82WS@%8D>vZwk|elqGY~nK-amYVSj!?05BFSlNR>;Ow%H z6Y#;Mt`CxH6M(ugwXEIkNY44>a59XKSKX$HON~{)gBMM(+EJS5$>%$A!BB5#6QFCB zu>xCHWwaWpK3$kMve;U`F^q3FP`{+sUFl09Yt{PY#2=F)S1W;8;AMJ<*>msJePyWj zE!MF42nn0^##Ugtvm`QAdtpX3SO@>YK&3r-AyU<5FA=Ym0-`))LUYO)5lLNeV+VeP zSszrc5mzto)CG(5&|t*j<|&0p$IKIrBN4?OxCj5#3I6hXuIpPP_WEA4vDBe;_X_w_SU)*P0fGps=jrF4XI5?{fMK&lv_Lq>ukF$!DSnc>9p)Cx zAQAw$Xc!;&5cmP)F1efykgf*x_ThA3MwD!J-Jq}&f;tRxee;E$=hQe9d6x_I5DD2B z4#FHJ8@#ifH%w@G%A$UP#LFk=TXN8^=ZVD|v)>dZib(qTWkcabEGm`M1_Dci=x)5S zaxaxk2E@ge(4cfEQjYvi%RAAUGyl~-7t6gSknM+z-eXAPXV)0Ht-SXE*-KWtys_T6 zQ{ZfE2xk*vLtOdU7#0xiw*OnG%3{z7gQVdv9Th&-rGq8s^4#6B3EBJH5J`375_M1z zvA)X6bxxUqER)+#gM-kELVpU%>MDHbAv`!&%SBQFQsxBBp?)tzln7rzyqIq=w#K^6 zY_d>RL|s@)Ar?rKzaIYjc-x42apymB z@npnVZOUay#{wqcp2__sliJ-2{0IJNg!zE(tu;~9<-qZfbiHcC%#-B%lrzoaJ0561 zB39BuF|Q#e*EJ(2>{MPf@S28PSIQ>PYJvYfgkPXR;@M%`4 zNp?wlNr<%NH~I(-x+q2#4G40FUz`|tp65!pc!H>!&7G~oiXaCe-et(Ae}=V;0RJpR zl+E_})(?mthaj>D>d@i&$(U*0a>UtGz5L+LJDaCb87`ua@slSHu7Hz`}{5O(K4? zKS>JusM}XgEb@}{5+cge^^VlK5N;oqTpc$b4}}QG{wVc`nuY_?C1$yruzZ2WxLB7p z?ZG(k54*!WHzbd&Kw2{QIZywVPs_vI}?tpznp2ou=Gd^o`??lrl# z88*N^c@`u2JsUaD@`Kybk%;pBGYa{L-$;1Bi|be;ttN&|zM(Zs$h}A45Z57gAxS&3 zdCHENc%m_rgB4A68O^;ERe>sEoPc6MIKdr$-fwx5dy@RA%Q; zyNyMLAtd6>Dpr&CP`&Y%bl?*Ia4>qdmGH&3EabiTbA;w?5;#&=$FiU3jCpG0v7S7! zD@|}VhRRURZKutpDc1ud<=6S>SfxIlW#}v{cC=Qc7RPJu1LbczJ>gD|8<8z)SRV*G zAM8;Xaq#ad$W~hR2B|Z4k+JXDP;+nZTGv%?65gfEKl3chLR==;i^kvE&@p$s2?AWI zi(m?iZVa6rQg~5)0AHZ2F?sq$bMixI;K2*cp|+pQTJXZ$Jq-k0&M*WyPxOm$(&K!U zXI?i93Raz6c+(ww6-LCt#!(zGbniIOjbZ&P0st(S=6F?6qax8+9XAx?o&Wq=`(V** z13Bm=m2FF|4MIfBg7vN)eOI=@c$Eq#p0-?08Y*YgT9SzxZFLLZ-mjqx0x{ji*u6c+ zr0WD#Iv+K+2H%c&>w=qn&QYdwE=z!|NzQW;Lm{^_2pna5Mkdazw0S-NT5(`N0;4a* z-r?R5S6D}R>6Eos!>y_(q)#-?_Qy(UKM__4%;XpW3yQ4ogKtFo3dQHd$M7jeV8A7SQ_q}9jqLTLh+UpK z?F}I3y1v_(O;n{9svZ`yK{qvs+hq=0t?X?39~-*(FoB{VLtOwdKFf);1+( z_a6S%;2*y(@uTDAp(|>4@3!ofbp-^E9KJ}_3zYlg$H0FdzZ@%hZ}xj=LvONs+Tg>4 zvijS@iU)t1=v{z=bkHx0*~;xINzI96?i-7AF8;hpbg)#Bef%B9E6a&~P`ckQQs+7L z_>Uh9`7w)iwM)7$7MfXdhhQucigW$&HDhw{zTLs&A=lHr=G*Zy`NC8 zz4k15V&??8`PWZWJ@;LaiFK`UWp}7aScQSb|L*kvQ;})?D#%l(+@RQXu1FQ*grAwX zd-rC1)z4bkvZXRDbtN>TgP6h9JO5v z*2nt{;WNW8M0f=GBC}i#j|o18gp1Me`MtnF}Lru7*RXrOIZt+9#XCW;fR! z6cksf`WdnUW`l;)s&fNO4@GH`2wi~Ih@(x6LpUl5)T^0$M| z$m1JTsy8x;_s{(d?}E0zR)YR+XSvAjWW&@Q!mao%rKG& z4Uh~?wsb35^x1>s#Mj&^!@A;8!7&OS3w5cu#65RS2lQan24~J6`LnsE1oY-H+w4QF zqEnU_b-l4BySaQcR>>PxKT7RMU0gt+Wz0tYjeR7Y^o04pfcVI2~XDaOZfo3O4$2^&Lu3Rt# z76o)`w@#fyIy&AFGd|dWf}>(43^m%~6B#E^<#+0-HN{cQ;w#Ptu5IW$2z%T+Ou1%TswtR+>vJ714E@mD*NH z30@lB1x!gz5lF4fEN!Wn(??xSofo`Jg~-U96$u)psVE4U;T_yC!5gw4Td$}33x2=z zJ>PTA=e%C${hqBF)uB~VwTriP)Hzrf@dGQWmk+Na%TiFOYrt<-!p^@r`Rw~v=C(s( z#4AcDReM|KK3o23i+IfI2$O?G5uVG>Kkz6?(ATGf`8#7v>KIOSCz4CD79KdIWuLZ( z%bryu=8hI-#MhA>e-BC=Jk|rvmsHC;V~s(`#5tkYrxS}10uwu6aophg?)96}gKz4+ zTU>GMblo3t!4qs2IisBs$)UnS5hb5r8f}=-vwC|%Oks2KrlV?0c1hmba zy>3U9=y$RE;5E)Cl-iOlC7q^7$cfe0`dO`obTBPdSsWhrWfX@L$J}#ebxhR;6HWHbxbKZVON{NDBx8Rez z+ltfc8V=KVD?!L2wKO`hR3Ij)0nXZnyOgn7iy*%7@gYmzv_f%V7KH8wIn-)|q+lFn z`tzQW(=wAhmUQF9N!ys9A*tA8Phv$uPBO;$J}L?SEb@SSmbdLDvy2KFbLhPmx&me$ ztx-1SC`9D;)@1Kbi&yoBcgKM2G-}EMVSH1kbmHAlU*7ftUCFzAUF!r$^9M5d8~a`z zjbU_+`_B`)AQXTdbXrW8-9qy@6Mj=OwlBqsQ5}hBH_v|qIJ#XlC26>I#O|fBX*o%_ zHbx;HCylx`X?FgI(N8BeJtT&TaSxdw;EKF zf1o{TXV@7=*yhQ4g3Ek?3oLb^ZE&qg;_J-k3fFwUplzXy1)3frS+qkF(CF7(mjgaC zZZVjFVcewsVj-K4U~k3vyqKq?RG?~I;r=UwbIqx~?!IOaY$zYO?su^qc|&eIt61^x zg|2L1MZb4Kf=!(PaN*;2jp%;S;TLOg(T2KV&wKaoYkJrql`Ttee*5-v&=K36kx`)+ zJZ{S!^yec%taViucU%1B`m`IN8Vy23rsV2ql~t_|E{c`Vgm3K6-r4TPHqMPRWMLv! z<>8E&Q(^24qA^2NptL{L0MqJ?DrqKfpBu%0en4$3)vb#m<#M(R&)!RPPNec!Z`XhVPoB=uq7ABXD%%o8>z~)xG z8y`uzVD3mt;*^YVq;7EsGG4#VJ*Y?b>l8I0ccG>Rg+D}fVSDC$F9qh<>Q&wCH4TAVvoH zK-Rhu?XjGwgmer@_;fHpX}{@650l=2)Z6>OmHR(k1tPLNOeVk zSH(%PJe*u9-5d(w`ovyOz&+su>n|oPPmKeHh5hEsFEeHx>8RY&_NltIa;@Tv%%uAd-^pk=Nvt*rr#~FJs5HPPW z^9gZ`W0aJ=4<>i49DOWW?Gf>agF$2_lb*kVX9N|X>9~<78kQeM_W6!@cd>{K$le#xVQth$!C{}D#78V#%3W@l!e8UNxy%)<)A3+ZOX;U+pMUA&g#|Ca?LdkfZnq^5B?N z!15QR_NWw@#5{cUk15B)k6~4?c-Lm4Zrz0+7g*W%Wyeb+`E53ebE8ld7-1P`t2if1 z^<}W`5Fks3qYWeSMUzB8$k8qEMFfNfCW#H30lN+!F#8qtdAsxo?|OdQ-D|oV+pD?<%h+-d7-ihH%-;@7K2MIOMS@8ed9od8=K7G6_`KQTMZZ)zQ4zRJ^%pI6+j5_B+84Dqjbw7A!RUU<28v zPq{=XetbB(!BMn2?xdaSw{*D-m5cD`uhH$Nv(AwJybfu2Ur1wS#g!W3atV;k+-33; qV0`^BN-_OEE$k})f`Wn`6?pw)C#*HU@0t3gqURCs!}Z?=r~M7;tQC6z literal 0 HcmV?d00001 diff --git a/TEMA1/figure4.PNG b/TEMA1/figure4.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e39aae2902568cc9a915b44a70955fb490d7d4d5 GIT binary patch literal 3126 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 literal 0 HcmV?d00001 diff --git a/TEMA1/figure5.PNG b/TEMA1/figure5.PNG new file mode 100644 index 0000000000000000000000000000000000000000..9bc212ff1a43b5520d4fcbaa521e56dd25c497e2 GIT binary patch literal 1154 zcmeAS@N?(olHy`uVBq!ia0y~yV4MbIn{coJ$(7M^$AJ`Mage(c!@6@aFM%AEbVpxD z28NCO+M1MG8=jxTlL_NJZS+yL)pV8%Q)H<~^Rc$35%> z!>Y|ryBHYnEb$j!Qu@+p7{X(7}KYQ}!wtxH0;Bv03PD8xryivjOy1KeA@lx{g z@~hbx9^@&+K#AHDZC zByk3VOqW6q`%?3V-*3;o8E3<_`FGA4J3YCnpK~5>Gbl^bX86*zp<~j5p7|_j|A3)~`?eR#|cF_W2K=QvTVT>WjaBUFxXqxqHkE z*#gu0wsLwej0ibj#CuS6{nTC8N*kkHBdpvaZYk(EM7JzWE_9T6bN-d`l1GN&6ZDr{ zT5Pbt*5>`;Zn=Gb^@@)!-cZ5!z1XV#&x$pBrrrPk;g?bThr5=KV;Hc!H!j=daB?pd=}m}?*ppg6dwr{_{kij|@oT)F zZk^V4G%kD3x9_{}&A9&3_Wb&{&!xZ5yqo;i*5k0%?qi!O8NN4dC|R>BqMh}ue!+Df z?~k17v%_O6*B(ujJpAhEbIoUAhP#h{u@!js*8bp;@0llU8h$%QSUnS4mt=U_x$x`; z8SXfs>ZOU6RrNRjm2R%~d9E+J-|E4EzaY19izh}3OiR*hy=lAbxW{o}F$Wj0-pGhc z@A;$JkIuhcTQAfWAMyUH@ae8fhVmAWQwl==sm(pEo+I5KEi86Y@^H|c7xAZZQt~0ouvXQ5=bj1QTmE6+ z)%DSP*k3N6X3+m~R|~6$;IzJ-t*3SR>K<|@f6LI(S#@6LtN%x Ze)$U@!i%DBZU&Yc44$rjF6*2UngGHr1JwWk literal 0 HcmV?d00001 diff --git a/TEMA1/figure6.PNG b/TEMA1/figure6.PNG new file mode 100644 index 0000000000000000000000000000000000000000..73d4a818256c6d4480ad57bb28a61290cca29352 GIT binary patch literal 36201 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

h*YME3n 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 Q;Heu7p00i_>zopr0J0KfC;$Ke literal 0 HcmV?d00001 diff --git a/TEMA3/report.md b/TEMA3/report.md new file mode 100644 index 0000000..210c6bd --- /dev/null +++ b/TEMA3/report.md @@ -0,0 +1,674 @@ +# Отчет по Теме 3 + +Беженарь Алёна Николаевна + +## Способы использования объектов разных типов. + +## 1. Установка рабочего каталога. Создание рабочего протокола. +В оболочке IDLE установила актуальный рабочий каталог, а затем в нём создала рабочий протокол. +![Скриншот созданного рабочего протокола](figure0.png) +## 2. Преобразование простых базовых типов объектов. +### 2.1. Преобразование в логический тип. +Функция bool() позволяет преобразовывать переданные ей объекты в логический тип. +```py +>>> logiz1 = bool(56) # Любое целое число, кроме 0, преобразуется в True +>>> logiz1 + True +>>> logiz2 = bool(0) # 0 преобразуется в False +>>> logiz2 + False +>>> logiz3 = bool("Beta") # Непустая строка преобразуется в True +>>> logiz3 + True +>>> logiz4 = bool("") # Пустая строка преобразуется в False +>>> logiz4 + False +``` +### 2.2. Преобразование объекта в число. +Функция int(<Объект>,[<Система счисления, в которой определен объект>]) позволяет преобразовывать переданные ей объекты в целое десятичное число. +```py +>>> tt1 = int(198.9) # Отбрасывается дробная часть +>>> tt1 + 198 +>>> tt2 = int("-76") # Число – в строке символов, система по умолчанию - десятичная +>>> tt2 + -76 +>>> tt3 = int("B", 16) # Число в шестнадцатеричной системе счисления +>>> tt3 + 11 +>>> tt4 = int("71", 8) # Число в восьмеричной системе счисления +>>> tt4 + 57 +>>> tt5 = int("98.76") # Число, передающееся в виде строки, должно быть целым(int останавливается на первом не-цифровом символе) + Traceback (most recent call last): + File "", line 1, in + tt5 = int("98.76") + ValueError: invalid literal for int() with base 10: '98.76' +``` +Функция float() позволяет преобразовывать переданные ей объекты в вещественное число. +```py +>>> flt1 = float(789) # Преобразование целого числа в вещественное +>>> flt1 + 789.0 +>>> flt2 = float(-6.78e2) +>>> flt2 + -678.0 +>>> flt3 = float("Infinity") # В функцию float() можно передавать строки со значениями inf и NaN +>>> flt3 + inf +>>> flt4 = float("-inf") # Значения inf и NaN являются нерегистрочувствительными +>>> flt4 + -inf +``` +### 2.3. Преобразование десятичных чисел в другие систем счисления. +Функции bin(), oct() и hex() позволяют преобразовать переданные ей десятичные числа в двоичную, восьмеричную и шестнадцатеричную системы счисления соответственно. +```py +>>> hh = 123 +>>> dv1 = bin(hh) +>>> dv1 + '0b1111011' +>>> vos1 = oct(hh) +>>> vos1 + '0o173' +>>> shs1 = hex(hh) +>>> shs1 + '0x7b' +>>> int(dv1, 2) # Обратное преобразование из двоичной системы счисления + 123 +>>> int(vos1, 8) # Обратное преобразование из восьмеричной системы счисления + 123 +>>> int(shs1, 16) # Обратное преобразование из шестнадцатеричной системы счисления + 123 +``` +## 3. Изучение преобразования более сложных базовых типов объектов. +### 3.1. Преобразование в строку символов. +Функция str() позволяет преобразовывать переданные ей объекты в строку символов. +```py +>>> strk1 = str(23.6) # Преобразование вещественного числа в строку символов +>>> strk1 + '23.6' +>>> strk2 = str(logiz3) # Преобразование логической переменной в строку символов +>>> strk2 + 'True' +>>> strk3 = str(["A", "B", "C"]) # Преобразование списка в строку символов +>>> strk3 + "['A', 'B', 'C']" +>>> strk4 = str(("A", "B", "C")) # Преобразование кортежа в строку символов +>>> strk4 + "('A', 'B', 'C')" +>>> strk5 = str({"A" : 1, "B" : 2, "C" : 9}) # Преобразование словаря в строку символов +>>> strk5 + "{'A': 1, 'B': 2, 'C': 9}" +``` +### 3.2. Преобразование в список. +Функция list() позволяет преобразовывать переданные ей объекты в список. +```py +>>> spis1 = list("Строка символов") # Преобразование строки символов в список +>>> spis1 + ['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в'] +>>> spis2 = list((124, 236, -15, 908)) # Преобразование кортежа в список +>>> spis2 + [124, 236, -15, 908] +>>> spis3 = list({"A" : 1, "B" : 2, "C" : 9}) # Преобразование словаря в список +>>> spis3 + ['A', 'B', 'C'] +>>> spis4=list({"A":1,"B":2,"C":9}.values()) #Преобразование словаря в список по значениям +>>> spis4 +[1, 2, 9] +>>> spis5=list({"A":1,"B":2,"C":9}.items()) #Преобразование словаря в список ключи и значения +>>> spis5 +[('A', 1), ('B', 2), ('C', 9)] +``` +### 3.3. Преобразование в кортеж. +Функция tuple() позволяет преобразовывать переданные ей объекты в кортеж. +```py +>>> kort7 = tuple("Строка символов") # Преобразование строки символов в кортеж +>>> kort7 + ('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в') +>>> kort8 = tuple(spis2) # Преобразование списка в кортеж +>>> kort8 + (124, 236, -15, 908) +>>> kort9 = tuple({"A" : 1, "B" : 2, "C" : 3}) # Преобразование словаря в кортеж +>>> kort9 + ('A', 'B', 'C') +``` +### 3.4. Удаление объектов. +С помощью функции del можно удалить объекты из оперативной памяти. +```py +>>>del strk5, kort8 +>>>dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'dv1', 'flt1', 'flt2', 'flt3', 'flt4', 'hh', 'kort7', 'kort9', 'logiz1', 'logiz2', 'logiz3', 'logiz4', 'os', 'shs1', 'spis1', 'spis2', 'spis3', 'spis4', 'spis5', 'strk1', 'strk2', 'strk3', 'strk4', 'tt1', 'tt2', 'tt3', 'tt4', 'vos1'] +``` +Использую операции с приведением типов на практике +```py +>>> fullName = "StepanovAV" +>>> spisok = list(fullName) # Преобразование строки символов в список +>>> spisok + ['B', 'e', 'z', 'h', 'e', 'n', 'a', 'r', 'A', 'N'] +>>> kortezh = tuple(spisok) # Преобразование списка в кортеж +>>> kortezh + ('B', 'e', 'z', 'h', 'e', 'n', 'a', 'r', 'A', 'N') +>>> stroka = str(kortezh) # Преобразование кортежа в строку символов +>>> stroka + "('B', 'e', 'z', 'h', 'e', 'n', 'a', 'r', 'A', 'N')" +``` +## 4. Арифметические операции. +### 4.1 Сложение и вычитание. +```py +>>> 12 + 7 + 90 # Сложение целых чисел + 109 +>>> 5.689e-1 - 0.456 # Вычитание вещественных чисел + 0.11289999999999994 +>>> 23.6 + 54 # Сложение вещественного и целого чисел + 77.6 +>>> 14 - 56.7 + 89 # Сложение и вычитание целых и вещественных чисел + 46.3 +``` +### 4.2. Умножение. +```py +>>> -6.7 * 12 # Умножение вещественного и целого чисел + -80.4 +``` +### 4.3. Деление. +```py +>>> -234.5 / 6 # Деление вещественного и целого чисел + -39.083333333333336 +>>> a = 178 / 45 # Деление целых чисел, но результат всё равно вещественное число +>>> a + 3.9555555555555557 +>>> type(a) + +``` +### 4.4. Деление с округлением вниз. +```py +>>> b = 178 // 45 # 3.956 округляется вниз, т.е. до 3 +>>> b + 3 +>>> type(b) + +>>> c = -24.6 // 12.1 # -2.033 округляется вниз, т.е. до -3 +>>> c + -3.0 +>>> type(c) + +>>> 12 // 6.5 + 1.0 +>>> 12.0 // 5 + 2.0 +``` +### 4.5. Получение остатка от деления. +```py +>>> 148 % 33 # Остаток от деления двух целых чисел + 16 +>>> 12.6 % 3.8 # Остаток от деления двух вещественных чисел + 1.2000000000000002 +>>> 12 % 6.5 + 5.5 +>>> 12.0 % 5 + 2.0 +``` +### 4.6. Возведение в степень. +```py +>>> 14 ** 3 #Целое число возводится в целую степень + 2744 +>>> e = 2.7 ** 3.6 #Вещественное число возводится в вещественную степень +>>> e + 35.719843790663525 +>>> 12 ** 6.5 + 10343751.997175492 +>>> 12.0 ** 5 + 248832.0 +``` +Проведем операции с комплексными числами + +```py +>>> z1 = 1 + 1j +>>> z2 = 2 + 2j +>>> z1 + z2 + (3+3j) +>>> z1 - z2 + (-1-1j) +>>> z1 * z2 + 4j +>>> z1 / z2 + (0.5+0j) +>>> z1 ** 2 + 2j +>>> z1 // 2 # Операция целочисленного деления неприменима к комплексным числам + Traceback (most recent call last): + File "", line 1, in + z1 // 2 + TypeError: unsupported operand type(s) for //: 'complex' and 'int' +>>> z1 % z2 # Операция получения остатка от деления также неприменима к комплексным числам + Traceback (most recent call last): + Fle "", line 1, in + z1 % z2 + TypeError: unsupported operand type(s) for %: 'complex' and 'complex' +``` +При проведении арифметических операций над числами разных типов, получается число, имеющее более сложный тип из использованных при его получении. + +## 5. Операции с двоичными представлениями целых чисел. +### 5.1. Двоичная инверсия. +При использовании двоичной инверсии (~) значение каждого бита в двоичном представлении числа меняется на противоположное. +```py +>>> dv1 = 9 +>>> bin(dv1) + '0b1001' +>>> dv2 = ~dv1 +>>> dv2 + -10 +>>> bin(dv2) + '-0b1010' +``` +### 5.2. Двоичное «И». +Двоичное «И» - логическое умножение, побитовое совпадение двоичных представлений чисел. +```py +>>> 7 & 9 # 0111 & 1001 = 0001 + 1 +>>> bin(7) + '0b111' +>>> bin(9) + '0b1001' +>>> 7 & 8 # 0111 & 1000 = 0000 + 0 +>>> bin(8) + '0b1000' +``` +### 5.3. Двоичное «ИЛИ». +Двоичное «ИЛИ» - логическое сложение, побитовое совпадение двоичных представлений чисел, в котором 0 получается, только если оба сравниваемых разряда равны 0. +```py +>>> 7 | 9 # 0111 | 1001 = 1111 + 15 +>>> bin(7) + '0b111' +>>> bin(9) + '0b1001' +>>> bin(15) + '0b1111' +>>> 7 | 8 # 0111 | 1000 = 1111 + 15 +>>> bin(8) + '0b1000' +>>> 14 | 5 # 1110 & 0101 = 1111 + 15 +>>> bin(14) + '0b1110' +>>> bin(5) + '0b101' +``` +### 5.4. Двоичное «исключающее ИЛИ». +Двоичное «исключающее ИЛИ» - побитовое совпадение двоичных представлений чисел, в котором 0 получается, только если оба сравниваемых разряда имеют одинаковые значения. +```py +>>> 14 ^ 5 # 1110 ^ 0101 = 1011 + 11 +>>> bin(14) + '0b1110' +>>> bin(5) + '0b101' +>>> bin(11) + '0b1011' +``` +### 5.5. Поразрядный сдвиг. +Поразрядный сдвиг двоичного представления числа на заданное количество шагов осуществляется с помощью операторов << и >>. +```py +>>> h = 14 +>>> bin(h) + '0b1110' +>>> g = h << 2 # Сдвиг на два разряда влево (добавление двух 0 в конец двоичного представления числа) +>>> g + 56 +>>> bin(g) + '0b111000' +>>> g1 = h >> 1 # Сдвиг на один разряд вправо (удаление первой цифры двоичного представления числа) +>>> bin(g1) + '0b111' +>>> g1 + 7 +>>> g2 = h >> 2 # Сдвиг на два разряда вправо (удаление двух первых цифр двоичного представления числа) + +>>> bin(g2) + '0b11' +>>> g2 + 3 +``` +Использование операций с двоичным представлением чисел на практике + +```py +>>> a = 0b111010111 +>>> a + 471 +>>> b = 0b100100100 +>>> b + 292 +>>> ~a # Двоичная инверсия + -472 +>>> bin(~a) + '-0b111011000' +>>> a & b # Двоичное «И» + 260 +>>> bin(a & b) + '0b100000100' +>>> a | b # Двоичное «ИЛИ + 503 +>>> bin(a | b) + '0b111110111' +>>> a ^ b # Двоичное «исключающее ИЛИ» + 243 +>>> bin(a ^ b) + '0b11110011' +>>> a >> 3 # Поразрядный сдвиг + 58 +>>> bin(a >> 3) + '0b111010' +``` + +## 6. Операции при работе с последовательностями. +### 6.1. Объединение последовательностей. +Конкатенация - операция объединения(склеивания) двух и более последовательностей одного типа. +```py +>>> "Система " + "регулирования" # Конкатенация двух строк символов + 'Система регулирования' +>>> ["abc", "de", "fg"] + ["hi", "jkl"] # Конкатенация двух списков + ['abc', 'de', 'fg', 'hi', 'jkl'] +>>> ("abc", "de", "fg") + ("hi", "jkl") # Конкатенация двух кортежей + ('abc', 'de', 'fg', 'hi', 'jkl') +``` +### 6.2. Повторение. +С помощью оператора * в Python можно повторять объект заданное количество раз. +```py +>>> "ля-" * 5 # Повторение строки 5 раз + 'ля-ля-ля-ля-ля-' +>>> ["ку", "-"] * 3 # Повторение списка 3 раза + ['ку', '-', 'ку', '-', 'ку', '-'] +>>> ("кис", "-") * 4 # Повторение кортежа 4 раза + ('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-') +>>> signal1 = [0] * 3 + [1] * 99 +>>> signal1 + [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +>>> signal2 = (0,) * 3 + (1,) * 5 + (0,) * 7 +>>> signal2 + (0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0) +``` +### 6.3. Проверка наличия элемента в последовательности. +Наличие элемента в последовательность можно проверить с помощью оператора in. +```py +>>> stroka = "Система автоматического управления" +>>> "автомат" in stroka # Наличие подстроки в строке + True +>>> "ку" in ["ку", "-"] * 3 # Наличие контекста в списке + True +>>> "ля-" in ("abc", "de", "fg", "hi", "jkl") # Наличие контекста в кортеже + False +``` +### 6.4. Подстановка значений в строку. +В строку символов можно подставлять заданные значения с помощью оператора %. +```py +>>> stroka = "Температура = %g %s %g" +>>> stroka % (16, "меньше", 25) + 'Температура = 16 меньше 25' +>>> stroka = "Температура = %(zn1)g %(sravn)s %(zn2)g" +>>> stroka % {"zn1" : 16, "sravn" : "меньше", "zn2" : 25} + 'Температура = 16 меньше 25' +``` +## 7. Оператор присваивания. +### 7.1. Обычное присваивание значения переменной. +Оператор присваивания = позволяет задать определенное значение переменной. + +```py +>>> zz = -12 +>>> zz + -12 +``` +### 7.2. Увеличение/уменьшение значения переменной на заданную величину. +Операторы += и -= позволяют увеличить или уменьшить значение переменной на заданную величину соответственно. +```py +>>> zz += 5 # Увеличение значения на 5 +>>> zz + -7 +>>> zz -= 3 # Уменьшение значения на 3 +>>> zz + -10 +>>> stroka = "Система" +>>> stroka += " регулирования" # Конкатенация строк символов через оператор += +>>> stroka + 'Система регулирования' +``` +### 7.3. Умножение/деление значения переменной на заданную величину. +Операторы /= и *= позволяют разделить или умножить значение переменной на заданную величину соответственно. +```py +>>> zz /= 2 # Деление значения на 2 +>>> zz + -5.0 +>>> zz *= 5 # Умножение значения на 5 +>>> zz + -25.0 +>>> stroka = "ABC " +>>> stroka *= 3 # Повторение строки символов 3 раза +>>> stroka + 'ABC ABC ABC ' +``` +### 7.4. Дополнительные сокращенные арифметические операции. +В Python также существуют дополнительные сокращенные арифметические операции: + +// - целочисленное деление, +% - получение остатка от деления, +** - возведение в степень. +```py +>>> a = 14 +>>> a //= 5 # Целочисленное деление +>>> a + 2 +>>> b = 13 +>>> b %= 6 # Получение остатка от деления +>>> b + 1 +>>> c = 2 +>>> c **= 4 # Возведение в степень +>>> c + 16 +``` +### 7.5. Множественное присваивание. +Присваивать определенные значения можно сразу нескольким переменным за раз. +```py +>>> w = v = 10 +>>> w, v + (10, 10) +>>> n1, n2, n3 = (11, -3, "all") +>>> n1, n2, n3 + (11, -3, 'all') +>>> n1, n2, n3 = "11 -3 all".split(" ") #строка +>>> n1, n2, n3 + ('11', '-3', 'all') +>>> n1, n2, n3 = [11, -3, "all"] +>>> n1, n2, n3 + (11, -3, 'all') +>>> n1, n2, n3 = {1 : 11, 2 : -3, 3 : "all"} +>>> n1, n2, n3 + (1, 2, 3) +>>> n1, n2, n3 = {11, -3, "all"} +>>> n1, n2, n3 + (11, 'all', -3) +``` +## 8.Логические операции. +### 8.1. Основные логические операции. +```py +>>> w == v # Операция равенства + True +>>> w != v # Операция неравенства + False +>>> w += 1 +>>> w < v # Операция меньше + True +>>> w > v # Операция больше + False +>>> w <= v # Операция меньше или равно + True +>>> w >= v # Операция больше или равно + False +``` +### 8.2. Проверка наличия элемента в последовательности или сложном объекте. +Наличие элемента в сложном объекте также можно проверить с помощью оператора in. +```py +>>> mnoz1 = {"pen", "book", "pen", "iPhone", "table", "book"} +>>> "book" in mnoz1 # Проверка наличия элемента в множестве + True +>>> "cap" in mnoz1 + False +>>> dic1 = {"Saratov" : 145, "Orel" : 56, "Vologda" : 45} +>>> "Vologda" in dic1 # Проверка наличия ключа в словаре + True +>>> "Pskov" in dic1 + False +>>> 56 in dic1.values() # Проверка наличия значения в словаре + True +>>> dct1 = {"Institut" : ["AVTI", "IEE", "IBB"], "Depart" : ["UII", "PM", "VMSS", "MM"], "gruppa" : ["A-01-15", "A-02-15"]} +>>> "UII" in dct1["Depart"] # # Проверка наличия значения в словаре по ключу + True +>>> dct1["Depart"][1] == "MM" # Сранение значения словаря по ключу + False +``` +### 8.3. Создание больших логических выражений. +С помощью соединительных слов and, or и not можно создавать большие логические выражения. +```py +>>> a = 17 +>>> b = -6 +>>> (a >= b) and ("book" in mnoz1) and not ("Pskov" in dic1) + True +>>> (a % 2 == 1) and (("cap" in mnoz1) or (145 in dic1.values())) + False +>>> not (b < 0) or (len(mnoz1)== 4) + True +``` +### 8.4. Ссылки переменных на один и тот же объект. +Сравнивать ссылки на объект можно с помощью оператора is. +```py +>>> w = v = 10 #При таком присваивании переменные ссылаются на один и тот же объект в оперативной памяти +>>> w is v + True +>>> w1 = ["A", "B"] +>>> v1 = ["A", "B"] +>>> w1 is v1 + False +``` +В последнем случае результатом сравнения является False, т.к. переменные создавались по отдельности, хоть их знаечния и полностью совпадают, а значит они хранятся в разных ячейках память, следовательно ссылки на них будут разными. + +## 9. Изучение методов объектов. +### 9.1. Методы для работы со строками. +Для работы со строками существуют различные методы, использование которых рассмотрено ниже. +```py +>>> stroka = "Микропроцессорная система управления" +>>>dir(stroka) + ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] + +>>> stroka.find("пр") # Поиск первого вхождения подстроки в строку(Возвращает номер позиции первого вхождения указанного контекста или значение -1) + 5 +>>> stroka.count("с") # Подсчет вхождений подстроки в строку + 4 +>>> stroka.replace(" у", " автоматического у") # Замена всех вхождений подстроки в строку + 'Микропроцессорная система автоматического управления' +>>> spis22 = stroka.split(" ") # Разделение строки на список подстрок по определенному разделителю +>>> spis22 + ['Микропроцессорная', 'система', 'управления'] +>>> stroka.upper() # Перевод строки в верхний регистр + 'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ' +>>> stroka3 = " ".join(spis22) # Создание строки из списка построк с некоторым разделителем +>>> stroka3 + 'Микропроцессорная система управления' +>>> stroka3.partition("с") # Создание кортежа с результатом первого вхождения подстроки в строку + ('Микропроце', 'с', 'сорная система управления') +>>> stroka3.rpartition("с") # Создание кортежа с результатом последнего вхождения подстроки в строку + ('Микропроцессорная си', 'с', 'тема управления') +``` +Метод format() используется для форматирования строк по следующему принципу: + +1. Если в форматированной строке не указан порядок вставки элементов, то они войдут в неё в порядке их передачи в метод, +2. Если в форматированной строке указан порядок вставки элементов, то они войдут в неё в с таким же порядком, +3. Если в форматированной строке поименно указаны позиции вставки элементов, то они войдут в неё в соответствии с ними. +```py +>>> strk1 = "Момент времени {}, значение {}" +>>> strk1.format(1, 89.7) # Случай 1 + 'Момент времени 1, значение 89.7' +>>> strk2 = "Момент времени {1}, значение = {0} : {2}" +>>> strk2.format(36.7, 2, "норма") # Случай 2 + 'Момент времени 2, значение = 36.7 : норма' +>>> strk3 = "Момент времени {num}, значение = {znch}" +>>> strk3.format(znch = 89.7, num = 2) # Случай 3 + 'Момент времени 2, значение = 89.7' +``` +### 9.2. Методы для работы со списками. +Для работы со списками тоже существуют различные методы, принцип работы которых представлен ниже. +```py +>>> spsk = [1, 2, 3, 4, 5, 6] +>>> spsk.pop(2) # Удаление элемента по индексу из списка, с возвращением его значения + 3 +>>> spsk + [1, 2, 4, 5, 6, 7] +>>> spsk.append("c") # Добавление элемента в конец списка +>>> spsk + [1, 2, 4, 5, 6, 7, 'c'] +>>> spsk.insert(2, "a") # Добавление элемента на определенную позицию в списке +>>> spsk + [1, 2, 'a', 4, 5, 6, 7, 'c'] +>>> spsk.count("a") # Подсчет количества соответствующих элементов в списке + 1 +``` +### 9.3. Методы для работы с кортежами. +Для работы с кортежами существует два основных метода, применение которых представлено ниже. +```py +>>> kortezh = (1, 2, 3, 4, 5, 6, 7) +>>> dir(kortezh) + ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] +>>> kortezh.count(3) # Подсчет количества соответствующих элементов в кортеже + 1 +>>> kortezh.index(2) # Вычисление индекса переданного элемента, если он есть в кортеже + 1 +``` +### 9.4. Методы для работы с словарями и множествами. +Методы для работы со словарями рассмотрены в примере ниже. +```py +>>> dictionary = {"A" : 1, "B" : 2, "C" : 3, "D" : 4, "E" : 5} +>>> dictionary.get("D") # Получение значения из словаря по соответствующему ему ключу + 4 +>>> dictionary.items() # Получение списка кортежей всех пар ключ-значений в словаре + dict_items([('A', 1), ('B', 2), ('C', 3), ('D', 4), ('E', 5)]) +>>> dictionary.keys() # Получение списка всех ключей в словаре + dict_keys(['A', 'B', 'C', 'D', 'E']) +>>> dictionary.values() # Получение списка всех значений в словаре + dict_values([1, 2, 3, 4, 5]) +>>> dictionary.pop("C") # Удаление определенной пары ключ-значение из словаря по переданному ключу + 3 +>>> dictionary + {'A': 1, 'B': 2, 'D': 4, 'E': 5} +>>> dictionary.popitem() # Удаление последней пары ключ-значение из словаря + ('E', 5) +>>> dictionary + {'A': 1, 'B': 2, 'D': 4} +>>> dictionary.update({"A" : 5}) # Обновление словаря новыми значениями +>>> dictionary + {'A': 5, 'B': 2, 'D': 4} +>>> dictionary.clear() # Очистка словаря +>>> dictionary + {} +``` +Методы для работы с множествами отчасти схожи с методами словарей, однако среди них также есть и уникальные методы. +```py +>>> mnozhestvo = {"Apple", "Orange", "Peach", "Pear"} +>>> mnozhestvo.add("Banana") # Добавление элемента в множество +>>> mnozhestvo + {'Apple', 'Orange', 'Peach', 'Banana', 'Pear'} +>>> mnozhestvo2 = mnozhestvo.copy() # Копирование множества +>>> mnozhestvo2 + {'Apple', 'Peach', 'Orange', 'Banana', 'Pear'} +>>> mnozhestvo2.remove("Apple") # Удаление элемента из множества +>>> mnozhestvo2 + {'Peach', 'Orange', 'Banana', 'Pear'} +>>> mnozhestvo.difference(mnozhestvo2) # Сравнение двух множеств по содержимому, возвращает разницу + {'Apple'} +>>> mnozhestvo2.clear() # Очистка множества +>>> mnozhestvo2 + set() +``` +## 10.Завершение работы со средой. +Сохранил файлы отчета в своем рабочем каталоге и закончил сеанс работы с IDLE. + + diff --git a/TEMA3/report.py b/TEMA3/report.py new file mode 100644 index 0000000..b569a8e --- /dev/null +++ b/TEMA3/report.py @@ -0,0 +1,481 @@ +#Протокол по ТЕМЕ 3 Беженарь Алёна Николаевна +import os +os.chdir("C:\\Users\\Дружок\\Desktop\\ПОАС\\python-labs\\TEMA3") +logiz1 = bool(56) # Любое целое число, кроме 0, преобразуется в True +logiz1 +True +logiz2 = bool(0) # 0 преобразуется в False +logiz2 +False +logiz3 = bool("Beta") # Непустая строка преобразуется в True +logiz3 +True +logiz4 = bool("") # Пустая строка преобразуется в False +logiz4 +False +tt1 = int(198.9) # Отбрасывается дробная часть +tt1 +198 +tt2 = int("-76") # Число – в строке символов, система по умолчанию - десятичная +tt2 +-76 +tt3 = int("B", 16) # Число в шестнадцатеричной системе счисления +tt3 +11 +tt4 = int("71", 8) # Число в восьмеричной системе счисления +tt4 +57 +tt5 = int("98.76") # Число, передающееся в виде строки, должно быть целым(int останавливается на первом не-цифровом символе) +Traceback (most recent call last): + File "", line 1, in + tt5 = int("98.76") # Число, передающееся в виде строки, должно быть целым(int останавливается на первом не-цифровом символе) +ValueError: invalid literal for int() with base 10: '98.76' +flt1 = float(789) # Преобразование целого числа в вещественное +flt1 +789.0 +flt2 = float(-6.78e2) +flt2 +-678.0 +flt3 = float("Infinity") # В функцию float() можно передавать строки со значениями inf и NaN +flt3 +inf +flt4 = float("-inf") # Значения inf и NaN являются нерегистрочувствительными +flt4 +-inf +hh=123 +dv1=bin(hh) +dv1 +'0b1111011' +vos1 = oct(hh) +vos1 +'0o173' +shs1 = hex(hh) +shs1 +'0x7b' +int(dv1, 2) # Обратное преобразование из двоичной системы счисления +123 +int(vos1, 8) # Обратное преобразование из восьмеричной системы счисления +123 +int(shs1, 16) # Обратное преобразование из шестнадцатеричной системы счисления +123 +strk1 = str(23.6) # Преобразование вещественного числа в строку символов +strk1 +'23.6' +strk2 = str(logiz3) # Преобразование логической переменной в строку символов +strk2 +'True' +strk3 = str(["A", "B", "C"]) # Преобразование списка в строку символов +strk3 +"['A', 'B', 'C']" +strk4 = str(("A", "B", "C")) # Преобразование кортежа в строку символов +strk4 +"('A', 'B', 'C')" +strk5 = str({"A" : 1, "B" : 2, "C" : 9}) # Преобразование словаря в строку символов +strk5 +"{'A': 1, 'B': 2, 'C': 9}" +spis1 = list("Строка символов") # Преобразование строки символов в список +spis1 +['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в'] +spis2 = list((124, 236, -15, 908)) # Преобразование кортежа в список +spis2 +[124, 236, -15, 908] +spis3 = list({"A" : 1, "B" : 2, "C" : 9}) # Преобразование словаря в список +spis3 +['A', 'B', 'C'] +spis4=list({"A":1,"B":2,"C":9}.values()) #Преобразование словаря в список по значениям +spis4 +[1, 2, 9] +spis5=list({"A":1,"B":2,"C":9}.items()) #Преобразование словаря в список ключи и значения +spis5 +[('A', 1), ('B', 2), ('C', 9)] +kort7 = tuple("Строка символов") # Преобразование строки символов в кортеж +kort7 +('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в') +kort8 = tuple(spis2) # Преобразование списка в кортеж +kort8 +(124, 236, -15, 908) +kort9 = tuple({"A" : 1, "B" : 2, "C" : 3}) # Преобразование словаря в кортеж +kort9 +('A', 'B', 'C') +del strk5, kort8 +dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'dv1', 'flt1', 'flt2', 'flt3', 'flt4', 'hh', 'kort7', 'kort9', 'logiz1', 'logiz2', 'logiz3', 'logiz4', 'os', 'shs1', 'spis1', 'spis2', 'spis3', 'spis4', 'spis5', 'strk1', 'strk2', 'strk3', 'strk4', 'tt1', 'tt2', 'tt3', 'tt4', 'vos1'] +fullName = "BezhenarAN" +spisok = list(fullName) # Преобразование строки символов в список +spisok +['B', 'e', 'z', 'h', 'e', 'n', 'a', 'r', 'A', 'N'] +kortezh = tuple(spisok) # Преобразование списка в кортеж +kortezh +('B', 'e', 'z', 'h', 'e', 'n', 'a', 'r', 'A', 'N') +stroka = str(kortezh) # Преобразование кортежа в строку символов +stroka +"('B', 'e', 'z', 'h', 'e', 'n', 'a', 'r', 'A', 'N')" +12+7+90 # Сложение целых чисел +109 +5.689e-1 - 0.456 # Вычитание вещественных чисел +0.11289999999999994 +23.6 + 54 # Сложение вещественного и целого чисел +77.6 +14 - 56.7 + 89 # Сложение и вычитание целых и вещественных чисел +46.3 +-6.7 * 12 # Умножение вещественного и целого чисел +-80.4 +-234.5 / 6 # Деление вещественного и целого чисел +-39.083333333333336 +a = 178 / 45 # Деление целых чисел, но результат всё равно вещественное число +a +3.9555555555555557 +type(a) + +b = 178 // 45 # 3.956 округляется вниз, т.е. до 3 +b +3 +type(b) + +c = -24.6 // 12.1 # -2.033 округляется вниз, т.е. до -3 +c +-3.0 +type(c) + +12 // 6.5 +1.0 +12.0 // 5 +2.0 +148 % 33 # Остаток от деления двух целых чисел +16 +12.6 % 3.8 # Остаток от деления двух вещественных чисел +1.2000000000000002 +12 % 6.5 +5.5 +12.0 % 5 +2.0 +14 ** 3 #Целое число возводится в целую степень +2744 +e = 2.7 ** 3.6 #Вещественное число возводится в вещественную степень +e +35.719843790663525 +12 ** 6.5 +10343751.997175492 +12.0 ** 5 +248832.0 +z1 = 1 + 1j +z2 = 2 + 2j +z1 + z2 +(3+3j) +z1 - z2 +(-1-1j) +z1 * z2 +4j +z1 / z2 +(0.5+0j) +z1 ** 2 +2j +z1 // 2 # Операция целочисленного деления неприменима к комплексным числам +Traceback (most recent call last): + File "", line 1, in + z1 // 2 # Операция целочисленного деления неприменима к комплексным числам +TypeError: unsupported operand type(s) for //: 'complex' and 'int' +z1 % z2 # Операция получения остатка от деления также неприменима к комплексным числам +Traceback (most recent call last): + File "", line 1, in + z1 % z2 # Операция получения остатка от деления также неприменима к комплексным числам +TypeError: unsupported operand type(s) for %: 'complex' and 'complex' +dv1 = 9 +bin(dv1) +'0b1001' +dv2 = ~dv1 +dv2 +-10 +bin(dv2) +'-0b1010' +7 & 9 # 0111 & 1001 = 0001 +1 +bin(7) +'0b111' +bin(9) +'0b1001' +7 & 8 # 0111 & 1000 = 0000 +0 +bin(8) +'0b1000' +7 | 9 # 0111 | 1001 = 1111 +15 +bin(7) +'0b111' +bin(9) +'0b1001' +bin(15) +'0b1111' +7 | 8 # 0111 | 1000 = 1111 +15 +bin(8) +'0b1000' +14 | 5 # 1110 & 0101 = 1111 +15 +bin(14) +'0b1110' +bin(5) +'0b101' +14 ^ 5 # 1110 ^ 0101 = 1011 +11 +bin(14) +'0b1110' +bin(5) +'0b101' +bin(11) +'0b1011' +h = 14 +bin(h) +'0b1110' +g = h << 2 +g +56 +bin(g) +'0b111000' +g1 = h >> 1 # Сдвиг на один разряд вправо (удаление первой цифры двоичного представления числа) +bin(g1) +'0b111' +g1 +7 +g2 = h >> 2 # Сдвиг на два разряда вправо (удаление двух первых цифр двоичного представления числа) +bin(g2) +'0b11' +g2 +3 +a = 0b111010111 +a +471 +b = 0b100100100 +b +292 +~a # Двоичная инверсия +-472 +bin(~a) +'-0b111011000' +a & b # Двоичное «И» +260 +bin(a & b) +'0b100000100' +a | b # Двоичное «ИЛИ +503 +bin(a | b) +'0b111110111' +a ^ b # Двоичное «исключающее ИЛИ» +243 +bin(a ^ b) +'0b11110011' +a >> 3 # Поразрядный сдвиг +58 +bin(a >> 3) +'0b111010' +"Система " + "регулирования" # Конкатенация двух строк символов +'Система регулирования' +["abc", "de", "fg"] + ["hi", "jkl"] # Конкатенация двух списков +['abc', 'de', 'fg', 'hi', 'jkl'] +("abc", "de", "fg") + ("hi", "jkl") # Конкатенация двух кортежей +('abc', 'de', 'fg', 'hi', 'jkl') +### 6.2. Повторение. +"ля-" * 5 # Повторение строки 5 раз +'ля-ля-ля-ля-ля-' +["ку", "-"] * 3 # Повторение списка 3 раза +['ку', '-', 'ку', '-', 'ку', '-'] +("кис", "-") * 4 # Повторение кортежа 4 раза +('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-') +signal1 = [0] * 3 + [1] * 99 +signal1 +[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +signal2 = (0,) * 3 + (1,) * 5 + (0,) * 7 +signal2 +(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0) +stroka = "Система автоматического управления" +"автомат" in stroka # Наличие подстроки в строке +True +"ку" in ["ку", "-"] * 3 # Наличие контекста в списке +True +"ля-" in ("abc", "de", "fg", "hi", "jkl") # Наличие контекста в кортеже +False +stroka = "Температура = %g %s %g" +stroka % (16, "меньше", 25) +'Температура = 16 меньше 25' +stroka = "Температура = %(zn1)g %(sravn)s %(zn2)g" +stroka % {"zn1" : 16, "sravn" : "меньше", "zn2" : 25} +'Температура = 16 меньше 25' +zz = -12 +zz +-12 +zz += 5 # Увеличение значения на 5 +zz +-7 +zz -= 3 # Уменьшение значения на 3 +zz +-10 +stroka = "Система" +stroka += " регулирования" # Конкатенация строк символов через оператор += +stroka +'Система регулирования' +zz /= 2 # Деление значения на 2 +zz +-5.0 +zz *= 5 # Умножение значения на 5 +zz +-25.0 +stroka = "ABC " +stroka *= 3 # Повторение строки символов 3 раза +stroka +'ABC ABC ABC ' +a = 14 +a //= 5 # Целочисленное деление +a +2 +b = 13 +b %= 6 # Получение остатка от деления +b +1 +c = 2 +c **= 4 # Возведение в степень +c +16 +w = v = 10 +w,v +(10, 10) +n1, n2, n3 = (11, -3, "all") +n1,n2,n3 +(11, -3, 'all') +n1, n2, n3 = "11 -3 all".split(" ") #строка +n1, n2, n3 +('11', '-3', 'all') +n1, n2, n3 = [11, -3, "all"] +n1, n2, n3 +(11, -3, 'all') +n1, n2, n3 = {1 : 11, 2 : -3, 3 : "all"} +n1, n2, n3 +(1, 2, 3) +n1, n2, n3 = {11, -3, "all"} +n1, n2, n3 +('all', 11, -3) +w == v # Операция равенства +True +w != v # Операция неравенства +False +v += 1 +w < v # Операция меньше +True +w > v # Операция больше +False +w <= v # Операция меньше или равно +True +w >= v # Операция больше или равно +False +mnoz1 = {"pen", "book", "pen", "iPhone", "table", "book"} +"book" in mnoz1 # Проверка наличия элемента в множестве +True +"cap" in mnoz1 +False +dic1 = {"Saratov" : 145, "Orel" : 56, "Vologda" : 45} +"Vologda" in dic1 # Проверка наличия ключа в словаре +True +"Pskov" in dic1 +False +56 in dic1.values() # Проверка наличия значения в словаре +True +dct1 = {"Institut" : ["AVTI", "IEE", "IBB"], "Depart" : ["UII", "PM", "VMSS", "MM"], "gruppa" : ["A-01-15", "A-02-15"]} +"UII" in dct1["Depart"] # # Проверка наличия значения в словаре по ключу +True +dct1["Depart"][1] == "MM" # Сранение значения словаря по ключу +False +a = 17 +b = -6 +(a >= b) and ("book" in mnoz1) and not ("Pskov" in dic1) +True +(a % 3 == 1) and (("cap" in mnoz1) or (45 in dic1.values())) +False +not (b < 0) or (len(mnoz1)== 4) +True +w=v=10 #При таком присваивании переменные ссылаются на один и тот же объект в оперативной памяти +w is v +True +w1 = ["A", "B"] +v1 = ["A", "B"] +w1 is v1 +False +stroka = "Микропроцессорная система управления" +dir(stroka) +['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] +stroka.find("пр") # Поиск первого вхождения подстроки в строку +5 +stroka.count("с") # Подсчет вхождений подстроки в строку +4 +stroka.replace(" у", " автоматического у") # Замена всех вхождений подстроки в строку +'Микропроцессорная система автоматического управления' +spis22 = stroka.split(" ") # Разделение строки на список подстрок по определенному разделителю +spis22 +['Микропроцессорная', 'система', 'управления'] +stroka.upper() # Перевод строки в верхний регистр +'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ' +stroka3 = " ".join(spis22) # Создание строки из списка построк с некоторым разделителем +stroka3 +'Микропроцессорная система управления' +stroka3.partition("с") # Создание кортежа с результатом первого вхождения подстроки в строку +('Микропроце', 'с', 'сорная система управления') +stroka3.rpartition("с") # Создание кортежа с результатом последнего вхождения подстроки в строку +('Микропроцессорная си', 'с', 'тема управления') +strk1 = "Момент времени {}, значение {}" +strk1.format(1, 89.7) # Случай 1 +'Момент времени 1, значение 89.7' +strk2 = "Момент времени {1}, значение = {0} : {2}" +strk2.format(36.7, 2, "норма") # Случай 2 +'Момент времени 2, значение = 36.7 : норма' +strk3 = "Момент времени {num}, значение = {znch}" +strk3.format(znch = 89.7, num = 2) # Случай 3 +'Момент времени 2, значение = 89.7' +spsk = [1, 2, 3, 4, 5, 6] +spsk.pop(2) # Удаление элемента по индексу из списка, с возвращением его значения 3 +3 +spsk +[1, 2, 4, 5, 6] +kortezh = (1, 2, 3, 4, 5, 6, 7) +dir(kortezh) +['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index'] +kortezh.count(3) # Подсчет количества соответствующих элементов в кортеже +1 +kortezh.index(2) # Вычисление индекса переданного элемента, если он есть в кортеже +1 +dictionary = {"A" : 1, "B" : 2, "C" : 3, "D" : 4, "E" : 5} +dictionary.get("D") # Получение значения из словаря по соответствующему ему ключу +4 +dictionary.items() # Получение списка кортежей всех пар ключ-значений в словаре +dict_items([('A', 1), ('B', 2), ('C', 3), ('D', 4), ('E', 5)]) +dictionary.keys() # Получение списка всех ключей в словаре +dict_keys(['A', 'B', 'C', 'D', 'E']) +dictionary.values() # Получение списка всех значений в словаре +dict_values([1, 2, 3, 4, 5]) +dictionary.pop("C") # Удаление определенной пары ключ-значение из словаря по переданному ключу +3 +dictionary +{'A': 1, 'B': 2, 'D': 4, 'E': 5} +dictionary.popitem() # Удаление последней пары ключ-значение из словаря +('E', 5) +dictionary +{'A': 1, 'B': 2, 'D': 4} +dictionary.update({"A" : 5}) # Обновление словаря новыми значениями +dictionary + +{'A': 5, 'B': 2, 'D': 4} +dictionary.clear() # Очистка словаря +dictionary +{} +mnozhestvo = {"Apple", "Orange", "Peach", "Pear"} +mnozhestvo.add("Banana") # Добавление элемента в множество +mnozhestvo +{'Orange', 'Pear', 'Peach', 'Banana', 'Apple'} +mnozhestvo2 = mnozhestvo.copy() # Копирование множества +mnozhestvo2 +{'Orange', 'Pear', 'Peach', 'Banana', 'Apple'} +mnozhestvo2.remove("Apple") # Удаление элемента из множества +mnozhestvo2 +{'Orange', 'Pear', 'Peach', 'Banana'} +mnozhestvo.difference(mnozhestvo2) # Сравнение двух множеств по содержимому, возвращает разницу +{'Apple'} +mnozhestvo2.clear() # Очистка множества +mnozhestvo2 +set() diff --git a/TEMA3/task.md b/TEMA3/task.md new file mode 100644 index 0000000..3015da8 --- /dev/null +++ b/TEMA3/task.md @@ -0,0 +1,54 @@ +# Общее контрольное задание по теме 3 + +Беженарь Алёна, А-02-23 + +## Задание + +Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: +* Преобразовать восьмеричное значение 45 в целое число. +* Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка? +* Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4. +* Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево. +* Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка. +* Определить список методов, доступных у ранее созданного словаря D. Поочередно использовать его методы keys и values, определить, что можно получить с применением этих методов. +* Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список. + +## Решение + +```py +>>> znch = int("45", 8) #1 пункт +>>> znch + 37 +>>> D = {"усиление" : 23, "запаздывание" : 12, "постоянная времени" : 78} #2 пункт +>>> D_keys, D_values = list(D.keys()), list(D.values()) +>>> D_keys + ['усиление', 'запаздывание', 'постоянная времени'] +>>> D_values + [23, 12, 78] +>>> D_tuple = tuple(zip(D_keys, D_values)) # Кортеж, в отличие от списка, является неизменяемым объектом +>>> D_tuple + (('усиление', 23), ('запаздывание', 12), ('постоянная времени', 78)) +>>> ((1768 // 24.8) % 3) ** 2.4 #3 пункт + 5.278031643091577 +>>> (~(13 & 27) ^ 14) << 2 #4 пункт + -32 +>>> list1 = ["колебат",] * 4 #5 пункт +>>> list1 + ['колебат', 'колебат', 'колебат', 'колебат'] +>>> "аткол" in list1[1] + list1[2] + True +>>> dir(D) #6 пункт + ['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] +>>> D.keys() + dict_keys(['усиление', 'запаздывание', 'постоянная времени']) # Список ключей словаря +>>> D.values() + dict_values([23, 12, 78]) # Список значений словаря +>>> string = "Создать объект - символьную строку с текстом данного предложения." #7 пункт +>>> string_list = string.split(" ") +>>> string_list[string_list.index("-")] = "," +>>> string_list + ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения.'] +>>> string_list.remove("данного") +>>> string_list + ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения.'] +``` \ No newline at end of file From ce6b35e5ef95f7b813e3b2418e5064f5d8d51e85 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sat, 4 Oct 2025 22:35:13 +0300 Subject: [PATCH 14/20] =?UTF-8?q?new:=20=D0=94=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=20=D0=B8=20=D0=9E?= =?UTF-8?q?=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA3/report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TEMA3/report.md b/TEMA3/report.md index 210c6bd..7ce10e4 100644 --- a/TEMA3/report.md +++ b/TEMA3/report.md @@ -669,6 +669,6 @@ set() ``` ## 10.Завершение работы со средой. -Сохранил файлы отчета в своем рабочем каталоге и закончил сеанс работы с IDLE. +Сохранила файлы отчета в своем рабочем каталоге и закончила сеанс работы с IDLE. From 77110b6015ff8d4d0de34426ec26edc0056307dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 6 Oct 2025 09:27:28 +0300 Subject: [PATCH 15/20] =?UTF-8?q?new:=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=20=D0=B8=20=D0=9E?= =?UTF-8?q?=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA3/report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TEMA3/report.md b/TEMA3/report.md index 7ce10e4..da4191b 100644 --- a/TEMA3/report.md +++ b/TEMA3/report.md @@ -141,7 +141,7 @@ ``` Использую операции с приведением типов на практике ```py ->>> fullName = "StepanovAV" +>>> fullName = "BezhenarAN" >>> spisok = list(fullName) # Преобразование строки символов в список >>> spisok ['B', 'e', 'z', 'h', 'e', 'n', 'a', 'r', 'A', 'N'] From 1a6b527000516adca81fbcd1f30fed2c0e0c8f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 6 Oct 2025 09:46:34 +0300 Subject: [PATCH 16/20] =?UTF-8?q?edir:=20=D0=94=D0=BE=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=202.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA3/report.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/TEMA3/report.md b/TEMA3/report.md index da4191b..ab427b6 100644 --- a/TEMA3/report.md +++ b/TEMA3/report.md @@ -23,6 +23,11 @@ >>> logiz4 = bool("") # Пустая строка преобразуется в False >>> logiz4 False +>>> type(logiz1);type(logiz2);type(logiz3);type(logiz4) + + + + ``` ### 2.2. Преобразование объекта в число. Функция int(<Объект>,[<Система счисления, в которой определен объект>]) позволяет преобразовывать переданные ей объекты в целое десятичное число. From 2eeaba606b51036e39517411bebc98819c1caa44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 6 Oct 2025 12:17:17 +0300 Subject: [PATCH 17/20] =?UTF-8?q?new:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=98=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA3/test.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 TEMA3/test.md diff --git a/TEMA3/test.md b/TEMA3/test.md new file mode 100644 index 0000000..e9d2f2e --- /dev/null +++ b/TEMA3/test.md @@ -0,0 +1,85 @@ +# Тест по модулю 1. Вариант 9 + +Беженарь Алёна, А-02-23 + +## Задание + +1) В каком месте инструкции и как можно написать комментарий? + +2) Создайте объект-список с 10 элементами - русскоязычными названиями продуктов. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта. + +3) Удалите из списка 5 и 6 элементы, считая от первого. Определите число оставшихся элементов. Замените 4-й элемент на "трюфель". Отобразите получившийся объект. + +4) Преобразуйте список в кортеж. Отобразите полученный объект. Создайте новый кортеж с удалением из ранее созданного кортежа элемента "трюфель". + +5) Напишите инструкцию проверки наличия в списке элемента "молоко". Если его нет в списке, добавьте его туда, иначе - удалите его из списка. + +## Решение + +### Пункт 1 + +В каком месте инструкции и как можно написать комментарий? + +### Ответ + +Комментарий можно написать после инструкции, но обязательно после символа #. +Всё что будет после этого символа до конца строки будет считаться комментарием. Если же написать символ # перед инструкцией, то при запуске на выполнение она не выполнится. +Также частой практикой является написание комментария на строке выше(перед инструкцией, но не на одной с ней строках). + +### Пункт 2 + +Создайте объект-список с 10 элементами - русскоязычными названиями продуктов. +Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта. + + +```py +>>> spisok=["огурец", "сыр", "хлеб", "сухарики", "лосось", "лук", "сметана", "молоко", "колбаса", "шоколад"] +>>> type(spisok) + +>>> dir(spisok) + ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] +``` + +### Пункт 3 + +Удалите из списка 5 и 6 элементы, считая от первого. Определите число оставшихся элементов. Замените 4-й элемент на "трюфель". Отобразите получившийся объект. + + +```py +>>> spisok.remove(spisok[5]) #удаляем 6 элемент(spisok[5] т.к. нумерация индексов начинается с 0) +>>> spisok.remove(spisok[4]) #удаляем 5 элемент(spisok[4] т.к. нумерация индексов начинается с 0) +>>> spisok #Убеждаемся в том, что удалили 5 и 6 элементы (лосось и лук) + ['огурец', 'сыр', 'хлеб', 'сухарики', 'сметана', 'молоко', 'колбаса', 'шоколад'] +>>> len(spisok) #определяем кол-во оставшихся элементов + 8 +>>> spisok[3] = "трюфель" #Меняем 4 элемент списка на "трюфель" +>>> spisok #Отображаем получившийся объект и убеждаемся в изменении + ['огурец', 'сыр', 'хлеб', 'трюфель', 'сметана', 'молоко', 'колбаса', 'шоколад'] +``` + +### Пункт 4 + +Преобразуйте список в кортеж. Отобразите полученный объект. Создайте новый кортеж с удалением из ранее созданного кортежа элемента "трюфель". + + +```py +>>> kortez = tuple(spisok) #Преобразуем список в кортеж +>>> kortez + ('огурец', 'сыр', 'хлеб', 'трюфель', 'сметана', 'молоко', 'колбаса', 'шоколад') +>>> new_kortez=kortez[0:3]+kortez[4:] #Т.к. кортеж неизменяем, то создаем новый кортеж без трюфеля путем переопределения кортежа(берем все элементы кроме трюфеля) +>>> new_kortez + ('огурец', 'сыр', 'хлеб', 'сметана', 'молоко', 'колбаса', 'шоколад') + +``` + +### Пункт 5 + +Напишите инструкцию проверки наличия в списке элемента "молоко". Если его нет в списке, добавьте его туда, иначе - удалите его из списка. + +```py +>>> "молоко" in spisok #Проверяем наличие в списке элемента "молоко" + True +>>> spisok.remove("молоко") #Удаляем элемент молоко, т.к. результатом прошлой инструкции было True, а значит молоко есть и его по условию задания надо удалить +>>> spisok + ['огурец', 'сыр', 'хлеб', 'трюфель', 'сметана', 'колбаса', 'шоколад'] +``` From 17d5d79d05643954331d376b9bb6d7a8c7497f1d Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sat, 18 Oct 2025 14:45:44 +0300 Subject: [PATCH 18/20] new:added report and task --- TEMA4/pictures/Ris1.png | Bin 0 -> 19992 bytes TEMA4/pictures/Ris2.png | Bin 0 -> 15425 bytes TEMA4/pictures/Ris3.png | Bin 0 -> 7025 bytes TEMA4/pictures/Ris4.png | Bin 0 -> 26203 bytes TEMA4/pictures/Ris5.png | Bin 0 -> 8485 bytes TEMA4/report.md | 289 ++++++++++++++++++++++++++++++++++++++++ TEMA4/task.md | 52 ++++++++ 7 files changed, 341 insertions(+) create mode 100644 TEMA4/pictures/Ris1.png create mode 100644 TEMA4/pictures/Ris2.png create mode 100644 TEMA4/pictures/Ris3.png create mode 100644 TEMA4/pictures/Ris4.png create mode 100644 TEMA4/pictures/Ris5.png create mode 100644 TEMA4/report.md create mode 100644 TEMA4/task.md diff --git a/TEMA4/pictures/Ris1.png b/TEMA4/pictures/Ris1.png new file mode 100644 index 0000000000000000000000000000000000000000..ff312d381f1c0d2c7a199dd9ee13f2eadbb3e001 GIT binary patch literal 19992 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 literal 0 HcmV?d00001 diff --git a/TEMA4/pictures/Ris3.png b/TEMA4/pictures/Ris3.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2a91ca0bf33d21355cc4f9a9ade0467b709a7d GIT binary patch literal 7025 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 Hmv8(RinGNr literal 0 HcmV?d00001 diff --git a/TEMA4/pictures/Ris4.png b/TEMA4/pictures/Ris4.png new file mode 100644 index 0000000000000000000000000000000000000000..ac856a51f7826ffc3e77e999ce83edca9c17866e GIT binary patch literal 26203 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 fQ9uv^ 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 literal 0 HcmV?d00001 diff --git a/TEMA4/report.md b/TEMA4/report.md new file mode 100644 index 0000000..7a6fe83 --- /dev/null +++ b/TEMA4/report.md @@ -0,0 +1,289 @@ +# Отчет по Теме 4 + +Беженарь Алёна, А-02-23 + +# Встроенные функции языка Python. + +## 1. Настройка текущего каталога. +```py +import os +os.chdir("C:\\Users\\Дружок\\Desktop\\ПОАС\\python-labs\\TEMA4") +``` +## 2. Стандартные функции. +### 2.1. Функция округления числа с заданной точностью round(). +```py +>>> help(round) + + Help on built-in function round in module builtins: + + round(number, ndigits=None) + Round a number to a given precision in decimal digits. + + The return value is an integer if ndigits is omitted or None. Otherwise + the return value has the same type as the number. ndigits may be negative. + +>>> round(123.456,1) + 123.5 +>>> round(123.456,0) + 123.0 +>>> type(round(123.456,0)) + +>>> type(round(123.456,1)) + +>>> round(123.456) + 123 +>>> type(round(123.456)) + +``` +### 2.2.Функция создания последовательности целых чисел с заданным шагом range(). +```py +>>> gg=range(76,123,9) +>>> gg + range(76, 123, 9) +>>> type(gg) + +>>> list(gg) + [76, 85, 94, 103, 112, 121] +>>> range(23) + range(0, 23) #range(23) создает последовательность целых чисел от 0 до 22 с шагом 1 +>>> list(range(23)) + [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +``` +### 2.3.Функция создания общего объекта, элементами которого являются кортежи zip(). +```py +>>> qq = ["Беженарь", "Володин", "Степанов", "Киреев"] +>>> ff = zip(gg,qq) +>>> ff + +>>> tuple(ff) + ((76, 'Беженарь'), (85, 'Володин'), (94, 'Степанов'), (103, 'Киреев')) +>>> ff[1] # К "итерируему объекту" класса zip нельзя обратиться по индексу + Traceback (most recent call last): + File "", line 1, in + ff[1] + TypeError: 'zip' object is not subscriptable + +``` +Важно заметить, что длина результирующего объекта равна длине самого короткого объекта из переданных функции. +### 2.4. Функция вычисляющая значения выражения, корректно записанного на языке Python и представленного в виде символьной строки eval(). +```py +>>> fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156') + коэффициент усиления=25 +>>> dan + -31.0 +``` +### 2.5. Похожая на eval() функция чтения и выполнения объекта-аргумента функции exec(). +```py +>>> exec(input('введите инструкции:')) + введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3) +>>> gg + 221.456 +>>> type(gg) + +``` +### 2.6. +```py +>>> abs(-100) # Получение модуля числа + 100 +>>> pow(2, 5) # Возведение чисда в степень + 32 +>>> max(1, 2, 3, 10) # Получение максимального числа из переданной последовательности + 10 +>>> min(1, 2, 3, 10) # Получение минимального числа из переданной последовательности + 1 +>>> sum([1, 2, 3, 10]) # Суммирование элементов переданной последовательности + 16 +>>> divmod(11, 4) # Получение кортежа с двумя элементами: результатами целочисленного деления и деления с остатком + (2, 3) +>>> len([1, 2, 3, 10]) + 4 +>>> def cube(x): +... return x ** 2 +... +>>> map(cube, [1, 2, 3, 10]) # Применение заданной функции ко всем элементам переданной последовательности + +>>> list(map(cube, [1, 2, 3, 10])) + [1, 8, 27, 1000] +``` +## 3. Изучение функций из стандартного модуля math. +```py +>>> import math +>>> dir(math) + ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp'] +>>> help(math.factorial) + Help on built-in function factorial in module math: + + factorial(n, /) + Find n!. + + Raise a ValueError if x is negative or non-integral. +>>> math.factorial(5) # Расчет факториала числа + 120 +>>> math.sin(math.pi / 6) # Расчет синуса числа + 0.49999999999999994 +>>> math.acos(0.5) * 180 / math.pi # Расчет арккосинуса числа + 60.00000000000001 +>>> math.degrees(math.pi / 6) # Перевод угла в радианах в градусы + 29.999999999999996 +>>> math.radians(60) # Перевод угла в градусах в радианы + 1.0471975511965976 +>>> math.exp(2) # Возведение числа Эйлера в определенную степень + 7.38905609893065 +>>> math.log(8, 2) # Вычисление логарифма с определенным основанием + 3.0 +>>> math.log10(100) # Вычисление десятичного логарифма + 2.0 +>>> math.sqrt(64) # Вычисление квадратного корня + 8.0 +>>> math.ceil(4.25) # Округление в большую сторону + 5 +>>> math.floor(4.25) # Округление в меньшую сторону + 4 +``` +С помощью функций из модуля math можно вычислять значения сложных математических выражений: +```py +>>> math.sin(2 * math.pi / 7 + math.exp(0.23)) + 0.8334902641414562 +``` +## 4. Изучение функций из модуля cmath. +```py +>>> import cmath +>>> dir(cmath) + ['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau'] +>>> cmath.sqrt(1.2 - 0.5j) # Вычисление квадратного корня из комплексного числа + (1.118033988749895-0.22360679774997896j) +>>> cmath.phase(1 - 0.5j) # Вычисление фазы комплексного числа + -0.4636476090008061 +``` +## 5. Изучение стандартного модуля random. +```py +>>> import random +>>> dir(random) +['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_ONE', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_index', '_inst', '_isfinite', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate'] +>>> help(random.seed) + Help on method seed in module random: + + seed(a=None, version=2) method of random.Random instance + Initialize internal state from a seed. + + The only supported seed types are None, int, float, + str, bytes, and bytearray. + + None or no argument seeds from current time or from an operating + system specific randomness source if available. + + If *a* is an int, all bits are used. + + For version 2 (the default), all of the bits are used if *a* is a str, + bytes, or bytearray. For version 1 (provided for reproducing random + sequences from older versions of Python), the algorithm for str and + bytes generates a narrower range of seeds. +>>> random.seed() #задает случайное начальное состояние для псевдослучайных чисел +>>> random.random() # Равномерно распределенное случайное число + 0.3956737606722922 +>>> random.uniform(1, 2) # Равномерно распределенное случайное число + 1.2506275428676115 +>>> random.randint(5, 6) # Случайное целое число + 5 +>>> random.gauss(5, 0.2) # Нормально распределенное случайное число + 4.575306564580744 +>>> random.choice(["Apple", "Orange", "Pear"]) # Случайный выбор элемента из совокупности + 'Orange' +>>> fruits = ["Apple", "Orange", "Pear"] +>>> random.shuffle(fruits) # Перемешивание элементов списка +>>> fruits + ['Pear', 'Orange', 'Apple'] +>>> random.sample(fruits, 2) # Получение выборки заданной размерности из совокупности + ['Orange', 'Apple'] +>>> random.betavariate(1, 2) # Случайное число с бета-распределением + 0.5112342600587575 +>>> random.gammavariate(1, 2) # Случайное число с гамма-распределением + 0.2940579511803219 +``` +Создала список с 4 случайными значениями, подчиняющимися равномерному, нормальному, бета и гамма - рапределениям соответственно: +```py +>>> [random.uniform(1, 5), random.gauss(2, 1), random.betavariate(1, 2), random.gammavariate(1, 2)] + [1.073448712376535, 1.410859882433433, 0.3802040796620913, 1.1399302392050947] +``` +## 6. Изучение функций из модуля time. +```py +>>> import time +>>> dir(time) + ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'monotonic_ns', 'perf_counter', 'perf_counter_ns', 'process_time', 'process_time_ns', 'sleep', 'strftime', 'strptime', 'struct_time', 'thread_time', 'thread_time_ns', 'time', 'time_ns', 'timezone', 'tzname'] +>>> c1=time.time() # Время в секундах, прошедшее с начала эпохи 1.1.1970 +>>> c1 + 1760782789.2863443 +>>> c2=time.time()-c1 # Получение времени со ввода предыдущей команды +>>> c2 + 50.22490692138672 +>>> dat=time.gmtime() # Получение полной информации о текущем времени +>>> dat + time.struct_time(tm_year=2025, tm_mon=10, tm_mday=18, tm_hour=10, tm_min=21, tm_sec=13, tm_wday=5, tm_yday=291, tm_isdst=0) +>>> dat.tm_mon # Получение текущего месяца + 10 +>>> dat.tm_hour # Получение текущего часа + 10 +>>> datLocal = time.localtime() # Получение полной информации о текущем "местном" времени +>>> datLocal + time.struct_time(tm_year=2025, tm_mon=10, tm_mday=18, tm_hour=13, tm_min=24, tm_sec=48, tm_wday=5, tm_yday=291, tm_isdst=0) +>>> time.asctime(datLocal) # Преобразование представления времени из кортежа в строку + 'Sat Oct 11 18:16:38 2025' +>>> time.ctime(c1) # Преобразование времени в секундах, прошедшего с начала эпохи, в строку + 'Sat Oct 18 13:19:49 2025' +>>> time.sleep(10) # Прерывание работы программы на заданное количество секунд +>>> time.mktime(datLocal) # Преобразование времени из кортежа или структуры в число секунд с начала эпохи + 1760783088.0 +``` +## 7. Графические функции. +```py +>>> import pylab +>>> x=list(range(-3,55,4)) +>>> t=list(range(15)) +>>> pylab.plot(t,x) #Создание графика в оперативной памяти + [] +>>> pylab.title('Первый график') # Добавление названия графика + Text(0.5, 1.0, 'Первый график') +>>> pylab.xlabel('время') # Добавление названия оси абсцисс + Text(0.5, 0, 'время') +>>> pylab.ylabel('сигнал') # Добавление названия оси ординат + Text(0, 0.5, 'сигнал') +>>> pylab.show() #Отображение графика на экране +``` +![Первый график](pictures/Ris1.png) +На одном рисунке можно отобразить несколько графиков: +![Второй график](pictures/Ris4.png) +Также данный модуль дает возможность строить круговые и столбиковые диаграммы и гистограммы. +```py +>>> region=['Центр','Урал','Сибирь','Юг'] #Метки для диаграммы +>>> naselen=[65,12,23,17] # Значения для диаграммы +>>> pylab.pie(naselen,labels=region) #Создание диаграммы в памяти + ([, , , ], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')]) +>>> pylab.show() #Отображение диаграммы +``` +![Третий график](pictures/Ris2.png) +```py +>>> pylab.hist([1, 2, 3, 1, 1, 2, 2, 2, 2], bins = 3) + (array([3., 5., 1.]), array([1. , 1.66666667, 2.33333333, 3. ]), ) +>>> pylab.show() +``` +![Четвертый график](pictures/Ris3.png) +```py +>>> pylab.bar(region, naselen) + +>>> pylab.show() +``` +![Пятый график](pictures/Ris5.png) +## 8. Статистические функции из модуля statistics. +```py +>>> import statistics +>>> dir(statistics) + ['Counter', 'Decimal', 'Fraction', 'LinearRegression', 'NormalDist', 'StatisticsError', '_SQRT2', '__all__', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_coerce', '_convert', '_decimal_sqrt_of_frac', '_exact_ratio', '_fail_neg', '_float_sqrt_of_frac', '_integer_sqrt_of_frac_rto', '_isfinite', '_mean_stdev', '_normal_dist_inv_cdf', '_sqrt_bit_width', '_ss', '_sum', 'bisect_left', 'bisect_right', 'correlation', 'covariance', 'defaultdict', 'erf', 'exp', 'fabs', 'fmean', 'fsum', 'geometric_mean', 'groupby', 'harmonic_mean', 'hypot', 'linear_regression', 'log', 'math', 'mean', 'median', 'median_grouped', 'median_high', 'median_low', 'mode', 'mul', 'multimode', 'namedtuple', 'numbers', 'pstdev', 'pvariance', 'quantiles', 'random', 'reduce', 'repeat', 'sqrt', 'stdev', 'sys', 'tau', 'variance'] +>>> statistics.mean([1, 2, 3, 4, 5, 6, 7, 8, 9]) # Вычисление среднего + 5 +>>> statistics.stdev([1, 2, 3, 4, 5, 6, 7, 8, 9]) # Вычисление среднеквадратичного отклонения + 2.7386127875258306 +>>> statistics.median([1, 2, 3, 4, 5, 6, 7, 8]) # Вычисление медианы + 4.5 +``` +## 9. Завершение работы со средой. +Сохранила файлы отчета в своем рабочем каталоге и закончил сеанс работы с IDLE. diff --git a/TEMA4/task.md b/TEMA4/task.md new file mode 100644 index 0000000..3ff8414 --- /dev/null +++ b/TEMA4/task.md @@ -0,0 +1,52 @@ +# Общее контрольное задание по теме 4 + +Беженарь Алёна, А-02-23 + +## Задание + +Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: +* Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления. +* Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами. +* Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. +* Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3. +* Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита. +* Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров. + + +## Решение + +```py +>>> # Пункт 1 +>>> exec(''' + import cmath + result = divmod(round(cmath.phase(0.2+0.8j),2)*20,3) + print(result) + ''') + (8.0, 2.6000000000000014) +>>> # Пункт2 +>>> import time +>>> localTime = time.localtime() +>>> print("Current time: {}:{}".format(localTime.tm_hour, localTime.tm_min)) + Current time: 14:34 +>>> # Пункт 3 +>>> Days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] +>>> import random +>>> random.sample(Days, 3) + ['Sunday', 'Tuesday', 'Monday'] +>>> # Пункт 4 +>>> random.choice(range(14, 33, 3)) + 14 +>>> # Пункт 5 +>>> import math +>>> N = math.floor(random.gauss(15, 4)) +>>> N + 18 +>>> import string +>>> letters = random.sample(string.ascii_letters, N) +>>> letters + ['l', 'c', 'b', 'P', 'S', 'q', 'B', 'm', 'K', 'I', 'T', 'u', 'n', 'f', 'v', 'p', 'E', 'j'] +>>> # Пункт 6 +>>> timeDiff = round(time.time() - time.mktime(localTime)) +>>> print(timeDiff // 60, "minutes and", timeDiff % 60, "seconds") + 15 minutes and 47 seconds +``` \ No newline at end of file From e6ba5b9ff6c35dda26b0baf747a314bd8937ca8f Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sat, 18 Oct 2025 14:49:51 +0300 Subject: [PATCH 19/20] =?UTF-8?q?edit:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=D0=B0=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=B0=D1=80=D1=82=D0=B8=D0=BD?= =?UTF-8?q?=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA4/report.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/TEMA4/report.md b/TEMA4/report.md index 7a6fe83..412313a 100644 --- a/TEMA4/report.md +++ b/TEMA4/report.md @@ -249,9 +249,13 @@ os.chdir("C:\\Users\\Дружок\\Desktop\\ПОАС\\python-labs\\TEMA4") Text(0, 0.5, 'сигнал') >>> pylab.show() #Отображение графика на экране ``` + ![Первый график](pictures/Ris1.png) + На одном рисунке можно отобразить несколько графиков: + ![Второй график](pictures/Ris4.png) + Также данный модуль дает возможность строить круговые и столбиковые диаграммы и гистограммы. ```py >>> region=['Центр','Урал','Сибирь','Юг'] #Метки для диаграммы @@ -260,19 +264,25 @@ os.chdir("C:\\Users\\Дружок\\Desktop\\ПОАС\\python-labs\\TEMA4") ([, , , ], [Text(-0.191013134139045, 1.0832885038559115, 'Центр'), Text(-0.861328292412156, -0.6841882582231001, 'Урал'), Text(0.04429273995539947, -1.0991078896938387, 'Сибирь'), Text(0.9873750693480946, -0.48486129194837324, 'Юг')]) >>> pylab.show() #Отображение диаграммы ``` + ![Третий график](pictures/Ris2.png) + ```py >>> pylab.hist([1, 2, 3, 1, 1, 2, 2, 2, 2], bins = 3) (array([3., 5., 1.]), array([1. , 1.66666667, 2.33333333, 3. ]), ) >>> pylab.show() ``` + ![Четвертый график](pictures/Ris3.png) ```py + >>> pylab.bar(region, naselen) >>> pylab.show() ``` + ![Пятый график](pictures/Ris5.png) + ## 8. Статистические функции из модуля statistics. ```py >>> import statistics From b258152efc55c8b048d9296f14f46ec8e23a1dc7 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sat, 18 Oct 2025 15:00:29 +0300 Subject: [PATCH 20/20] =?UTF-8?q?edit:=20=D0=B1=D1=8B=D0=BB=D0=B8=20=D0=B2?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B=20=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B8=20=D0=BF=D0=BE=D1=8F=D1=81=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B2=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA4/task.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/TEMA4/task.md b/TEMA4/task.md index 3ff8414..2cc45a6 100644 --- a/TEMA4/task.md +++ b/TEMA4/task.md @@ -17,11 +17,8 @@ ```py >>> # Пункт 1 ->>> exec(''' - import cmath - result = divmod(round(cmath.phase(0.2+0.8j),2)*20,3) - print(result) - ''') +>>> import cmath +>>> divmod(round(cmath.phase(0.2+0.8j),2)*20,3) (8.0, 2.6000000000000014) >>> # Пункт2 >>> import time @@ -41,7 +38,7 @@ >>> N = math.floor(random.gauss(15, 4)) >>> N 18 ->>> import string +>>> import string #Импортировали модуль в котором есть латинский алфавит, чтобы из него выбрать буквы. Без использования этого модуля создавать список с алфавитом нужно было бы вручную. >>> letters = random.sample(string.ascii_letters, N) >>> letters ['l', 'c', 'b', 'P', 'S', 'q', 'B', 'm', 'K', 'I', 'T', 'u', 'n', 'f', 'v', 'p', 'E', 'j']

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 Kmx?uQgZ>MbhR3b| literal 0 HcmV?d00001 diff --git a/TEMA1/figure8.PNG b/TEMA1/figure8.PNG new file mode 100644 index 0000000000000000000000000000000000000000..68f47bdc740daf159c9b10edcbc4f2554f16dcbb GIT binary patch literal 81802 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:~*4+ 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", line 1, in + import Prb1 +ModuleNotFoundError: No module named 'Prb1' + +import prb1 +Как Вас зовут? Алёна +Привет, Алёна +help(print) +Help on built-in function print in module builtins: + +print(*args, sep=' ', end='\n', file=None, flush=False) + Prints the values to a stream, or to sys.stdout by default. + + sep + string inserted between values, default a space. + end + string appended after the last value, default a newline. + file + a file-like object (stream); defaults to the current sys.stdout. + flush + whether to forcibly flush the stream. + + +===== RESTART: C:\Users\u522-14\Desktop\Bezhenar\python-labs\TEMA1\prb1.py ===== +Как Вас зовут? Алёна +Привет, Алёна +import(tdemo_chaos.py) +SyntaxError: invalid syntax +import tdemo_chaos.py +Traceback (most recent call last): + File "", line 1, in + import tdemo_chaos.py +ModuleNotFoundError: No module named 'tdemo_chaos.py'; 'tdemo_chaos' is not a package +import tdemo_chaos diff --git a/TEMA1/report.md b/TEMA1/report.md index e69de29..4242578 100644 --- a/TEMA1/report.md +++ b/TEMA1/report.md @@ -0,0 +1,211 @@ +# Отчет по теме 1 + +Беженарь Алёна, А-02-23 + +## 0 Работа с Git + +Создала на сервере кафедры УИТ копию репозитория "python-labs", а после клонировала его в папку "Bezhenar" на рабочем столе и преобразовала его на исходный репозиторий (upstream). + +### 1 Изучение среды IDLE + +#### 1.1 Знакомство с интерпритатором + +Запустила программу-интерпритатор "Python 3.11" +![Окно программы-интерприаторa](figure0.png) + +##### 1.2 Работа с интерпритатором + +Ввела инструкцию: + +```py +>>>print('Hello') +``` + +в результате, после нажатия "Enter" получила на следующей строке: + +```py +Hello +``` + +После ввела другую инструкцию: +```py +>>>h=input('Your name=') +``` +в результате, после нажатия "Enter"и введения своего имени получила: + +```py +Your name=Alena +``` + +Далее завершила работу интерпритатора вводом инструкции: +```py +>>>exit() +``` +###### 1.3 Работа с IDLE средой Python + +Запустила интерактивную графическую оболочку IDLE среды Python. + +![Окно интерактивной графической оболочки IDLE среды Python](figure1.png) + +В командном окне ввела инструкцию настройки рабочего каталога среды: + +```py +>>>import os +>>>os.chdir(r'C:\Users\u522-14\Desktop\Bezhenar\python-labs\TEMA1') +``` + +Изучила главное меню и выпадающие окна. + +В главном меню выбрала предложение «Настройки (Options)». Установила в среде: шрифт типа Arial CYR, размер 11, размер начального окна - высоту 50 символов, ширину 100 символов, подкраску комментариев - коричневая. +![Установленные настройки](figure2.png) + +Используя предложения «Файл (File)» и «Новый файл (New File)» открыла окно текстового редактора оболочки IDLE. В первой строке окна редактора ввела комментарий, начиная его со знака #: + +```py +#Программа по Теме 1 Беженарь +``` +Во второй - пятой строках вставила инструкции, использованные при выполнении п.п. 1.2, 1.3 и вышло: + +```py +#Программа по Теме 1 Беженарь +print('Hello') +h=input('Your name=') +import os +os.chdir(r'C:\Users\u522-14\Desktop\Bezhenar\python-labs\TEMA1') +``` +Сохранила введенный текст в программном файле Pr0.py в рабочем каталоге. Запустила инструкции на выполнение, используя предложение в меню редактора: «Запустить модуль (Run module)». + +Результат: +```py +====== RESTART: C:/Users/u522-14/Desktop/Bezhenar/python-labs/TEMA1/Pr0.py ===== +Hello +Your name= +``` +Закрыла окно редактора. + +Рассмотрела другой способ запуска программы на выполнение. Для этого в командном окне запустила программу на выполнение инструкцией + import Pr0 + +Результат: +```py +====== RESTART: C:/Users/u522-14/Desktop/Bezhenar/python-labs/TEMA1/Pr0.py ===== +Hello +Your name= +``` + +Третий способ: нажала функциональную клавишу F5. + +Результат: +```py +====== RESTART: C:/Users/u522-14/Desktop/Bezhenar/python-labs/TEMA1/Pr0.py ===== +Hello +Your name= +``` + +Теперь запустила на выполнение программу, которая находится в рабочем каталоге в файле prb1.py инструкцией: +```py +import Prb1 +``` + +Результат: +```py +Как Вас зовут? Алёна +Привет, Алёна +``` + +Используя в меню текстового редактора предложение «Открыть (Open)», изучила состав рабочего каталога. +Открыла каталог __pycache__ и попыталась открыть в текстовом редакторе файл Pr0.cpython-34.pyc – результат работы компилятора среды. +Результат: +![Открытый файл Pr0.cpython-34.pyc в текстовом редакторе](figure3.png) + +Большая часть текста просто не читаема. Связано этос тем, что Python - это интерпретируемый язык, а расширение .pyc это промежуточный байткод, который запускается ВМ. +Он не предназначен для чтения человеком его как книжки. При попытке открытия его текстовый редактор пытается преобразовать двоичный код в utf кодировку символов, но код с самого начала не записывался с учетом кодировок, поэтому большая часть файла является смесью букв и символов. +Компиляция програм же необходима, чтобы перевести команды из формы понятной человеку в машинный код, которыйможет быть обработан процессором. + +В текстовом редакторе оболочки IDLE открыла новое окно. В первой строке ввела комментарий +```py +#Протокол по Теме 1 Беженарь +``` + +В последующих строках ввела копию всех строк из командного окна среды IDLE. Сохранила содержимое в файле с именем protocol.py. + +####### 1.4 Работа с разделом помощи + +Раздел помощи (Help) главного меню предлагает такие виды помощи: +1.Документация для IDLE +2.Документация для Python +3.Turtle Demo - это встроенная демонстрационная программа для визуализациивозможностей граф. модуля Turtle. +![Раздел помощи в главном меню](figure3.png) + +Ввела инструкцию обращения к оперативной помощи по функции print() и input(): +```py +>>>help(print) +Help on built-in function print in module builtins: + +print(*args, sep=' ', end='\n', file=None, flush=False) + Prints the values to a stream, or to sys.stdout by default. + + sep + string inserted between values, default a space. + end + string appended after the last value, default a newline. + file + a file-like object (stream); defaults to the current sys.stdout. + flush + whether to forcibly flush the stream. + +>>>help(print); help(input) +Help on built-in function print in module builtins: + +print(*args, sep=' ', end='\n', file=None, flush=False) + Prints the values to a stream, or to sys.stdout by default. + + sep + string inserted between values, default a space. + end + string appended after the last value, default a newline. + file + a file-like object (stream); defaults to the current sys.stdout. + flush + whether to forcibly flush the stream. + +Help on built-in function input in module builtins: + +input(prompt='', /) + Read a string from standard input. The trailing newline is stripped. + + The prompt string, if given, is printed to standard output without a + trailing newline before reading input. + + If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError. + On *nix systems, readline is used if available. +``` + +Можно использовать другой вариант обращения к оперативной помощи – при нажатии на функциональную клавишу F1 появляется окно справочной подсистемы, в левой части на закладке «Указатель (Index)» находится упорядоченный по алфавиту список терминов языка Python. +Нашла в этом списке строку +print() (built-in function) +![строка с print()](figure5.png) +и щелкнула по ней мышью и в правой части окна появилась справка по этой функции. +![справка print()](figure6.png) +В главном меню предложение «Помощь (Help)», в выпадающем меню – «Python Docs» появляется то же диалоговое окно, что и при нажатии клавиши F1. + + +####### 1.5 Пункт 15 +Последовательно выполнила следующие действия: +Выберала предложения «Файл (File)» и «Открыть (Open)» и после стандартного диалога по открытию файла выбрала файл prb1.py в папке Tema1. +Теперь у меня 3 открытых окна: командное окно IDLE (Python Shell) и 2 окна текстового редактора. Используя предложения «Окно (Window)» в меню этих окон поочередно активировала каждое из этих окон. +Сделала активным окно редактора с программой prb1. Запустила программу из файла prb1.py на выполнение. В ответ на запрос в командном окне IDLE ввела своё имя и получила приветствие от программы. +```py +===== RESTART: C:\Users\u522-14\Desktop\Bezhenar\python-labs\TEMA1\prb1.py ===== +Как Вас зовут? Алёна +Привет, Алёна +``` +С использованием меню в окне редактора открыла ранее созданную программу Pr0.py. Теперь у меня 4 окна: командное окно (Python Shell) и три окна в редакторе. +Закрыла два окна текстового редактора с программами (предложения «Файл (File)» и «Закрыть (Close)»). +Используя инструкцию import, запустила на выполнение программу из файла tdemo_chaos.py. +Выберала предложения «Помощь (Help)» и «Демонстрации (Turtle Demo)». В появившемся новом окне в меню выбрала предложение «Примеры (Examples)» и из появляющегося списка примеров – «Часы (Clock)». +Нажала кнопку «Запуск (Start)» в нижней части окна. +Закрыла окно текстового редактора с протоколом. +![Пример часов](figure7.png) +![Пример леса](figure8.png) +Завершила работу со средой. Для этого выбрала предложения «Файл (File)» и «Выход (Exit)». From afe36502573ca891965b8a5974e9f79dfb31249b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 8 Sep 2025 12:49:36 +0300 Subject: [PATCH 03/20] final commit 2 --- TEMA1/report.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/TEMA1/report.md b/TEMA1/report.md index 4242578..1cdc250 100644 --- a/TEMA1/report.md +++ b/TEMA1/report.md @@ -11,7 +11,7 @@ #### 1.1 Знакомство с интерпритатором Запустила программу-интерпритатор "Python 3.11" -![Окно программы-интерприаторa](figure0.png) +![Окно программы-интерприаторa](figure0.PNG) ##### 1.2 Работа с интерпритатором @@ -45,7 +45,7 @@ Your name=Alena Запустила интерактивную графическую оболочку IDLE среды Python. -![Окно интерактивной графической оболочки IDLE среды Python](figure1.png) +![Окно интерактивной графической оболочки IDLE среды Python](figure1.PNG) В командном окне ввела инструкцию настройки рабочего каталога среды: @@ -116,7 +116,7 @@ import Prb1 Используя в меню текстового редактора предложение «Открыть (Open)», изучила состав рабочего каталога. Открыла каталог __pycache__ и попыталась открыть в текстовом редакторе файл Pr0.cpython-34.pyc – результат работы компилятора среды. Результат: -![Открытый файл Pr0.cpython-34.pyc в текстовом редакторе](figure3.png) +![Открытый файл Pr0.cpython-34.pyc в текстовом редакторе](figure3.PNG) Большая часть текста просто не читаема. Связано этос тем, что Python - это интерпретируемый язык, а расширение .pyc это промежуточный байткод, который запускается ВМ. Он не предназначен для чтения человеком его как книжки. При попытке открытия его текстовый редактор пытается преобразовать двоичный код в utf кодировку символов, но код с самого начала не записывался с учетом кодировок, поэтому большая часть файла является смесью букв и символов. @@ -135,7 +135,6 @@ import Prb1 1.Документация для IDLE 2.Документация для Python 3.Turtle Demo - это встроенная демонстрационная программа для визуализациивозможностей граф. модуля Turtle. -![Раздел помощи в главном меню](figure3.png) Ввела инструкцию обращения к оперативной помощи по функции print() и input(): ```py @@ -184,9 +183,9 @@ input(prompt='', /) Можно использовать другой вариант обращения к оперативной помощи – при нажатии на функциональную клавишу F1 появляется окно справочной подсистемы, в левой части на закладке «Указатель (Index)» находится упорядоченный по алфавиту список терминов языка Python. Нашла в этом списке строку print() (built-in function) -![строка с print()](figure5.png) +![строка с print()](figure5.PNG) и щелкнула по ней мышью и в правой части окна появилась справка по этой функции. -![справка print()](figure6.png) +![справка print()](figure6.PNG) В главном меню предложение «Помощь (Help)», в выпадающем меню – «Python Docs» появляется то же диалоговое окно, что и при нажатии клавиши F1. @@ -206,6 +205,6 @@ print() (built-in function) Выберала предложения «Помощь (Help)» и «Демонстрации (Turtle Demo)». В появившемся новом окне в меню выбрала предложение «Примеры (Examples)» и из появляющегося списка примеров – «Часы (Clock)». Нажала кнопку «Запуск (Start)» в нижней части окна. Закрыла окно текстового редактора с протоколом. -![Пример часов](figure7.png) -![Пример леса](figure8.png) +![Пример часов](figure7.PNG) +![Пример леса](figure8.PNG) Завершила работу со средой. Для этого выбрала предложения «Файл (File)» и «Выход (Exit)». From abc572b34a2fa9aee760f040d1fa301f5fef1f04 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sun, 21 Sep 2025 12:27:48 +0300 Subject: [PATCH 04/20] =?UTF-8?q?edit:=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA1/report.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/TEMA1/report.md b/TEMA1/report.md index 1cdc250..07c1bae 100644 --- a/TEMA1/report.md +++ b/TEMA1/report.md @@ -6,14 +6,14 @@ Создала на сервере кафедры УИТ копию репозитория "python-labs", а после клонировала его в папку "Bezhenar" на рабочем столе и преобразовала его на исходный репозиторий (upstream). -### 1 Изучение среды IDLE +## 1 Изучение среды IDLE #### 1.1 Знакомство с интерпритатором Запустила программу-интерпритатор "Python 3.11" ![Окно программы-интерприаторa](figure0.PNG) -##### 1.2 Работа с интерпритатором +#### 1.2 Работа с интерпритатором Ввела инструкцию: @@ -41,7 +41,7 @@ Your name=Alena ```py >>>exit() ``` -###### 1.3 Работа с IDLE средой Python +#### 1.3 Работа с IDLE средой Python Запустила интерактивную графическую оболочку IDLE среды Python. @@ -129,7 +129,7 @@ import Prb1 В последующих строках ввела копию всех строк из командного окна среды IDLE. Сохранила содержимое в файле с именем protocol.py. -####### 1.4 Работа с разделом помощи +#### 1.4 Работа с разделом помощи Раздел помощи (Help) главного меню предлагает такие виды помощи: 1.Документация для IDLE @@ -189,7 +189,7 @@ print() (built-in function) В главном меню предложение «Помощь (Help)», в выпадающем меню – «Python Docs» появляется то же диалоговое окно, что и при нажатии клавиши F1. -####### 1.5 Пункт 15 +#### 1.5 Пункт 15 Последовательно выполнила следующие действия: Выберала предложения «Файл (File)» и «Открыть (Open)» и после стандартного диалога по открытию файла выбрала файл prb1.py в папке Tema1. Теперь у меня 3 открытых окна: командное окно IDLE (Python Shell) и 2 окна текстового редактора. Используя предложения «Окно (Window)» в меню этих окон поочередно активировала каждое из этих окон. From fc408cf1439e5528bc5af3804736ddfb5f472641 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sun, 21 Sep 2025 17:32:32 +0300 Subject: [PATCH 05/20] new: added report --- TEMA2/figure0.png | Bin 0 -> 31487 bytes TEMA2/report.md | 484 ++++++++++++++++++++++++++++++++++++++++++++++ TEMA2/report.py | 311 +++++++++++++++++++++++++++++ 3 files changed, 795 insertions(+) create mode 100644 TEMA2/figure0.png create mode 100644 TEMA2/report.md create mode 100644 TEMA2/report.py diff --git a/TEMA2/figure0.png b/TEMA2/figure0.png new file mode 100644 index 0000000000000000000000000000000000000000..4ffad535497408e28969b1d3a6b454a8c723fffe GIT binary patch literal 31487 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ⅇ{|CCe7mYOZ>lnl4s>v-N+VdsjwT0mo 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 literal 0 HcmV?d00001 diff --git a/TEMA2/report.md b/TEMA2/report.md new file mode 100644 index 0000000..7b7b489 --- /dev/null +++ b/TEMA2/report.md @@ -0,0 +1,484 @@ +# Отчет по теме 2 + +Беженарь Алёна Николаевна + +#Базовые типы объектов + +##1. Установка рабочего каталога. Создание рабочего протокола. +В оболочке IDLE установила актуальный рабочий каталог, а затем в нём создала рабочий протокол. +![Изменение директории и создание report.py](figure0.png) + +##2. Изучение простых объектов. +Рассмотрим операции присваивания значения объектам-переменным +```py +>>> f1 = 16; f2 = 3 +>>> f1, f2 + (16, 3) +>>> f1; f2 + 16 + 3 +``` +Для того, чтобы узнать, какие объекты существуют в среде Python на данный момент, ипользовала функцию dir(): +```py +>>>dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] +``` +Использовала эту же функцию, но уже с объектом f1 в качестве переданного аргумента, чтобы получить его список атрибутов: +```py +>>>dir(f1) +['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes'] +``` +Определила классовую принадлежность объекта f2 с помощью функции type(f2): +```py +>>>type(f2) + +``` +Удалила объекты f1 и f2 из оперативной памяти, а затем проверила их удаление с помощью функции dir(): +```py +>>>del f1,f2 +>>>dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os'] +``` +Как видно из вывода после команды, f1 и f2 полностью пропали из оперативной памяти. + +##3. Изучение правил наименования объектов в Python. + +Изучила правила наименования объектов на данном примере: +```py +>>>gg1=1.6 #значение в виде вещественного числа +>>>hh1='Строка' #значение в виде символьной строки +>>>73sr=3 #неправильное имя – начинается с цифры - будет диагностика! +SyntaxError: invalid decimal literal +>>>and=7 #недопустимое имя – совпадает с ключевым словом - будет диагностика! +SyntaxError: invalid syntax +``` + +##4 Изучение ключевых слов + +Вывела список ключевых слов с помощью инструкции: +```py +>>>import keyword +>>>keyword.kwlist +['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +``` +Сохранила его в переменной с именем keywords +```py +>>>keywords = keyword.kwlist +>>> keywords +['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +``` + +##5. Изучение встроенных идентификаторов. + +Вывела в консоль список встроенных идентификаторов: + +```py +>>>import builtins +>>>dir(builtins) +['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EncodingWarning', 'EnvironmentError', 'Exception', 'ExceptionGroup', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'aiter', 'all', 'anext', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip'] +``` +В данном списке содержатся имена некоторых встроенных функций, работа которых, проверена ниже: +```py +>>>abs(-8800555) #Взятие модуля аргумента +8800555 + +>>>len("Test") # Расчет длины объекта +4 + +>>>max(1, 2, 3) # Поиск максимального числа среди аргументов +3 + +>>>min(0, -5, 10) # Поиск минимального числа среди аргументов +-5 + +>>>pow(2, 3) # При передаче 2 аргументов - возведение в степень, 3 - поиск остатка от деления на 3 аргумент. +8 + +>>>pow(2, 3, 3) +2 + +>>>round(2.5987,0) # Округление до количества цифр после запятой, переданного во 2 аргументе +3.0 + +>>>sorted([3, 7, 5, 9, -1]) # Сортировка по возрастанию (при reverse = True - по убыванию) +[-1, 3, 5, 7, 9] + +>>>numbers = [1, 2, 3, 4, 5] +total = sum(numbers) #возвращает сумму всех элементов списка. +total +15 + +>>>list(zip("abcd", [1, 2, 3, 4])) # Попарное объединение элементов +[('a', 1), ('b', 2), ('c', 3), ('d', 4)] +``` +##6. Проверка имён объектов на чувствительность к регистру. +Убедилась, что имена объектов в Python являются регистрочувствительными: +```py +>>>Gg1=45 +>>>gg1;Gg1 +1.6 +45 +``` +##7. Изучение простых типов объектов. + +###7.1 Изучение логического типа (bool). +Пример создания объектов логического типа: +```py +>>>bb1=True;bb2=False +>>>bb1;bb2 +True +False +>>>type(bb1) #функция, показывающая тип (класс) объекта + +``` +###7.2. Изучение остальных простых типов. +Рассмотрела остальные простые типы, такие как int (целые числа), float (вещественные числа) и complex (комплексные числа): +```py +>>>ii1=-1234567890 +>>>ff1=-8.9876e-12 #экспоненциальная форма записи вещественного числа +>>>dv1=0b1101010 #Это – двоичное число. +>>>type(dv1) + +>>.vsm1=0o52765 #Это – восьмеричное число +>>>type(vsm1) + +>>>shest1=0x7109af6 #Это – шестнадцатеричное число +>>>type(shest1) + +>>>cc1=2-3j +>>>a=3.67; b=-0.45 +>>>cc2=complex(a,b) +>>>cc2 +(3.67-0.45j) +``` + +###7.3 Изучение строкового типа (str). +Строки символов можно заключать в одинарные или двойные кавычки: + +```py +>>>ss1='Это - строка символов' +>>>ss1 +'Это - строка символов' +>>>ss1="Это - строка символов" +>>>ss1 +'Это - строка символов' +``` +Внутри строк могут присутствовать экранированные последовательности, начинающиеся со знака "\", что позволяет использовать в строках специальные символы: + +```py +>>>ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" +>>>print(ss1a) +Это - " строка символов ", + выводимая на двух строках +>>>ss1b= 'Меня зовут: \n <Беженарь А.Н.>' +>>>print(ss1b) +Меня зовут: + <Беженарь А.Н.> +``` +С помощью тройных кавыче можно задавать многострочные строки, ввод которых будет продолжаться, пока вновь не будут введены тройные кавычки: +```py +>>>mnogo="""Нетрудно заметить , что в результате операции +над числами разных типов получается число, +имеющее более сложный тип из тех, которые участвуют в операции.""" +>>>print(mnogo) +Нетрудно заметить , что в результате операции +над числами разных типов получается число, +имеющее более сложный тип из тех, которые участвуют в операции. +``` +Символьные строки в Python индексируются, поэтому к определенным сиволам или последовательностям символов внутри них можно обращаться по индексам: +```py +>>>ss1[0] #Это – символ «Э» +'Э' +>>>ss1[8] #А это – символ «р» +'р' +>>>ss1[-2] #А это – символ «о» (при знаке «-»(минус) отсчет от конца строки) +'о' +>>>ss1[6:9] # Это часть строки – символы с 6-го индекса по 8-й +'стр' +>>> ss1[13:] # Это часть строки – с 13-го индекса и до конца +'символов' +>>>ss1[:13] # Это часть строки – с начала и до 12-го индекса включительно +'Это - строка ' +>>>ss1[5:-8] # Это часть строки – с 5-го индекса и до 8-го от конца +' строка ' +>>>ss1[3:17:2] # Часть строки – с 3-го по 16-й индексы с шагом 2 +' тоасм' +>>>ss1[17:3:-2] # Часть строки – с 3-го по 16-й индексы с обратным шагом 2 +'омсаот ' +>>>ss1[-4:3:-2] # Часть строки – с 4-го с конца по 3-й с начала индексы с обратным шагом 2 +'омсаот ' +>>>ss1[4]='=' # Будет диагностика! +Traceback (most recent call last): + File "", line 1, in + ss1[4]='=' # Будет диагностика! +TypeError: 'str' object does not support item assignment +>>>ss1=ss1[:4]+'='+ss1[5:] +>>>print(ss1) +Это = строка символов +``` +Проделаю тоже самое самостоятельно со строкой ss1b: +```py +>>>ss1b +'Меня зовут: \n <Беженарь А.Н.>' +>>>ss1b[3] +'я' +>>>ss1b[3-2] +'е' +>>>ss1b[-3] +'Н' +>>>ss1b[-3:] +'Н.>' +>>>ss1b[0:-1] +'Меня зовут: \n <Беженарь А.Н.' +>>>ss1b[3:-3] +'я зовут: \n <Беженарь А.' +>>>ss1b[-23:0] +'' +>>>ss1b[::-1] +'>.Н.А ьранежеБ< \n :тувоз янеМ' +>>>ss1b[::-3] +'>.ьне :в е' +>>>ss1b=ss1b[0:15]+ss1b[16:29] +>>>ss1b +'Меня зовут: \n <еженарь А.Н.>' +``` +###7.4 Выполняю задание, самостоятельно закрепляю изученные типы переменных. +```py +>>>stringg = '15'+"ab" +>>>type(stringg) + +>>>a = 10 +>>>type(a) + +>>>b = 0.00800 +>>>type(b) + +>>>b = 0.8e-100 +>>>type(b) + +>>>c = 0-1j +>>>type(c) + +>>>var = c/b +>>>type(var) + +>>>b = True +>>>type(b) + +>>>b = None +>>>type(b) + +``` +##8.Изучение сложных типов объектов. +###8.1. Изучение списков. +Рассмотрела такой объект Python, как списки - упорядоченные по местоположению коллекции объектов произвольных типов, размер которых практически не ограничен: +```py +>>>spis1=[111,'Spisok',5-9j] +>>stup=[0,0,1,1,1,1,1,1,1] +>>>spis=[1,2,3,4, + 5,6,7, + 8,9,10] +``` +Списки в Python индексируются так же как и строки: +```py +>>>spis1[-1] # Если индекс отрицательный, то он отсчитывается с конца, но не с 0, а с 1 + (5-9j) +>>> stup[-8::2] # Вывод элементов с 8-го индекса с конца с шагом 2 + [0, 1, 1, 1] +``` +Элементы списков можно изменять: +```py +>>> spis1[1] = "Список" +>>> print(spis1) + [111, 'Список', (5-9j)] +``` +Методы объекта находятся в списке его атрибутов, поэтому для их просмотра нужно опять вводить функцию dir(), а описание какого-либо метода можно получить с помощью функции help(<название метода>): +```py +>>>dir(spis1) +['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] +>>>len(spis1) +3 +>>>help(spis1.append) +Help on built-in function append: + +append(object, /) method of builtins.list instance + Append object to the end of the list. +``` +С помощью методов объектов-списков можно добавлять и удалять элементы: +```py +>>>spis1.append('New item') # В конец списка добавлен элемент «New item» +>>>print(spis1) +[111, 'Список', (5-9j), 'New item'] +>>>spis1+['Second New item'] #Конкатенация (исходный список не изменился) +[111, 'Список', (5-9j), 'New item', 'Second New item'] +>>>print(spis1) +[111, 'Список', (5-9j), 'New item'] +>>>spis1.append(ss1b) +>>.print(spis1) +[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n еженарь А.Н.>'] +>>>spis1.pop(1) #Из списка удален элемент с индексом 1 +'Список' +``` +Рассмотрела остальные методы объектов-списков: +```py +>>>list=[1,2,3,4,5] +>>>list.insert(1, 3) # Вставка второго аргумента на индекс, определяемый первым аргументом +>>>print(list) +[1, 3, 2, 3, 4, 5] +>>>list.remove(3) # Удаление первого вхождения элемента, соответствующего переданному аргументу +>>print(list) +[1, 2, 3, 4, 5] +>>>list.extend(list[:2]) # Продление списка +>>>print(list) +[1, 2, 3, 4, 5, 1, 2] +>>>list.sort() # Сортировка элементов списка +>>>print(list) +[1, 1, 2, 2, 3, 4, 5] +>>>list.reverse() # Изменение порядка следования элементов списка на противоположный +>>>print(list) +[5, 4, 3, 2, 2, 1, 1] +>>>list.copy() # Создание копии списка +[5, 4, 3, 2, 2, 1, 1] +>>>list.count(2) # Подсчет вхождений в список для элемента, переданного в качестве аргумента +2 +>>>list.index(3) # Вывод индекса в списке для элемента, соответствующего переданному аргументу +2 +``` +Списки также могут быть вложенными, то есть включать в себя другие списки: +```py +>>>spis2=[spis1,[4,5,6,7]] #здесь элементами являются два списка +>>>print(spis2) +[[111, (5-9j), 'New item', 'Меня зовут: \n еженарь А.Н.>'], [4, 5, 6, 7]] +>>>spis2[0][1] #обращение к элементу списка spis1 +(5-9j) +>>>spis2[0][1]=78 #Значение элемента заменено на 78 +>>>print(spis2) +[[111, 78, 'New item', 'Меня зовут: \n еженарь А.Н.>'], [4, 5, 6, 7]] +>>>print(spis1) +[111, 78, 'New item', 'Меня зовут: \n еженарь А.Н.>'] +``` +Видим, что spis1 тоже изменился. Это происходит потому, что python работает не просто с объектами, а с ссылками на участки памяти. То есть, в Python списки передаются по ссылке, а не по значению.Упоминая spis1 в строке spis2=[spis1,[4,5,6,7]] мы не создаем копию spis1, а сообщаем именно тот список, поэтому его изменения в составе spis2 отображаются на исходном spis1. + +Создание своего списка - объекта: +```py +>>>spis3 = [100, 'Test', True, spis1] +>>>print(spis3) +[100, 'Test', True, [111, 78, 'New item', 'Меня зовут: \n еженарь А.Н.>']] +``` +###8.2. Изучение кортежей. +Объекты-кортежи очень похожи на списки, но их нельзя изменять, также литерал кортежа заключается в круглые скобки, а не в квадратные как у списков. В примере ниже рассмотрены варианты создания кортежей и их 2 основных метода: +```py +>>>kort1=(222,'Kortezh',77+8j) +>>>kort1= kort1+(1,2) +>>>print(kort1) +(222, 'Kortezh', (77+8j), 1, 2) +>>>kort1= kort1+(ss1b,) +>>>print(kort1) +(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n еженарь А.Н.>') +>>>kort2=kort1[:2]+kort1[3:] +>>>print(kort2) +(222, 'Kortezh', 1, 2, 'Меня зовут: \n еженарь А.Н.>') +>>>kort1.index(2) +4 +>>>kort1.count(222) +1 +>>>kort1[2]=90 #Будет получена диагностика о невозможности изменения кортежа +Traceback (most recent call last): + File "", line 1, in + kort1[2]=90 +TypeError: 'tuple' object does not support item assignment +``` +Создала свой объект-кортеж, в котором все элементы разного типа: +```py +>>> kort3 = (123, "Text", [1, 2, 3], (1, 2, 3)) +>>> print(kort3) +(123, 'Text', [1, 2, 3], (1, 2, 3)) +``` +###8.3. Изучение словарей. +Объект-словарь представляет из себя набор пар «ключ-значение», причем в качестве ключей могут использоваться неизменяемые типы объектов, а в виде значений - объекты любых типов: +```py +>>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45} +>>>print(dic1) +{'Saratov': 145, 'Orel': 56, 'Vologda': 45} +>>>dic1["Orel"] # Обращение к элементам словаря осуществляется по ключам, а не по индексам +56 +>>>dic1["Pskov"] = 78 # Добавление нового элемента в словарь +>>>dic1 +{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78} +``` +К ключам словаря можно обратиться с помощью метода keys(), а к значениям - с помощью метода values(): +```py +>>>sorted(dic1.keys()) +['Orel', 'Pskov', 'Saratov', 'Vologda'] +>>>sorted(dic1.values()) +[45, 56, 78, 145] +``` +Элементы словаря также могут быть словарями: +```py +>>>dic2={1:'mean',2:'standart deviation',3:'correlation'} +>>>dic3={'statistics':dic2,'POAS':['base','elementary','programming']} +>>>dic3['statistics'][2] +'standart deviation' +``` +С помощью функции dict() можно создавать словарь из списка с элементами-кортежами: +```py +>>>dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) +>>>dic4 +{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n еженарь А.Н.>'} +``` +Также с помощью этой функции и функции zip() можно создавать словари и просто из двух списков: +```py +>>>dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) +>>>dic5 +{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n еженарь А.Н.>'} +``` +Так как элементы словаря являются парами «ключ-значение», то каждому ключу должно соответствовать своё значение, поэтому, если при создании словаря число ключей не равно числу значений, то словарь создастся с количеством элементов, равным наименьшей из длин списка ключей или списка значений: +```py +>>>cort=(1,2,3,4) +>>>cort=(1,2,3,4,5,6,7) +>>>spisok = ["A", "B", "C", "D", "E"] +>>>dictionary = dict(zip(cort, spisok)) +>>>dictionary +{1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E'} +``` +Пример словаря с описанием состава студентов, обучающихся на АВТИ: +```py +>>>AVTI = {"Курс I" : [22, 23, 17, 24, 30, 29, 28, 25, 23, 0, 4, 31, 30, 33, 18, 12, 27], + "Курс II" : [18, 16, 12, 15, 29, 18, 21, 23, 13, 0, 4, 20, 31, 26, 16], + "Курс III" : [17, 12, 0, 6, 17, 15, 19, 19, 0, 0, 5, 17, 22, 18, 12], + "Курс IV" : [27, 16, 0, 13, 17, 15, 19, 20, 0, 0, 2, 15, 18, 16, 17]} +>>>AVTI["Курс III"][5] +15 +``` +###8.4. Изучение объектов-множеств. +Объекты-множества – это неупорядоченные совокупности неповторяющихся элементов неизменяемых типов. Пример создания такого объекта: +```py +>>>mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} +>>>mnoz1 +{'двигатель', 'микропроцессор', 'линия связи', 'датчик'} +``` +Некоторые операции с множествами: +```py +>>> len(mnoz1) # Определение числа элементов +4 +>>> "датчик" in mnoz1 # Проверка наличия элемента в множестве +True +>>> mnoz1.add("реле") # Добавление элемента в множество +>>> print(mnoz1) +{'линия связи', 'двигатель', 'микропроцессор', 'реле', 'датчик'} +>>> mnoz1.remove("линия связи") # Удаление элемента из множества +>>> print(mnoz1) +{'двигатель', 'микропроцессор', 'реле', 'датчик'} +``` +Придумала свой объект-множество с элементами разных типов и выполнил над ним некоторые операции: +```py +>>>mnozhestvo = {123, "Text", (1, 2, 3)} +>>>mnozhestvo.add(100) +>>>mnozhestvo +{'Text', 123, (1, 2, 3), 100} +>>>mnozhestvo.remove(123) +>>>mnozhestvo +{'Text', (1, 2, 3), 100} +``` +##9. Завершение работы со средой. +Сохранила файлы отчета в своем рабочем каталоге и закончила сеанс работы с IDLE. \ No newline at end of file diff --git a/TEMA2/report.py b/TEMA2/report.py new file mode 100644 index 0000000..0d7bfb9 --- /dev/null +++ b/TEMA2/report.py @@ -0,0 +1,311 @@ +#Протокол по Теме 2 Беженарь Алёна Николаевна +import os +os.chdir("D:\\ПОАС\\python-labs\\TEMA2") +f1=16;f2=3 +f1,f2 +(16, 3) +f1;f2 +16 +3 +dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'f1', 'f2', 'os'] +dir(f1) +['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes'] +type(f2) + +del f1,f2 +dir() +['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'os'] +gg1 = 1.6 # Значение в виде вещественного числа +hh1 = "Строка" # Значение в виде символьной строки +73sr = 3 # Неправильное имя – начинается с цифры - будет диагностика +SyntaxError: invalid decimal literal +and = 7 # Недопустимое имя – совпадает с ключевым словом - будет диагностика +SyntaxError: invalid syntax +import keyword +keyword.kwlist +['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +keywords = keyword.kwlist +keywords +['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +abs(-8800555) +8800555 +abs(-8800555) #Взятие модуля аргумента +8800555 +len("Test") # Расчет длины объекта +4 +max(1, 2, 3) # Поиск максимального числа среди аргументов +3 +min(0, -5, 10) # Поиск минимального числа среди аргументов +-5 +pow(2, 3) # При передаче 2 аргументов - возведение в степень, 3 - поиск остатка от деления на 3 аргумент. +8 +pow(2, 3, 3) +2 +round(2.5987,0) # Округление до количества цифр после запятой, переданного во 2 аргументе +3.0 +sorted([3, 7, 5, 9, -1]) # Сортировка по возрастанию (при reverse = True - по убыванию) +[-1, 3, 5, 7, 9] +numbers = [1, 2, 3, 4, 5] +total = sum(numbers) +total +15 +list(zip("abcd", [1, 2, 3, 4])) # Попарное объединение элементов +[('a', 1), ('b', 2), ('c', 3), ('d', 4)] +Gg1=45 +gg1;Gg1 +1.6 +45 +ii1=-1234567890 +ff1=-8.9876e-12 #экспоненциальная форма записи вещественного числа +dv1=0b1101010 #Это – двоичное число. +type(dv1) + +vsm1=0o52765 #Это – восьмеричное число +type(vsm1) + +shest1=0x7109af6 #Это – шестнадцатеричное число +type(shest1) + +cc1=2-3j +a=3.67; b=-0.45 +cc2=complex(a,b) +cc2 +(3.67-0.45j) +ss1='Это - строка символов' +ss1 +'Это - строка символов' +ss1="Это - строка символов" +ss1 +'Это - строка символов' +ss1a="Это - \" строка символов \", \n \t выводимая на двух строках" +print(ss1a) +Это - " строка символов ", + выводимая на двух строках +ss1b= 'Меня зовут: \n <Беженарь А.Н.>' +print(ss1b) +Меня зовут: + <Беженарь А.Н.> +mnogo="""Нетрудно заметить , что в результате операции +над числами разных типов получается число, +имеющее более сложный тип из тех, которые участвуют в операции.""" +print(mnogo) +Нетрудно заметить , что в результате операции +над числами разных типов получается число, +имеющее более сложный тип из тех, которые участвуют в операции. +ss1[0] #Это – символ «Э» +'Э' +ss1[8] #А это – символ «р» +'р' +ss1[-2] #А это – символ «о» (при знаке «-»(минус) отсчет от конца строки) +'о' +ss1[6:9] # Это часть строки – символы с 6-го индекса по 8-й +'стр' +ss1[13:] # Это часть строки – с 13-го индекса и до конца +'символов' +ss1[:13] # Это часть строки – с начала и до 12-го индекса включительно +'Это - строка ' +ss1[5:-8] # Это часть строки – с 5-го индекса и до 8-го от конца +' строка ' +ss1[3:17:2] # Часть строки – с 3-го по 16-й индексы с шагом 2 +' тоасм' +ss1[17:3:-2] # Часть строки – с 3-го по 16-й индексы с обратным шагом 2 +'омсаот ' +ss1[-4:3:-2] # Часть строки – с 4-го с конца по 3-й с начала индексы с обратным шагом 2 +'омсаот ' +ss1[4]='=' # Будет диагностика! +Traceback (most recent call last): + File "", line 1, in + ss1[4]='=' # Будет диагностика! +TypeError: 'str' object does not support item assignment +ss1=ss1[:4]+'='+ss1[5:] +print(ss1) +Это = строка символов +ss1b +'Меня зовут: \n <Беженарь А.Н.>' +ss1b[3] +'я' +ss1b[3-2] +'е' +ss1b[-3] +'Н' +ss1b[-3:] +'Н.>' +ss1b[0:-1] +'Меня зовут: \n <Беженарь А.Н.' +ss1b[3:-3] +'я зовут: \n <Беженарь А.' +ss1b[-23:0] +'' +ss1b[::-1] +'>.Н.А ьранежеБ< \n :тувоз янеМ' +ss1b[::-3] +'>.ьне :в е' +ss1b=ss1b[0:15]+ss1b[16:29] +ss1b +'Меня зовут: \n <еженарь А.Н.>' +ss1b=ss1b[0:14]+ss1b[15:29] +stringg = '15'+"ab" +type(stringg) + +a = 10 +type(a) + +b = 0.00800 +type(b) + +b = 0.8e-100 +type(b) + +c = 0-1j +type(c) + +var = c/b +type(var) + +b = True +type(b) + +b = None +type(b) + +spis1=[111,'Spisok',5-9j] +stup=[0,0,1,1,1,1,1,1,1] +spis=[1,2,3,4, + 5,6,7, + 8,9,10] +spis1[-1] # Если индекс отрицательный, то он отсчитывается с конца, но не с 0, а с 1 +(5-9j) +stup[-8::2] +[0, 1, 1, 1] +spis1[1] = "Список" +print(spis1) +[111, 'Список', (5-9j)] +dir(spis1) +['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] +len(spis1) +3 +help(spis1.append) +Help on built-in function append: + +append(object, /) method of builtins.list instance + Append object to the end of the list. + +spis1.append('New item') # В конец списка добавлен элемент «New item» +print(spis1) +[111, 'Список', (5-9j), 'New item'] +spis1+['Second New item'] #Конкатенация (исходный список не изменился) +[111, 'Список', (5-9j), 'New item', 'Second New item'] +print(spis1) +[111, 'Список', (5-9j), 'New item'] +spis1.append(ss1b) +print(spis1) +[111, 'Список', (5-9j), 'New item', 'Меня зовут: \n еженарь А.Н.>'] +spis1.pop(1) #Из списка удален элемент с индексом 1 +'Список' +list=[1,2,3,4,5] +list.insert(1, 3) # Вставка второго аргумента на индекс, определяемый первым аргументом +print(list) +[1, 3, 2, 3, 4, 5] +list.remove(3) # Удаление первого вхождения элемента, соответствующего переданному аргументу +print(list) +[1, 2, 3, 4, 5] +list.extend(list[:2]) # Продление списка +print(list) +[1, 2, 3, 4, 5, 1, 2] +list.sort() # Сортировка элементов списка +print(list) +[1, 1, 2, 2, 3, 4, 5] +list.reverse() # Изменение порядка следования элементов списка на противоположный +print(list) +[5, 4, 3, 2, 2, 1, 1] +list.copy() # Создание копии списка +[5, 4, 3, 2, 2, 1, 1] +list.count(2) # Подсчет вхождений в список для элемента, переданного в качестве аргумента +2 +list.index(3) # Вывод индекса в списке для элемента, соответствующего переданному аргументу +2 +spis2=[spis1,[4,5,6,7]] #здесь элементами являются два списка +print(spis2) +[[111, (5-9j), 'New item', 'Меня зовут: \n еженарь А.Н.>'], [4, 5, 6, 7]] +spis2[0][1] #обращение к элементу списка spis1 +(5-9j) +spis2[0][1]=78 #Значение элемента заменено на 78 +print(spis2) +[[111, 78, 'New item', 'Меня зовут: \n еженарь А.Н.>'], [4, 5, 6, 7]] +kort1=(222,'Kortezh',77+8j) +kort1= kort1+(1,2) +print(kort1) +(222, 'Kortezh', (77+8j), 1, 2) +kort1= kort1+(ss1b,) +print(kort1) +(222, 'Kortezh', (77+8j), 1, 2, 'Меня зовут: \n еженарь А.Н.>') +kort2=kort1[:2]+kort1[3:] +print(kort2) +(222, 'Kortezh', 1, 2, 'Меня зовут: \n еженарь А.Н.>') +kort1.index(2) +4 +kort1.count(222) +1 +kort1[2]=90 +Traceback (most recent call last): + File "", line 1, in + kort1[2]=90 +TypeError: 'tuple' object does not support item assignment +kort3 = (123, "Text", [1, 2, 3], (1, 2, 3)) +print(kort3) +(123, 'Text', [1, 2, 3], (1, 2, 3)) +dic1={'Saratov':145, 'Orel':56, 'Vologda':45} +print(dic1) +{'Saratov': 145, 'Orel': 56, 'Vologda': 45} +dic1["Orel"] # Обращение к элементам словаря осуществляется по ключам, а не по индексам +56 +dic1["Pskov"] = 78 # Добавление нового элемента в словарь +dic1 +{'Saratov': 145, 'Orel': 56, 'Vologda': 45, 'Pskov': 78} +sorted(dic1.keys()) +['Orel', 'Pskov', 'Saratov', 'Vologda'] +sorted(dic1.values()) +[45, 56, 78, 145] +dic2={1:'mean',2:'standart deviation',3:'correlation'} +dic3={'statistics':dic2,'POAS':['base','elementary','programming']} +dic3['statistics'][2] +'standart deviation' +dic4=dict([(1,['A','B','C']),(2,[4,5]),('Q','Prim'),('Stroka',ss1b)]) +dic4 +{1: ['A', 'B', 'C'], 2: [4, 5], 'Q': 'Prim', 'Stroka': 'Меня зовут: \n еженарь А.Н.>'} +dic5=dict(zip(['A','B','C','Stroka'],[16,-3,9,ss1b])) +dic5 +{'A': 16, 'B': -3, 'C': 9, 'Stroka': 'Меня зовут: \n еженарь А.Н.>'} +cort=(1,2,3,4) +cort=(1,2,3,4,5,6,7) +spisok = ["A", "B", "C", "D", "E"] +dictionary = dict(zip(cort, spisok)) +dictionary +{1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'E'} +AVTI = {"Курс I" : [22, 23, 17, 24, 30, 29, 28, 25, 23, 0, 4, 31, 30, 33, 18, 12, 27], + "Курс II" : [18, 16, 12, 15, 29, 18, 21, 23, 13, 0, 4, 20, 31, 26, 16], + "Курс III" : [17, 12, 0, 6, 17, 15, 19, 19, 0, 0, 5, 17, 22, 18, 12], + "Курс IV" : [27, 16, 0, 13, 17, 15, 19, 20, 0, 0, 2, 15, 18, 16, 17]} +AVTI["Курс III"][5] +15 +mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} +mnoz1 +{'двигатель', 'микропроцессор', 'линия связи', 'датчик'} +len(mnoz1) # Определение числа элементов +4 +"датчик" in mnoz1 # Проверка наличия элемента в множестве +True +mnoz1.add("реле") # Добавление элемента в множество +mnoz1 +{'микропроцессор', 'датчик', 'реле', 'двигатель', 'линия связи'} +mnoz1.remove("линия связи") # Удаление элемента из множества +mnoz1 +{'микропроцессор', 'датчик', 'реле', 'двигатель'} +mnozhestvo = {123, "Text", (1, 2, 3)} +mnozhestvo.add(100) +mnozhestvo +{'Text', 123, (1, 2, 3), 100} +mnozhestvo.remove(123) +mnozhestvo +{'Text', (1, 2, 3), 100} From c46eaac80894bd8ab2cf19a5b780387d65b99ace Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sun, 21 Sep 2025 17:39:17 +0300 Subject: [PATCH 06/20] =?UTF-8?q?edit:=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TEMA2/report.md b/TEMA2/report.md index 7b7b489..1d52036 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -2,7 +2,7 @@ Беженарь Алёна Николаевна -#Базовые типы объектов +##Базовые типы объектов ##1. Установка рабочего каталога. Создание рабочего протокола. В оболочке IDLE установила актуальный рабочий каталог, а затем в нём создала рабочий протокол. From 071b3efe375efcb1def7ed66a3b48bcc0275cb31 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sun, 21 Sep 2025 17:42:36 +0300 Subject: [PATCH 07/20] =?UTF-8?q?edit:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=B3=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=D0=BA=D0=BE=D0=B2=20(2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/report.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/TEMA2/report.md b/TEMA2/report.md index 1d52036..0416280 100644 --- a/TEMA2/report.md +++ b/TEMA2/report.md @@ -2,13 +2,13 @@ Беженарь Алёна Николаевна -##Базовые типы объектов +## Базовые типы объектов -##1. Установка рабочего каталога. Создание рабочего протокола. +## 1. Установка рабочего каталога. Создание рабочего протокола. В оболочке IDLE установила актуальный рабочий каталог, а затем в нём создала рабочий протокол. ![Изменение директории и создание report.py](figure0.png) -##2. Изучение простых объектов. +## 2. Изучение простых объектов. Рассмотрим операции присваивания значения объектам-переменным ```py >>> f1 = 16; f2 = 3 @@ -41,7 +41,7 @@ ``` Как видно из вывода после команды, f1 и f2 полностью пропали из оперативной памяти. -##3. Изучение правил наименования объектов в Python. +## 3. Изучение правил наименования объектов в Python. Изучила правила наименования объектов на данном примере: ```py @@ -53,7 +53,7 @@ SyntaxError: invalid decimal literal SyntaxError: invalid syntax ``` -##4 Изучение ключевых слов +## 4. Изучение ключевых слов Вывела список ключевых слов с помощью инструкции: ```py @@ -68,7 +68,7 @@ SyntaxError: invalid syntax ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] ``` -##5. Изучение встроенных идентификаторов. +## 5. Изучение встроенных идентификаторов. Вывела в консоль список встроенных идентификаторов: @@ -111,7 +111,7 @@ total >>>list(zip("abcd", [1, 2, 3, 4])) # Попарное объединение элементов [('a', 1), ('b', 2), ('c', 3), ('d', 4)] ``` -##6. Проверка имён объектов на чувствительность к регистру. +## 6. Проверка имён объектов на чувствительность к регистру. Убедилась, что имена объектов в Python являются регистрочувствительными: ```py >>>Gg1=45 @@ -119,9 +119,9 @@ total 1.6 45 ``` -##7. Изучение простых типов объектов. +## 7. Изучение простых типов объектов. -###7.1 Изучение логического типа (bool). +### 7.1 Изучение логического типа (bool). Пример создания объектов логического типа: ```py >>>bb1=True;bb2=False @@ -131,7 +131,7 @@ False >>>type(bb1) #функция, показывающая тип (класс) объекта ``` -###7.2. Изучение остальных простых типов. +### 7.2. Изучение остальных простых типов. Рассмотрела остальные простые типы, такие как int (целые числа), float (вещественные числа) и complex (комплексные числа): ```py >>>ii1=-1234567890 @@ -152,7 +152,7 @@ False (3.67-0.45j) ``` -###7.3 Изучение строкового типа (str). +### 7.3 Изучение строкового типа (str). Строки символов можно заключать в одинарные или двойные кавычки: ```py @@ -242,7 +242,7 @@ TypeError: 'str' object does not support item assignment >>>ss1b 'Меня зовут: \n <еженарь А.Н.>' ``` -###7.4 Выполняю задание, самостоятельно закрепляю изученные типы переменных. +### 7.4 Выполняю задание, самостоятельно закрепляю изученные типы переменных. ```py >>>stringg = '15'+"ab" >>>type(stringg) @@ -269,8 +269,8 @@ TypeError: 'str' object does not support item assignment >>>type(b) ``` -##8.Изучение сложных типов объектов. -###8.1. Изучение списков. +## 8.Изучение сложных типов объектов. +### 8.1. Изучение списков. Рассмотрела такой объект Python, как списки - упорядоченные по местоположению коллекции объектов произвольных типов, размер которых практически не ограничен: ```py >>>spis1=[111,'Spisok',5-9j] @@ -365,7 +365,7 @@ append(object, /) method of builtins.list instance >>>print(spis3) [100, 'Test', True, [111, 78, 'New item', 'Меня зовут: \n еженарь А.Н.>']] ``` -###8.2. Изучение кортежей. +### 8.2. Изучение кортежей. Объекты-кортежи очень похожи на списки, но их нельзя изменять, также литерал кортежа заключается в круглые скобки, а не в квадратные как у списков. В примере ниже рассмотрены варианты создания кортежей и их 2 основных метода: ```py >>>kort1=(222,'Kortezh',77+8j) @@ -394,7 +394,7 @@ TypeError: 'tuple' object does not support item assignment >>> print(kort3) (123, 'Text', [1, 2, 3], (1, 2, 3)) ``` -###8.3. Изучение словарей. +### 8.3. Изучение словарей. Объект-словарь представляет из себя набор пар «ключ-значение», причем в качестве ключей могут использоваться неизменяемые типы объектов, а в виде значений - объекты любых типов: ```py >>>dic1={'Saratov':145, 'Orel':56, 'Vologda':45} @@ -450,7 +450,7 @@ TypeError: 'tuple' object does not support item assignment >>>AVTI["Курс III"][5] 15 ``` -###8.4. Изучение объектов-множеств. +### 8.4. Изучение объектов-множеств. Объекты-множества – это неупорядоченные совокупности неповторяющихся элементов неизменяемых типов. Пример создания такого объекта: ```py >>>mnoz1={'двигатель','датчик','линия связи','датчик','микропроцессор','двигатель'} @@ -480,5 +480,5 @@ True >>>mnozhestvo {'Text', (1, 2, 3), 100} ``` -##9. Завершение работы со средой. +## 9. Завершение работы со средой. Сохранила файлы отчета в своем рабочем каталоге и закончила сеанс работы с IDLE. \ No newline at end of file From 24738d62e17fec27e0adee41f5d8dbcb2be0811d Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sun, 21 Sep 2025 18:23:14 +0300 Subject: [PATCH 08/20] =?UTF-8?q?new:=20=D0=9E=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 TEMA2/task.md diff --git a/TEMA2/task.md b/TEMA2/task.md new file mode 100644 index 0000000..50c3c15 --- /dev/null +++ b/TEMA2/task.md @@ -0,0 +1,52 @@ +# ОКЗ по теме 2 + +Беженарь Алёна Николаевна + +## Задание + +Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: +• Создать переменную с именем familia и со значением - символьной строкой – своей фамилией в латинской транскрипции. +• Создать переменную со значением, совпадающим с первой буквой из familia. +• Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python. +• Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка. +• Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это tuple. +• Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов. +• Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима». +• Создайте словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. + +## Решение + +```py +>>> familia = "Bezhenar" # 1 пункт +>>> firstLetter = familia[0] # 2 пункт +>>> print(firstLetter) + B +>>> import keyword # 3 пункт +>>> sp_kw = keyword.kwlist # 3 пункт +>>> print(sp_kw) + ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +>>> sp_kw.remove("nonlocal") # 4 пункт +>>> print(sp_kw) + ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] +>>> kort_nam = ("Alyona", "Lena", "Deniska", "Yuriy") # 5 пункт +>>> type(kort_nam) + +>>> kort_nam += ("Artyom", "Dima") # 6 пункт +>>> print(kort_nam) + ('Alyona', 'Lena', 'Deniska', 'Yuriy', 'Artyom', 'Dima') +>>> kort_nam.count("Dima") # 7 пункт + 1 +>>> dict_bas = {'строка': familia,'список': sp_kw,'кортеж': kort_nam} # 8 пункт +print(dict_bas) +{'строка': 'Bezhenar', 'список': ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'кортеж': ('Alyona', 'Lena', 'Deniska', 'Yuriy', 'Artyom', 'Dima')} +>>>dict_bas.keys() +dict_keys(['строка', 'список', 'кортеж']) +>>>dict_bas.values() +dict_values(['Bezhenar', ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], ('Alyona', 'Lena', 'Deniska', 'Yuriy', 'Artyom', 'Dima')]) +``` +Второй способ: +```py +dict_bas = dict([('строка',familia,),('список',sp_kw),('кортеж',kort_nam)]) +print(dict_bas) +{'строка': 'Bezhenar', 'список': ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'], 'кортеж': ('Alyona', 'Lena', 'Deniska', 'Yuriy', 'Artyom', 'Dima')} +``` From 7eb889a9aac17094f172bca38fca6791aef3f8e2 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sun, 21 Sep 2025 18:24:37 +0300 Subject: [PATCH 09/20] =?UTF-8?q?edit:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=BE=D1=87=D0=B5?= =?UTF-8?q?=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/TEMA2/task.md b/TEMA2/task.md index 50c3c15..89c42ed 100644 --- a/TEMA2/task.md +++ b/TEMA2/task.md @@ -6,14 +6,22 @@ Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: • Создать переменную с именем familia и со значением - символьной строкой – своей фамилией в латинской транскрипции. + • Создать переменную со значением, совпадающим с первой буквой из familia. + • Создать переменную с именем sp_kw со значением – списком всей ключевых слов языка Python. + • Удалите из списка sp_kw значение 'nonlocal'. Выводом списка в командном окне IDLE убедитесь, что это значение удалено из списка. + • Создайте кортеж kort_nam с именами: вашим и еще 3-х студентов из вашей группы. Напишите инструкцию, позволяющую убедиться, что тип переменной – это tuple. + • Напишите инструкцию, добавляющую в kort_nam имена еще двух студентов. + • Напишите инструкцию, позволяющую определить, сколько раз в кортеже присутствуют студенты с именем «Дима». + • Создайте словарь dict_bas, в котором ключами являются русские названия типов переменных, использованных в предыдущих операторах, а значениями – ранее созданные переменные, соответствующие этим типам. + ## Решение ```py From e644f2b1658869f9625baa13ff81abb2315b1458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 22 Sep 2025 09:55:46 +0300 Subject: [PATCH 10/20] =?UTF-8?q?new:=20=D0=98=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA1/task.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 TEMA1/task.md diff --git a/TEMA1/task.md b/TEMA1/task.md new file mode 100644 index 0000000..ed37b19 --- /dev/null +++ b/TEMA1/task.md @@ -0,0 +1,9 @@ +# Индивидуальное контрольное задание по Теме 1 +Беженарь Алёна Николаевна + +## Вопрос №11 +В каком месте инструкции можно написать комментарий? + +## Ответ + +Комментарий можно написать после инструкции, но обязательно после символа #. Всё что будет после этого символа до конца строки будет считаться комментарием. Если же написать символ # перед инструкцией, то при запуске на выполнение она не выполнится. Также частой практикой является написание комментария на строке выше(перед инструкцией, но нена одной с ней строках). \ No newline at end of file From 912744620fb8387d916f01764cedb9f0a3186877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 22 Sep 2025 11:29:35 +0300 Subject: [PATCH 11/20] =?UTF-8?q?new:=20=D0=98=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task1.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 TEMA2/task1.md diff --git a/TEMA2/task1.md b/TEMA2/task1.md new file mode 100644 index 0000000..b74ecba --- /dev/null +++ b/TEMA2/task1.md @@ -0,0 +1,27 @@ +# Индивидуальное контрольное задание по Теме 2 +Беженарь Алёна, А-02-23 + +## Задание (10) +Создайте два объекта +x=(1,2,3,4,5) +y=(11,22,33,44,55) +К какому классу относятся эти объекты? Объедините их и напишите инструкцию расчета суммы элементов, находящихся на 4,6,8… позициях. + +## Решение +Создаем два объекта и смотрим их классы: +```py +>>>x=(1,2,3,4,5) +>>>y=(11,22,33,44,55) +>>>type(x);type(y) + + +``` +Напишем инструкцию рассчета суммы элементов, находящихся на 4,6,8... позициях: +```py +>>>xy=x+y +>>>xy +(1, 2, 3, 4, 5, 11, 22, 33, 44, 55) +>>>summ=sum(xy[3::2]) +>>>summ +103 +``` \ No newline at end of file From ff9e411e0473468fa225f55d937018e85d89af46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2014=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 22 Sep 2025 11:31:32 +0300 Subject: [PATCH 12/20] =?UTF-8?q?edit:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D1=83?= =?UTF-8?q?=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA2/task1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TEMA2/task1.md b/TEMA2/task1.md index b74ecba..6b85fa9 100644 --- a/TEMA2/task1.md +++ b/TEMA2/task1.md @@ -16,7 +16,7 @@ y=(11,22,33,44,55) ``` -Напишем инструкцию рассчета суммы элементов, находящихся на 4,6,8... позициях: +Объединим списки в один и напишем инструкцию рассчета суммы элементов, находящихся на 4,6,8... позициях: ```py >>>xy=x+y >>>xy From 501ab60a6cd30b54faa33be351a9fa9995b15b19 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sat, 4 Oct 2025 22:31:56 +0300 Subject: [PATCH 13/20] =?UTF-8?q?new:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=20=D0=B8=20?= =?UTF-8?q?=D0=9E=D0=9A=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA3/figure0.png | Bin 0 -> 17344 bytes TEMA3/report.md | 674 ++++++++++++++++++++++++++++++++++++++++++++++ TEMA3/report.py | 481 +++++++++++++++++++++++++++++++++ TEMA3/task.md | 54 ++++ 4 files changed, 1209 insertions(+) create mode 100644 TEMA3/figure0.png create mode 100644 TEMA3/report.md create mode 100644 TEMA3/report.py create mode 100644 TEMA3/task.md diff --git a/TEMA3/figure0.png b/TEMA3/figure0.png new file mode 100644 index 0000000000000000000000000000000000000000..530a6ae2b8d500a11c3c54026175eb8378c6019b GIT binary patch literal 17344 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