From 311ed176285a8a01895fcc607853e993440fdd77 Mon Sep 17 00:00:00 2001 From: Mu-ty831 <3860902720@qq.com> Date: Mon, 28 Apr 2025 19:37:38 +0800 Subject: [PATCH 1/4] Update hello_world.py --- exercises/hello_world.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exercises/hello_world.py b/exercises/hello_world.py index a1306fd..0d9cc85 100644 --- a/exercises/hello_world.py +++ b/exercises/hello_world.py @@ -10,7 +10,7 @@ def print_hello_world(): """ 输出"Hello, World!" - + print("Hello,world") 用于学习print函数的基本使用 """ - pass \ No newline at end of file + pass From 1a4ddb35fa405f6c355cda390cd790fe6fb5d22b Mon Sep 17 00:00:00 2001 From: Mu-ty <3860902720@qq.com> Date: Mon, 28 Apr 2025 21:18:49 +0800 Subject: [PATCH 2/4] Update hello_world.py --- .vscode/settings.json | 7 +++++++ exercises/hello_world.py | 1 + 2 files changed, 8 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9b38853 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "python.testing.pytestArgs": [ + "tests" + ], + "python.testing.unittestEnabled": false, + "python.testing.pytestEnabled": true +} \ No newline at end of file diff --git a/exercises/hello_world.py b/exercises/hello_world.py index 0d9cc85..1315bb6 100644 --- a/exercises/hello_world.py +++ b/exercises/hello_world.py @@ -13,4 +13,5 @@ def print_hello_world(): print("Hello,world") 用于学习print函数的基本使用 """ + print("Hello,World") pass From fc3c309ca3e08ea1988103f4a52d57a2ddebb7a3 Mon Sep 17 00:00:00 2001 From: Mu-ty <3860902720@qq.com> Date: Mon, 28 Apr 2025 21:31:48 +0800 Subject: [PATCH 3/4] Update hello_world.py --- .../__pycache__/break_continue.cpython-312.pyc | Bin 0 -> 661 bytes .../__pycache__/data_types.cpython-312.pyc | Bin 0 -> 722 bytes .../__pycache__/dict_operations.cpython-312.pyc | Bin 0 -> 793 bytes .../__pycache__/file_operations.cpython-312.pyc | Bin 0 -> 921 bytes exercises/__pycache__/for_loop.cpython-312.pyc | Bin 0 -> 587 bytes .../__pycache__/function_params.cpython-312.pyc | Bin 0 -> 750 bytes .../__pycache__/hello_world.cpython-312.pyc | Bin 0 -> 638 bytes exercises/__pycache__/if_else.cpython-312.pyc | Bin 0 -> 745 bytes .../__pycache__/list_operations.cpython-312.pyc | Bin 0 -> 732 bytes .../__pycache__/math_module.cpython-312.pyc | Bin 0 -> 585 bytes .../__pycache__/oop_basics.cpython-312.pyc | Bin 0 -> 1865 bytes .../__pycache__/regex_match.cpython-312.pyc | Bin 0 -> 1445 bytes .../__pycache__/set_operations.cpython-312.pyc | Bin 0 -> 749 bytes .../string_formatting.cpython-312.pyc | Bin 0 -> 680 bytes .../__pycache__/string_split.cpython-312.pyc | Bin 0 -> 1316 bytes .../__pycache__/while_loop.cpython-312.pyc | Bin 0 -> 712 bytes exercises/hello_world.py | 2 +- tests/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 228 bytes ..._break_continue.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 4339 bytes ...test_data_types.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 7825 bytes ...dict_operations.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 3645 bytes ...file_operations.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 7078 bytes .../test_for_loop.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 4185 bytes ...function_params.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 5365 bytes ...est_hello_world.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 1844 bytes ...t_http_requests.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 13694 bytes .../test_if_else.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 7204 bytes ...list_operations.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 4691 bytes ...est_math_module.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 8308 bytes ...test_oop_basics.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 16174 bytes ...est_regex_match.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 19735 bytes ..._set_operations.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 2782 bytes ...ring_formatting.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 3044 bytes ...st_string_split.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 15100 bytes ...test_while_loop.cpython-312-pytest-8.3.5.pyc | Bin 0 -> 4361 bytes 35 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 exercises/__pycache__/break_continue.cpython-312.pyc create mode 100644 exercises/__pycache__/data_types.cpython-312.pyc create mode 100644 exercises/__pycache__/dict_operations.cpython-312.pyc create mode 100644 exercises/__pycache__/file_operations.cpython-312.pyc create mode 100644 exercises/__pycache__/for_loop.cpython-312.pyc create mode 100644 exercises/__pycache__/function_params.cpython-312.pyc create mode 100644 exercises/__pycache__/hello_world.cpython-312.pyc create mode 100644 exercises/__pycache__/if_else.cpython-312.pyc create mode 100644 exercises/__pycache__/list_operations.cpython-312.pyc create mode 100644 exercises/__pycache__/math_module.cpython-312.pyc create mode 100644 exercises/__pycache__/oop_basics.cpython-312.pyc create mode 100644 exercises/__pycache__/regex_match.cpython-312.pyc create mode 100644 exercises/__pycache__/set_operations.cpython-312.pyc create mode 100644 exercises/__pycache__/string_formatting.cpython-312.pyc create mode 100644 exercises/__pycache__/string_split.cpython-312.pyc create mode 100644 exercises/__pycache__/while_loop.cpython-312.pyc create mode 100644 tests/__pycache__/__init__.cpython-312.pyc create mode 100644 tests/__pycache__/test_break_continue.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_data_types.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_dict_operations.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_file_operations.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_for_loop.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_function_params.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_hello_world.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_http_requests.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_if_else.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_list_operations.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_math_module.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_oop_basics.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_regex_match.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_set_operations.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_string_formatting.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_string_split.cpython-312-pytest-8.3.5.pyc create mode 100644 tests/__pycache__/test_while_loop.cpython-312-pytest-8.3.5.pyc diff --git a/exercises/__pycache__/break_continue.cpython-312.pyc b/exercises/__pycache__/break_continue.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ee4e94a40ad53bf5b65ec9830b307b19782480d0 GIT binary patch literal 661 zcmX@j%ge<80;T*JM;I9x9)meh0>}r0&wM~?IztLW6hjJQ3qurRC6gv|=`x@o*Yn-Y zPj)V_Qb;OFP0W5esV6x!}~q6xL)j^@^tpRC%gL$ zpLT4>dp@h>S!ctuIh`-(&NBvbo;LJ8o4NrcI&}+>@w8+5i-jv5H#Bi^y;#5f#lode zTUR{U(fxAnB9Pkly+9@J_w+p3yZ`x=6{uFe*uMG2{&s|sATyF-9)Wm=fq@yw_{;+K zR3)P(Q|Wq;R}_GN3`c_Xfr+R6O+a^9f!VqWc~%O~)-Hy4=gE$)moq0IR6?wQsf2~e zlO1azVe({0@3R@}5q>}m7O**fD;YEyZ!zW-gZ!rO%Qx97CbT%Us5r*h#L(O<#wE2l zyClCLCZMt;BR@|!q$n{nFEcM)*Eun_K-Vd;I5RmWwIa1BIkPymI0hVf@vv~zE2z9B zUYwm-5T9F`Q<7PblUf{~pB7(|QIwim#0Cl}ATDMH5)BL=#28pPKLeQzews|T*yH0< z@{{A^!K#Wtfm{SqR>TS@aE?mu0l49Z`nh@hc-MDF7=%$%uLSWJoEsz;VoZZO7))pLM zXlSTbu@Px3h{gx6$`9}#u!S=-tf*n<$}=-f#l)M;neU#*_nrANKRq5w%#&DHbvX$c zSeKK)oV+LV2#O>`mPv?7lVwJBc%2D1mZ{!J4O?&g>^(WY8jXOuGg?>SMONExXt}!n zsRMgkbX58Q?aH`Yg4b=mtWfQF)yU8?pxeaXN>bbYg2{pMMEhFTlPw!Vt*9SXhRx68?lVv~?In?9 zc+}Gi)q#?v)cE+_D8GYDb=ce*y?SdZtRLa@xSKV41=!uwYWsS*j`?X#{7_K3CP8r8 zHWQ@u}28?AOL*sXpG`&h_kAphb2 zgPD}xN&DFgwhxQ!sSS(lsS603DQFaMb+1LabU;LFU)+)Wz8my&4VfJha<0+sW{{Q42Tq^-g7xZg@J=%9{PdS_5D!B<#A6Q?L{TW>K|K!-dKrNbl4yflQr@I!FQfL?#;msJ ze&|-G6IVLuFFe?euJ#Y`Kj?LN(|B^)nu4;B({CNKf*P^AKwT8DVpvLy_RqJ0G zXyt>Q=@AWa?9a0auzxV}J6@Aim`*GbZ!8|}F|Z;w;(5&HP-EXoIsp~ac=M<;kFbxF zd6|z3Mr@44Za2}l>`A%ZUqxHn0JDo+RKI;u&9h0EZMfngLV65uO5(Ch^pmq*cQ?mxa?S`7EY0u%u}csvI~YlnZef>%tZ_a5=gUQ-yp#Ak|y%JgAbBYN8HJ~QfF^1Xi{Qc hz73~wmb6hPf7OwXqNrbVfb#!7KTQQkmqL`Q`WJQ|WnlmS literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/for_loop.cpython-312.pyc b/exercises/__pycache__/for_loop.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b077483b7f8b368b3bb4af4788475f6c7a9d1b79 GIT binary patch literal 587 zcmX@j%ge<80;T*J4U7y7kHH)$0px?hXFeb`ogsxGiXnxug&~Tul1Y=fbUILw>-p~H zCp#BdDWv5WJ>9qJdEa_2u4n!IFZOSEzh@TLi**a1ubcj4cc0b z3b^S+nwSi8ImG=849q~rXBMz8Dj7AIO4~qgR{#Pc3HV{5Px>kk60~bLQKdb8G?jBAVr7)m?H*QDod7So5musBYz08MQIT!A2kCZ zB7r~)6sUxg4W~_-KY;%rYyE6zN>O0x#Cy+)sB+Rf-<|Gvzq_COYk8Rg*sPW81sZ@O zl1v=RiH*;qPYp<56-Y6O-k?^gB9)9=e^HqU4%WTS$21F{_WWuaI(4tJ>A73bE~AuT zeA^ED?NPVRz)Axi?0as>bN51LJ8){l_dCJYR#4xFut%jb19!`Q^PO+M@(vrG`x&)H zgGSvK6HK-5zv;l`IN=-!o literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/hello_world.cpython-312.pyc b/exercises/__pycache__/hello_world.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ab6edf8b6a093d1f4a714dafafdcd541075255bf GIT binary patch literal 638 zcmX@j%ge<81Rd4<85N8S439w^7y$CY;4>ePn$D2I5XF$f*uoISSjnWxT)G7)$n|`8 z^OKzmtP~20GV@9lUhJFvw0+l$^=qH@FXiHT*5ChP|AzN_W^ujPKl9m)^#PS78TolH z)~y9W`9(P?ib{_g znz*=Ltl$1(;nJtAE1vA=emQp$(2S?;d!J1O+S2oM-Mr_08?b5xDeId5qIoaKjAV$X zAS5%80^!e6Kw>&W3CzntkFJKY85zLd1!?0_00OKwfMvjepaFGuImp#YnqZ0NQ&v3L z)%SGmGGJJN6+s*ga@PD^&*rRovUfjF30P?rFN&}IG#PKPg0-w<_zZLb!!NI7tC-N@ z)S}`TV-rJjvly4u;_QV_00X69w)rRzE;<`(EWB^GBU$D~%I7A0pErxwR# zfI>7L>@>ZC%3Fe9ljD&@i`YTl1ma?TAko0^g@=Kat3&?^i_{Gkjv`i|n4c!oE%x~M zl>FrQc(Cds7N96ts)!B9y2W9Wo1apelWJGQ3FLwT5p326W=2NFk4)^0ET4tg89Bik E00XM&MgRZ+ literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/if_else.cpython-312.pyc b/exercises/__pycache__/if_else.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e2a88e27eb6117c5c29e658d00db47eab0c062d0 GIT binary patch literal 745 zcmY*Vzi-n(7(F`;B`&2~Ck78J8H`eaT8K&qK#UawER`iIvagNRG>LqTM7Gc$kOCzP zDWIa36cI{?G##KMO{)F@{0CW+v&}?NHYUEiOH{>@Kfin5_dUORzeYzD#GcGp{JM-# zn;&{b>V3Oc0lY^RnnRYfhUTQK91dgx&{n+0YNuX`s`k8w6TA?tx;uNF#<5?m&_Y>J z+(N-WJNnbyR@_qE-8`g~uU_$!x4q`(-+GM$n*ZXytI+jhud?Bt?6-3(il&N|I&)XO z6N##w<_B*-H$dM8+TW2!)90^mxrf|*7n*Ege$prv(hj?OHDJ*Ax08~_Xde_fC z2T}j5NI&ihE#BmX7FM7a_gxJnK6R`mhK>-j6aHgLI^E-Qh!cr^9Z4h=#_1{A?sy`vvA^Oc*6H}A=156f| zQ)&HCb~&C(YLA_mowSn++Wpv4TDun`wyEQ%*fDK_iEhsuI6?4@bhb5O#<96*EI2U> zJC{Iu3|=w}C5O((Q83g6h-SlbYuGTXlxY}z%3;|$Y|IHlXljQ5Po)olDG<$SSm4DnXp8V5D26QF#vPK083@bvf`)KqOl`C8jl1t9(Jso!2IUcVx{LY^HYHfJj!{K2cg3)8&KihI<af4>*1I9Xz+U1w|KP~) zyvNIX!>_BO?Hy8tpB=le32b!&&+l*fohsg_cpumP02BzFevT<% z6XibvA?74cXLeF&13Gcq5yi+R2+v>nLQZ^$pn=3|*RS5ZA>M=Nk*Sx&`(<-p*Rl@` zS=Cf+E_+ulma=zbq!vW@1R4buK_o7y$dt~I(Unr!nTc9T6EP!6S5FS2Z(@U!i{M;p zOiYj$SSKM#ie8YUAj_b$87Zo0u9Lh~)D>$1-ZrL)OaD+bP1H$@VVIw6f{BkWq?uGu F@Ef2_C^7&5 literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/math_module.cpython-312.pyc b/exercises/__pycache__/math_module.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0d6182d7dd09d8e35bdc6b27da8c17c8fd92268b GIT binary patch literal 585 zcmX@j%ge<80;T*J)r<@bkHH)$0px?hXFeb`ogsxGiXnxug&~Tul1Y=fbP7-p~H zCp#BdDLmP`|M`>^xrrqi&sHpaI(Ir3*R%fq7yCE7-!qE~UGBxYh0oVbf4Xz?vuQh@ zE!g?Ep^1y@#ro|p7A}3-y5h->?w4~HJ)hO`w0-ZhsX+Zb=-PpD#f3#B5P2+SCBvKz zaXbS9Gm!C_1?+`NMop&DQjo(HfB>QyXv@>J(?K@ETm+T`6Hoh_fYMfAwyr{6X>L+# zk(I*Bx$|CZnGcjeD15Ph%G25NU<>9>+WlkpZC#F%1`GZlV$C0oUW7N-^!#~7O! znw!PAq!wqF*QGR|&5gW+AKwQiYBpMh#h%vBoeg-lb z{4|+vvB$@!=lVK!(+aTU<8#mV`Q795 zhu_a4@}$pQEA=7t)I3Tm4LnJVHB)EQYQSB%rxbtY#mGK0;=|4fn z>dh&&z8T^U@BWC3-{DH#xL?v+D|&ej-)rclEX!((i$=TpthL7CJ7w+8uhc`W?LTYH zYq>J6PUHO@h=F%<>f>d6u%^~$_4`fy{X8zL<7R`#1Y^B8ZS4MZI+4DXhg=X@+sWbf zqo>&%%Nmv6jnX#0SypRv-~lF|q|$;IPeEh|g%39Lg{r<@!#5vjD|PL`GVzL95SSmv zI#_s!2zrOk1!mMOxBvr>iG)}10N*OnM;6|NbZ%3V$Yx zk{o{Xt;=s;34b8UU!@Ys@W+|dwM0DlsT2V$;1+p)SNa3UAMIa;(QdYa&J$vs%llwV$26O7`%< zhWca<*MBprQ~FYwZa34#B*#$>!j2>B-C51Y_Kt;TZ%fK>R1za8k(cQz=f&&rZ%>HQ zd8jJ{Z}&$XM&2_Pq;83HPQf5%Cs0!Q-=QeKE4>O@GUoCHAkWGK!s>bjGoBGgRv$wsSu5g@u0?oF~k_SkS3ebU14KC$lF%oV#=p& zD74W+RSH3+q!^H5P@$!8HvR{_vTwINiS*{ld2b66Byw_-H#_^@yqVwpW@f)PG*}q& z1W$EKW`^0OA5~$fzAG0%NiqV{!3eBi@UR`MU>ssP41x)yQ80rv^%<-ug3rLvqU8sb z^;rj}F1^R$*QK|a(&i@Kh~emZd3elX!KsXzTGWk{wWS{$QKc}8vm@1=!j_iEJm?E_ z`+eG*p+i2@=`@}j(&8iP%IVr?nRA+)KmmwYl+WzDPA7rTKm}p3+v|krXJ@eKV?*wi0-1=FeS^BnN;nYDs`ZHgPyh?&?_n0s==k zoCIpAx7Gz_fi0Q{0GTAt{krFNINN0r$90w%_q^lEQ$P5U;Qw23Ls-|){_Enqh z-{XDX8vVe_Rwb(d3oGA}xw8VuT*aGV}eakvM1plihgO`zurUZIyt z%hP%``>9hG`~7sdCp!IpkAuVW1L{l)Fdm&d%olB?HWU=;>={b?|2pWy^8x7z}5C8xG literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/set_operations.cpython-312.pyc b/exercises/__pycache__/set_operations.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..944f3f314fea09652326820faa49b152f37bbb57 GIT binary patch literal 749 zcmX@j%ge<80;T*J(o75tkHH)$!3d>4^8p#t8B!Rc7*ZHp7@`;}nKYS8mjVU3p6_mc zvU7oz!pqrhPbYLdo80?k?;I|!XZ`&z_HTH*6rsWhqGDGMb`|*rsYQt;nfZBE z3J}YlZ`}QKUbljVQfVGgR7pocDKoDmwWv5X8KertPsvP6OD#&xOHNhN1lt29UhJRp zboM-$(;(puHE~wU^WBr5&6@*O=eLqUllc}4$n9X#=oTm34aJ}^0{ZorZ?aWPXfe>% z7-JJdbF&zi)Z*-t{DPQ(%94!yJl&9@#LT?RymVdX#M}a1r^MpS)%~0Emm(fkXqt2Pp)=dU}j`w{K&-4$nsf;myr{!0RZ4x BGd}9)meh0>}r0&wM~?IztLW6hjJQ3qurRC6gv|=@y_M*Yn-Y zPj)V_Qh2&{`tvo*p6uB4Y{8zVd-|XDOylBu*5ChP|AzN_W^p~)yZ`x=6=}M~B}JKe z>BVq0PuDJcK4t!s{R^Kpu7BLn#KrYu{q`3Nmp*M>@nlE$%ejl5&uV$vzW3QwpdmeI zW<1@{2GI>tvwZT?3B6Az^*r6V<>kH>xbaVR?0T}J;mM9waMyt>NoIoh3QjTuS)W;e z#B_#AMop&DH9#hp0uZ2C2{#wn*q(4|&jwyr{6Vs0uZSU?_xxDP6kn2rz! zI~QTXi~Uoc&YlM|0b$*QK9DDo!V2ymuwK8F44O>0SU@)3Vg?#t4Dz6Y!mog2tC-N@ z)S}`TV-rJjvly4u;_Q^2 NWce(_!^jEN002SE7?}V7 literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/string_split.cpython-312.pyc b/exercises/__pycache__/string_split.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f8c169f253d5efdee81f9a5a5b5ba38b2147700e GIT binary patch literal 1316 zcmaiz%TE(=5XX1>uuuhw7twgwlc9+vF&a%8V~lt+AtpW!q{(KpyOD;z^4nJFtwIq9 z#WtqU1bJ1XLZpR&Kub&d2lyZK;(`5bwu zD|m76kBOoV$V1K0wcqMhaFUcj4Nw9dp$2Hd0M;NF!5Tv*n>n}x3D$CcRL(6s7@SU) z*S^TvO+4`yPi|VRN-U-pHx3JPR(ZczPOM0Nw=2+NQ)Y9@){LIis5vY|l~^3dX7Sio zC6SSfDdo-jL3qS!Ro8db)Mq@lB4?*63m?mK5j?)H%z$q6Y+0P!(Pfp%aAiK+l;!I~ z)@G%Q;8cMG3>>0uhG143je$$fzf)$%mH9O}n{I7UU7sd#VsLB(T5=HI&IH8a0Pu*8 z;rKUw9!Q49b)D9k8&NqoRY`saNafW%Ww`)!DszdZzFJJ+4~upES{vhg8Vte<^zlSe zO|6iU{#D9GmrPn4k~Syv`!VluK9@u!Id9#*dH0UJ*!_oDU0#Gr!TbW3o)2X&W6=g6tF7OnI?&oqvnlX2h&=4 zf^a&iWVRc4E8!%L?fxHc?cm}O(1BVFatm9eZ3^IRtAATZjLh)5)amDtB(n7oIu9?q z;YJ!5)CT5EB0nLCj0=lbPHf|JyfTuJ^E-Hc122RdO9-o?Ozh(LG=3k&OH1JVi;?Kz zTy6(*TB{Y4PF>FK1z}6PoJV{h_@K_)%lkY{;gf5qb2{A!*~-y!KEm|W)ow7loQ-Jp z*BP2gZ><0?*LO?nf#tjcs~4h9z;a!K*dW<&GnFhX#Cet_8%SuAM50e{>&Mb|&*Kw< lZt*_q0txLeAzcA;WTa{Om%&1tjxSxH+mEk-scMFl{srtNAL#%9 literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/while_loop.cpython-312.pyc b/exercises/__pycache__/while_loop.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cd3387e71565cc027f6a40f8290d81c7a2816b37 GIT binary patch literal 712 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 If57Pfzx*cN2mk;8 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_dict_operations.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_dict_operations.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f7b86004a5244c100053d8493a91c7882b3e7ac1 GIT binary patch literal 3645 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 Zw6((PYkd>z;N(AS>DacGg~Q?q{{w|~yt)7Y literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_http_requests.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_http_requests.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c3bccd2541e2bf0142120cd10dbf205a5c0c3d61 GIT binary patch literal 13694 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 R;LKmd^`%W%%L!Kh{{RZ1#+v{D literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_list_operations.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_list_operations.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c37bc1dc826894e9b9cd8105c627d394f0815959 GIT binary patch literal 4691 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 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_oop_basics.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_oop_basics.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6393304f3f5de7ccc9878f53b093aef492156343 GIT binary patch literal 16174 zcmeG@ZEzIFl{34&AKK9u5)$8dF&1KNgApKv06F3N&{eQQAUUh3+FCRVtSo6&GqZrW z-8yo%V~DXM&R@DaoIvgaQ4}VwoU6cgoK)SPtK`qDRzln)S9Mj#N~r37lKzWU?4rzme!5GRq_-ti z>X1}f^>xb~KKk_ckWQa0^#nSCGHVHSglJ2+BTS!V9cA4?D7->vkNca+OgGTgOT z?1;f#%kIY|%RDI`nK9*x8B?zGpscwDZ;qEruK5_`V4Np?^FViP&-{-0J#`&*P!GN+ zb=0dNC>N+N?_P%i5C#Uh#2ASE*X{ww!xygBjV3wLi_+7g|7=cmPi3&k6^?!9+; z;-j}FhF&TDBUWUB@ zz+;bH6FDkN=_ToYj$T;}so@!qsBZcZW!;g8lpZ5-DPaU*L8=$6?7ZIt=zI>HT6U3~ zhPBA~jd{*22)s28&V6S64zKh4Ygvt)l5=v-rz(HY`j2U4rDfupiojXXzv z*9gOZ?N49g>|f#SyiRHN^qqInZ=b%?e;Hk6qLzLc=V$#XnQ{had~OGw(K%21+$L~# z2Vi}qu7%G0yH8j<- zEQ0=+W^e1|6YqUkJo`@Z$}7e5Z)H$d9)IVx@xj+7@pzp)1cgO<6FtdH6hNDWSpmfl z-ne(;pT;kq!{*|9KOR4G<#bEr>4dH)H6z-vy05=ErbqtL2BK{gwJxTwMod#of080L z#PnDsXN8U@^n_t(R>(FFV#MOC35yL_H1D_kiDStOT2|g;fmSvYD{xFpsL2eP zR^Ftvoe^J^Klin@U6oHiiDO&u3>yG<*lY1MBe`fBdl7iIt9}hF036tQtqP#bQYhTn zuqWvHKTKSH_uji7PyFKD&#R}*PfJWk<`(GqiD^29cbd{~W(jn|U-bT7K-`*X#L@Sj zDiCd2VLI*?8LQOr)2N|sWJSK&*KZ_sBc9N#dGVuZttSC6UG^URm{ktV@gtd3w~^}A ztzdV$GtsSE3*-9nbf#O4Yso$>eylrvB+(tmxw6XQdg5pj(N^VlDkYWf-K}Y9&8l^z zCr|ZtCwdbGv}kClLBAlin+oep_w*&Sq*jdsMAIS`(!hF@ECmO`#x+B^Y+dyhY!Iv*AH*l*wnJ=@UEo(ypirZ{A|B*Jl(tIpq5DWrh1R9 z*$EcznjHx})p-~vOs8c$o$iYtL8QL6uiu(Sr_$c_ao{twC!i~Q8@(JX+%wYM%DRE$ zmwcCY6e=6f?EQUETDH<8d(XEFv<&VkC$O6p{I6`(0+ERePq|!MH0D!!+6yAOx9mL*(@)*E*<*_lc?>5GqOOl1CEe=gD{_n1p<>wXH|~;Po?HZ+s$u0kE5sFCa0F=?b{J)G4zpnjH^W0ucc9~~=eC+;>mbbk*0b=)D@(`7R=7u5 zomF_52P|}q1O*oyL0X0#Mp>NPTyCQ|1_0;@J8nDIW|D6V?ttQK+u)A8vV4qu1MX2) zXBA%N0Sg@?LBRz_kd|SGQ5GjRqexkDgN#q%M@So#^0(!X%522FF>8Gorqyef<8#p%t zIe*rl^_`G%Bun%g27X-V)rH4G$)yIf1WcF^a=0dpz%#9D1x%efM_`wSf#i$|Twis9 zOb-P<%Z&|9r1a{YQ=+2*978^8U<3sD9!jPfan?gssA*E34Wt~?gnMNL8Oxpba-Uf* z(*(^DKd7)3bF=Qwlmn@*t7LX&y=rdOow;_OYW3{y^?tHaYLayMBt%A@gVRlx27Ko` zPWhjcPRg-)89WD=krg%@!Bi*e)#jrTA-Rd48{Ho`W}i` zUM~*3x+Th5ugaD$)eEXc2qR!#L^c%`%z{*D2Ya%|r-8pa>2h&x4A_*l|7k?77Ot$+?heHv=&+Da^_%-BU_=#FdmKp? zOwldffoe}fD-K3K51+VF4fB74(t<^AKY!u**L%)9^SiQzgO7}s#qNZw#=?v9;l(52 zrJwnw$m5`gRxTT>XvkMI6e=3WD%RvH))Xq9It*;rhJxdjGHM1MSg}x3aS>JiW35$_kG| zfjs-l$v%veIW-@|&_HF#`ZG+;7!!Pno-s43W(1MLRWtq{kux#+L)CcYcP6@kV$=7~2EPXh;p}#z~Oi=Mtdb|(3q@dCYD*nCq-!Hy& zeG***liQ#;2njyElpd2$??ZilqvIk6z;=;;f!ExX9?7i+Pk%I}Q!@a4-&J3|92?4^3``VvkjIG?D6t zd2_~3VuXN+Mgj?I~L!9LPx90_K?HF%K{OG zc>sv<&GiA$RL@9gb1WY`KI9wPQK*0F%rkeC#bZiCUTHANvrrb4MgWF3LSZV6@Kl}} zBhSJ;Y9m;UmwEE+S@0hsMZpC}kQnR{L=RI&4i9Z)Ae3ekwwK&MeisIKYN%%DKw-f; zlgz&Z_KUJAudFi3x1lU3s{t6=1%;`shNrS_jC>pJQ5(T(yv!pSEFdH)2=EBPs~CQm zvT}H67XzU**CSua4dl~I<3VQ{4-Pe(-L!MgS<@d2$e^5pe|<96@53 zMnn%&Mh*`(GZ0F1{S;B0khIX6e5Kbew{hP+fA-G3v1gr5fk7$@iBq<2+ z2*NOph##h`93Fz80;1tIH`oBj003gNCt+uLn_j;H(?#?%dwo8+i6yz89M`--Z?fxU z=Cm@TIKn@{gFLOrc{=ZM&S#)sg<}E@Z}@ z;zfdF4^Oed%|GXZ2T77VDbOpI_I?idpc6GP;}O*f@;yf6`uahon06#CC5#}T24_41 z@eMsjAgq!db$H;Mxa(?jz=(t-9j|$GQ!3SvZN3r%zZ3Kl-rUP~&XbOuRfDu1@SH=W zBWeo}9=U)T&IPl9Y>=j6!H$DeEO%zn;Z<^}W#CwV1W)7<91MT-H5Nwg5tYdDRN@EF z@yLU!*r`|{fy3+f=O(FE(BEHWHe|;;!ZThoZVriS1`dM&{P|&hc1N zGrxqMcuTX2ed2{?eByC;pd$;vQgGUpY?B$e{kkBD~)JE35eOFUH^e*?yX7$za?0^2;}hfB)kt36&*DpB}EE z`;tDvSA5M7frJk9wb{JLW9`e+f@55uu$F{yc}~Q-50w4 zUCru3&Esc7(}%6Wby8kGaO~nq>T7BrRvO1h`)$&0#@Yc8?*eH*zl9+LkW&nk_JL!( z*#X7oizj)r1CBsPv`0<{fJxdhm|n}$3wL39;VzzD2+p8gqpS{)c;^8N$##e}J3$(^yUYcY(rYqR(4hV=mP&Xo4yl<23G^wBs){f>wQgEAI}hnW`2?O&m@T6nzygn(s}gk&GXHjXTTfcebSIzIjzbgL4f;tae(#rM z`G0&qnS2(MWcfwug^J%wk>5&XaQ}z23O1TdUJidh{BqUzs|I{;hc1NPuDVcl$#*4m zIdrA`a{17K8{fP7y&LhX@tc29ShMHfNFn;ILiPR;=^2!_UH*h9@;BvA7FWu<A?OE)E5)R literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_regex_match.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_regex_match.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..378ae93fccfc66d4ae33152b553910c4ea399d55 GIT binary patch literal 19735 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 a?5|=a@lvIA~- literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_string_split.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_string_split.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..965499902de7737fa95f94cd45abc0ff3bd7016e GIT binary patch literal 15100 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 QqXx2XJy0WmMkXElCw4`-E&u=k literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_while_loop.cpython-312-pytest-8.3.5.pyc b/tests/__pycache__/test_while_loop.cpython-312-pytest-8.3.5.pyc new file mode 100644 index 0000000000000000000000000000000000000000..32c4909fa29b87c5432ae6ad47adaf9ac386c70f GIT binary patch literal 4361 zcmeHKU2GIp6rP#A`#Wv71)?HK`T(T^*{1Cxf1zOgdoU4=(O@=>lj+WsPMO_V?wtj; zwh0IcG5$mzNE>5fH8Cudq`qh{MxHhLusTL=H`SzTQNEOvm^+=GR7luuU~mm6od&u7czn_>XId9B-V#=C@YCV zE}V&od?cEQvXNLO#`<_BZp215HBQR$$m93QjQFaWo7b$lWzCvTucDcphNq-W4^2ZP zX!9k0&z=%lt+}>L8{qJHA+w<*DUl*wIkEKh`@hXxTK?|bt#79ew4WL_E#vl$tIHqF zBx-cBBcoDRmm<2!Av3S5LnbDUYMeCkSvu&qD1Z>$E000&Cxl}V)-S|y!SP%Zgt5S> zaY)6uG$xKo$2$dKJTw*}KRVQwwGrf_dar}dkfKu*B<0mF?JO~G&g?zPB^;7|Q2RnGq0X6kI-7#r z5a>|SOUZ6Z_Kvn_gc#Ui6YN(A74AQxpc<{RYP6=V(b}oj3ch{ z31j9bwZha2(~1MP(IL^5OtN;jO~QNux0N_^+)X@NC^-fcpc;1D)U0M%DmDr@Yv&3Y zHryr{RtJlw<(PTmMl2gNi2H;}hV7!IGgbANWe;kWn%8oM8&`=oWY8JhmVWl|rk#Hg zV;j30)gc?_G$?gX7c4EWIWVF`T$!%Gt&uTs{$)1^}jZwFb8&2PzoY&uqt-~D)$4a$erc>Svj?c=(XSpI2X`aYR0*0 z9nPcF9_Xnl{fT_JCq=O`+%T5KQX%d`@oL)rqTJQv%3+OBYGtO1(a2};; z5~$rAvkP$9;jody)OX-L*jhmy;6iUzrf6y#kczw&dbwi}(QCmIa4w*;)Qof0I-Exx zlf7Iz$Ls<;wJk6Wz%Qs{1>Qc;#{jOkyryIJMizKicX*os})IE76I zws0VFqn-@Ye{?s(P23PE5m&N_iwc@E>_)Ug!N}`wR2w8rfJSUH??!bKvm+sRlw`T;DbLIx6G< literal 0 HcmV?d00001 From 3f46d5cba33f52edbf82fb21a148160f8e8fb904 Mon Sep 17 00:00:00 2001 From: Mu-ty <3860902720@qq.com> Date: Tue, 29 Apr 2025 19:35:14 +0800 Subject: [PATCH 4/4] Complete Python training exercises and add tests --- .../break_continue.cpython-312.pyc | Bin 661 -> 850 bytes .../__pycache__/data_types.cpython-312.pyc | Bin 722 -> 823 bytes .../dict_operations.cpython-312.pyc | Bin 793 -> 1965 bytes .../file_operations.cpython-312.pyc | Bin 921 -> 1300 bytes .../__pycache__/for_loop.cpython-312.pyc | Bin 587 -> 702 bytes .../function_params.cpython-312.pyc | Bin 750 -> 793 bytes .../__pycache__/http_requests.cpython-312.pyc | Bin 0 -> 3239 bytes exercises/__pycache__/if_else.cpython-312.pyc | Bin 745 -> 910 bytes .../list_operations.cpython-312.pyc | Bin 732 -> 1262 bytes .../__pycache__/math_module.cpython-312.pyc | Bin 585 -> 660 bytes .../__pycache__/oop_basics.cpython-312.pyc | Bin 1865 -> 2314 bytes .../__pycache__/regex_match.cpython-312.pyc | Bin 1445 -> 1831 bytes .../set_operations.cpython-312.pyc | Bin 749 -> 1159 bytes .../string_formatting.cpython-312.pyc | Bin 680 -> 772 bytes .../__pycache__/string_split.cpython-312.pyc | Bin 1316 -> 1745 bytes .../__pycache__/while_loop.cpython-312.pyc | Bin 712 -> 905 bytes exercises/break_continue.py | 6 +++ exercises/data_types.py | 5 ++ exercises/dict_operations.py | 49 ++++++++++++++++++ exercises/file_operations.py | 6 +++ exercises/for_loop.py | 4 ++ exercises/function_params.py | 4 ++ exercises/http_requests.py | 46 ++++++++++++++-- exercises/if_else.py | 10 ++++ exercises/list_operations.py | 17 ++++++ exercises/math_module.py | 2 + exercises/oop_basics.py | 9 +++- exercises/regex_match.py | 7 +++ exercises/set_operations.py | 13 +++++ exercises/string_formatting.py | 2 + exercises/string_split.py | 13 +++++ exercises/while_loop.py | 6 +++ requirements.txt | 3 +- ...reak_continue.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 4114 bytes ...st_data_types.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 7484 bytes ...ct_operations.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 3500 bytes ...le_operations.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 6900 bytes ...test_for_loop.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 3991 bytes ...nction_params.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 5092 bytes ...t_hello_world.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 1810 bytes ...http_requests.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 13065 bytes .../test_if_else.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 6824 bytes ...st_operations.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 4511 bytes ...t_math_module.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 7805 bytes ...st_oop_basics.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 15427 bytes ...t_regex_match.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 18731 bytes ...et_operations.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 2691 bytes ...ng_formatting.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 2934 bytes ..._string_split.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 14404 bytes ...st_while_loop.cpython-312-pytest-7.3.1.pyc | Bin 0 -> 4160 bytes 50 files changed, 197 insertions(+), 5 deletions(-) create mode 100644 exercises/__pycache__/http_requests.cpython-312.pyc create mode 100644 tests/__pycache__/test_break_continue.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_data_types.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_dict_operations.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_file_operations.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_for_loop.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_function_params.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_hello_world.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_http_requests.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_if_else.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_list_operations.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_math_module.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_oop_basics.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_regex_match.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_set_operations.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_string_formatting.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_string_split.cpython-312-pytest-7.3.1.pyc create mode 100644 tests/__pycache__/test_while_loop.cpython-312-pytest-7.3.1.pyc diff --git a/exercises/__pycache__/break_continue.cpython-312.pyc b/exercises/__pycache__/break_continue.cpython-312.pyc index ee4e94a40ad53bf5b65ec9830b307b19782480d0..75371aec5fc64cfad00e31a21a7d8df296bdf140 100644 GIT binary patch delta 366 zcmbQrdWntiG%qg~0}$}13uJgQP2_u0&kE!*1M%lHATgaGouQVogb~ODgA~RZh7`ss zAbT|vM8t(5R)&G0mZ^p*g{g{-fgy!CTZ4h2h_Q#KhA|6d4jQOoS`9Ugk)cP9g`tKq zm_d`JbUjcRmjVz>=4V`G`Vyq%B}n&6kakU`TdYNidFiRQ*b)m0Qu9(YnQt-X-D1hf zEH1glm{|-`2-JCuF{_>j$OL()*cM1MFnkbW;Nfd60~q{(RF&n!S qaf`zyH$SB`C)KWq6UYS_Sj-P3J}@&fGJa%YXJq*-#LdVF)&Kz4-yfX- diff --git a/exercises/__pycache__/data_types.cpython-312.pyc b/exercises/__pycache__/data_types.cpython-312.pyc index 51575d181070796ab5dee4a2f0bbc0ea84e87684..85f304c391ae6654a557bd0a1c028dcdd0884b8a 100644 GIT binary patch delta 268 zcmcb_x}A;pG%qg~0}%X(6Ud0$$m`Ci%L3#v1Mz1$ATgaGg|U_)g{hV?g}Ig~g{79c zhM|VBhN*@*jU|{tlXY@B<6O&^T0oWQ@~y7}cgS%%l=1+10hJ{g`FYRxOnbhfJ7gt; zCd)0x#9NF>w-}ReF{TuQtWW@g$%0HV^&sm(T8hd0*m-(ph^ZmO{QDy@$o77$?@?;AVZ2k#ujmd2u>hzi^C>2KczG$)vkya e$YliLVtyd;ftit!@gox_BgO{QL<7SIDF#-~B9JaWO{QDy@$o77$?@?;AXQ+EV5uTjAomuBO>TZl iX-=wL5eJaV2*kzwK;i>4BO~KSCQe3{&tklc5VHW+!X1bJ diff --git a/exercises/__pycache__/dict_operations.cpython-312.pyc b/exercises/__pycache__/dict_operations.cpython-312.pyc index 11fe01f1ec486ed7716cf5756b81408d8a51528d..5104e89bb9b076d0dc10dfb9c2af05dfe4f8b518 100644 GIT binary patch literal 1965 zcmZ`)+fUn896pY7uYo`qlul4LqYbG>+16>@SjDE5Z4YhP)OIgbq$r9l$Xb%fmu{#= zN;|5B+ein6wA@kzl(ynhZBm0+#UC(D3M^71KOqr2$nE@RCMl4-_m;l(7zT^jzEB4D_F#!m06%a@txQg^>94Pw?PMXsjKcv>9 zt+=o}A>4_Hqr<5eQ)aU`GLqR``|Gy{W?^L}{nMJTx-Kj)rpIQ*P&mEuSa~`9pig|h zAq+%!gSUiGG<$y@7OBk@aco`qc}SdH$gIvOguB7pW^-osdFJ7QaAzqM8_Z76LA3DW z3-KOQ87fJi*__Ng91_BP=|{u=(|9y_bMUVYehl!lzYU#E01hFLYfS)9Cz!l*z-gZ5 zYCL9uo z<-oU6UqypM3GLHd??|zpu}IG(bADV>PjPXq;6lei#T$S!aJtvHF>~l7AP!BdTow7n ziuB85{dY?0D}HMZ_?6C}XmAC!13O!;R#NSF1&6>ME$SY7w2n&F2oKMU!%>Kcl079H zxwuN}%1a}+VW3*&x*4Y#mLPo$?IOG$MoPF8U1P|l%pl%ma}$K^ZQMqY-ToV-RIvfV&B#?J$=Dn@0you3=dogcFgq25InT~b z3-jZG+?@QL{K#yM36nGVX2s~bIJ}~WDl4hjun-Ldh6?>w{!<*Q_>lGJS>0)H1b7S9A^C_#PC{wYZ znu*sdo4{HiJhQwg+#SeoGj3<=;iMgxTr5X~sU>*L#fhl+%RO=OS8;p|Ho~^4RTZjI zs*;iMwUSOum$n6%dJn5x2E+olFJ&RQEm?w$#??_hN= zvHC5nK0-v>6PQDV{vv^W`5JVCt^X^i>e#8UhI_Xv8j~kl!etR+%ktKq9#kKL`maz> zSrb3pv{b#MkDodpuep%0z+MWiT}oh=bL8Z<>CKX@S@Dtq{s7=D%R6kP!ydnke+e`^egcE73(G0A}c0Ltsl7ytkO delta 150 zcmZ3>Ka-8`G%qg~0|=DzXLvA8=GQjjGSOu0Fo9RDgXcg diff --git a/exercises/__pycache__/file_operations.cpython-312.pyc b/exercises/__pycache__/file_operations.cpython-312.pyc index 86c0b42bde4cc14ebbb199fef68ef88359f7a958..851c170384f927bd882f2fc1c692c231e0e07c5d 100644 GIT binary patch delta 675 zcmZ{h&ui2`6vyA2B%LHR-FB-`ER;o|G=lVp3LeCp7Y}>U9(s^aHd(u}P0A!oT1dO~ zR!?i)&3oTBndE)u4S!`jpB={r8prP@ zH@mMK(PtmDzN*r=1G|{vvm(pAT>C|`%Y0qUKFbY+j6H(u zunaM#3}FqBW}CciZ4FX%jn-aw4xc}eC@zdvQonik2&EZ>wa9OTPpdAIdbAaUQWwFx z?`qPjH=2RBwVrH9tV>>t!XyZjSp8C^(*1-_+75-Pzj%dYAAZh&J#o-@J^eQQVl5so ze=Se<<~#Gs8-JpU*reAEr*3HPjoZ9dv_TfYUrbF({)=gqio}U! z>|dNR>=$$qMoH}$qnvh(g3?&`A^X^tmaof0RpT4X#b1B~;-zOZJKj delta 279 zcmbQjHItq9G%qg~0|=DzXDCkO{UZ!wGXwEw79cU5p^{OPX>uE5v#8%n22I9WoN1Xk zsqqDgB^kwxK>5jjOtF@1KnBQ+Vs;?W!0ZD7z6-Uh&3$$ diff --git a/exercises/__pycache__/for_loop.cpython-312.pyc b/exercises/__pycache__/for_loop.cpython-312.pyc index b077483b7f8b368b3bb4af4788475f6c7a9d1b79..8b42b3313c3f0e78cc6ecc45ef37aa76a4397381 100644 GIT binary patch delta 280 zcmX@jvX7PbG%qg~0}vcZ5Xd+^k@uQ6E0Dts#Gh?|#B_!f##+V_Mj#UmQkZHOQkbfM z?A1&V5f_G7b_Rx8rW(c?rYc?_i?N53g`tKqm_d_y;&C}p~hgWEV;e^B)j1!al zVmlabaBz1dcCvRee_&?dlYYR>*WmRTsGPx1lj#C%vKQgg1vV0ceXJ_OD>i__;fIaB| delta 146 zcmdnTdYXmzG%qg~0|=DzXEaRYy(SD|GXwEw79cU5p^{OPX|f(;H?QAH22I9WjCsY3 zK=H{B7$aQSfDDk{Vs;?W!0EG!Ci5`0D9QpAHZXjUVBp|wsJ+22Iw7sI_5z2@10XB4v*rSa^yJx0-W&pq JoJAZ!l>iS58;$?~ delta 77 zcmbQq_KubJG%qg~0|=DzXUJ{jHD?qCahQSlGYgQI&QQsy$uv2aaSNm0WJRVHZg!wx X1H%Ui23F3=$C$i1co;d0IDldRGSv$a-Xj&aDa@JhUji$VJxY4 zr!j7&jKL6N7YCTw0mpwLT9+Y1_|qoE*o7e`U!2Jol#t-L@rTSrcM_khn6%Tezx3^$ z4v9aVc)Bz9_TBFLxBK4yc0bR~wjgNLZUHW9}N zj%q{4NX`V5I!!w0Kmmb}CHBv=(c57sTUl3E6Cb^${;kzwQMT+~yI(BJL;C~vI>-ES%H zTvYB{`u0q#Mg3?{ZR-Nt@#*e(f2TTpGwI;`#fOuf5J9YeBszUvx%GEtFQ`p)9-p6V;?9fs(14qHP*aoA$C=*FbvyH~KF9{ z=n(lPSql;2{uFTvHB(2?DZ-H%u)#)HSZI1~e|xY_ui^OHx0J4TV^ci~{r^zjYF9>X zYf?$kR;UW6#+R}Ip~=a{u8yeTb08iYy7JnQS5va_=}XGh8-}dX*{*aC>9ri4?pIqz zam@_(D(w?aR#RfxKPG#YeGbZ03WzSZkK>=y4_NHNxO%1~7H%m?Nx6MqiT6q%p&Qo2 zRo^`aXD?0cIN!kWf|wG!`SHTpK|PA3v5?j;;CgWovRU$+p;>`Z<6o?SoNTmKR-o{)V0`kK?yai6!ePH6CWJ>EA;4>X+gmsT{0 z9(O(8%nNRh$cy#ICCTqHg8s4pw44udyH4@1iyn!G#A%rk?BL1@pLiR{8I<(JvDZ z@(X+S_3R5%gGc7_f6~Du7*td|Usx6?EW2;t+#Bi%J+K${Rn8ZcM2bqjw3mKoHsx9p z$dqaM&-WITwSL~ZDPr9;Z`~2G?s$Yq`Y`c;$?neS6Z`ntoZ>lV`~A(^#&YiMiP&ns zU}_#%^9_Zvh_&nyq9BB*p%8WsHVoFz=Iokdc7xi-)Y$%yGCl#-%CDHpCkZnaek>M4 z^sW1;{Tb+P#;%HAQ+Iz+1a#(^%@s~+W)FdRCk@n{4rWWB_wT0!y&$2%9!?Lm5Xn&? zDia0CMp_?9r$fn~5XI3Tu?BRx$!7Azvj{a40u7LqaROrVl5UbfA=BC#K`LnC%&TB= z4Ulcb<+!2&WUT{O#M#!`YFIpqI)7&X&@$j%%ftT$-joMs74T9V#bx3(tODM(eB>Ij zrg~V#mJpq`3X2B3)*!tCc$ayCOwn)B0JB=32D4d#!^>f|=1^@CXVtFm=$)GYr|QKK z4Sh7CbUhWqma<%f)Zk>}11-88KvUh6j;SewPY=VI&i{eJ2DG>uMW1&GWFeqeY7bTG zLG6S`k9y;pdhNU;4VT4$+s%s@mvy*Q`$m=S0kxwW-V!^P@IE?mXLob6BN?3z)B=7E zI7q-o*aZO}kLti)pz+}WrRT!(>mWLD5e$QC^>T+1RCrRE?1Hxn3pbXNUAPCTo)Sou zgVK>Vd)b;~b28EZzNu3gj3*)gH!H>sSQqe9#E~gru$N7Kp9o-%_ej9CE!*(+yu{-x z?w}y}1OZp0=3cO24!gu76szesb z-_Tbuzp*s3vGnV_@-b>Iue`&Y$VegekDkA8-;@r`Hk4a1Z`&HNZJoF6j@WhsG=tG- z*1FmCuiPuYw|zFR=IgA(2^x<+`MzKcAcy#v?AhF{;qvhI*_@qoi~}P%_emgPtNMbe zT7~2!UeS_9_zz=S#`0%#emckOP3e8bR6PNoAo*B42;0&6Yz2d^=kB+oVFz$`?Jrc& z)C@@iKVu>=Pg9s@b{+URHS^0Npr6_|94MzgEhR8tP6KtAWV6e~`P?p-mR;?h6Y!3I zfEIxwJsZrvlRhrc#Q#db7YL*Qi8yr$iXe#ZNQN*i<{={Y5xIqUnOLkOULdLoVH*hi E7nC&GbN~PV literal 0 HcmV?d00001 diff --git a/exercises/__pycache__/if_else.cpython-312.pyc b/exercises/__pycache__/if_else.cpython-312.pyc index e2a88e27eb6117c5c29e658d00db47eab0c062d0..2eefd1efd854725e309565e460d48324f10fd2fc 100644 GIT binary patch delta 321 zcmaFK+Q-g!nwOW00SJ!93uG`dZ{%}ibY=o_nSuDT36Pl1P{WYIm>t8wP{dft1Y|Qq z*(^XdE0oO!WV1ur9F?4!T$7U+clo`H0_rbi0}@a6%y_=M;bj1f|DtpK)1`Y~y21EQ zcC3BAw)3S8jQ_O1>)C=mrJNwGJ9;6!$+Ar8^&qG6197oFkZ54|AjZJK+mX~%d4pg4 z1}EPHrY=bwtOxv3pMhE!{4|+vvB$@!SyTi7 delta 136 zcmeBUf62;snwOW00R&38@-* zL4F`EW(N`t3?IZ8SUEofnGAlKOt;wM<5TjJy%(95%W6DWy57 Rc14_%^Oz+#xEVRYvH;tL8T9}F diff --git a/exercises/__pycache__/list_operations.cpython-312.pyc b/exercises/__pycache__/list_operations.cpython-312.pyc index f5fa3ce3306f55998e64d56fb8634d0c8bda3815..beb472aa66278a07516e2abbb76959051cf24f54 100644 GIT binary patch delta 682 zcmZvZKWx)L6vp4(#f}|2X+!PGr6p8Q6*8epr~;{~R7AxD8IX`VMGFo3G#!kR zvA{s03^)_%R>aE4QdTAkLpXI{O$TIA1_TRd6AuKQbkDx`zTe$s=+h3HjBiXaz9%Tp=rEk>{lJHXDXV$x>_ znX=#joD}UcmmZXg7Z&@E_Aj*+&+JV2dbrl! zwN~!OcMXipHy}yVmmzI_(WZnEO-z5*&Isp+({pRfaJa1AAmklJBHzhk9?$1#<$gZT if>XYNQ;~s9io}(bQiaxwHd$q6_bs-R3{sgPI==yApqb79 delta 149 zcmaFId54wnG%qg~0|=DzXK*u3kcI|^4^j-QoS%VA20u-vTkP@iDf!9q@kJn2MIb#zoFD?E b_7;atZhlH>PO4oI_vCXd5*)mYoM2f1Uq>9t diff --git a/exercises/__pycache__/math_module.cpython-312.pyc b/exercises/__pycache__/math_module.cpython-312.pyc index 0d6182d7dd09d8e35bdc6b27da8c17c8fd92268b..8e81afe11d5381a14e93b5d6c8571cca9d05a88a 100644 GIT binary patch delta 244 zcmX@fGKH1*G%qg~0}wb(7RXpNk@vDSGmrzqpLKx5bcPhh6s8=8TE-g2ERZM~s9{*m z2oVZq&}5$Yxk~dTi0h}xbc-c7u_WUbOL1XQ36RH@SDKrYT2#aWlr3fg5(<;+8B+^6 zfGm*p#bQ9Bf#I_l1FOIdZvKADPRj{lm$_vwu*iG{%76`IkB?8uPmYf-0%=;wP{awO tir9g~Ee@O9{FKt1RJ$S`AQ$AIVtyd;ftit!@goyEBg`22I9WYaf`zyH$SB`C)KWq6UYS_Sj-P3J}@&fGJa%YXJq*-#LdVF)&KylULiXG diff --git a/exercises/__pycache__/oop_basics.cpython-312.pyc b/exercises/__pycache__/oop_basics.cpython-312.pyc index 1f8807e9698acce1ea704431e99877a165fb4f85..82aab2f650e007432a27ba2b08b61e1c36a3b113 100644 GIT binary patch delta 930 zcmZ8f&1(};5P!S-Hrae_YZH?OVzUxawu(|wkWh-=1R({BAR?65O&eoV5n*#2B@bEkN41z4Sq|i}^5mC~cmoA`*U{MHgH399hYNJY*?}OL zv2FuLf@SuW1Y?zCt(XQ~rgl1k*bd4>gN{>l$N#@WM93W?DeR{YW%9sQ>y_rnO{$7U zQus8bcbmiwbn{Q0gLRbnu+c!OPC$o36gy-fvGe4wpE%^ARPsFx-Vc^smFSxGG+9lqU3#{-e&F-yhtc)WrX1UrCL5BQ zx!{vsuVX2vKm?Q{DcJj=an~*rGDTEguS3kK7!~?9*d7O432h1K~|6%v?rUJQ2X>U;{`)KviOP2Lran@RC~${t3B7PY0s%JRMtUJ7x`Ew}q~RAY%enCIVziB=0R=EV0V*ubzYXvkmJ0 zMgv1H%Uq22S43Kqf;nBZx!-2m=`^88w+Ei?bXN z^($fps#wWb#0I2_K{^zQxF+kdDjUlK*`J|iiUG|m;sFZaH*@lF*2BUO6N^AzfSb3N zO_^H??a1a$(kk%=5KZW2I^RzO?~_Z2HA*knIV<{~kmL=niaB9Jm<=K#64IBatB fQ%ZAE?TREP-{+7J)@9`V$N(fhCopm|LJR=_7*$Qz diff --git a/exercises/__pycache__/regex_match.cpython-312.pyc b/exercises/__pycache__/regex_match.cpython-312.pyc index d250b6e5a9a06c10e9d629b0203bffe9f44b21f5..3f3e91fd735a644a586247899eb3c9a319a258f0 100644 GIT binary patch delta 763 zcmZ3=y_}ElG%qg~0}wQ=6v#NkHj(d|JqwV>48)&}fW&l$6vkS{5=I~s46>MDECgM{ zSi`UyDjv)*@#}@eD&v@>Xh+?sMBOR_T}!=qRc+l^Z3iR~AU8%2#IFG=iLEx$sf|fm z$#jdUDD@V5T4r8KVor`G(=C>g)QXZ@ys5c~nK|(Vi6teeMR~;_ixehbWsI%|xtjxs zi=}}?1H%Ui22pRu2H!i}y!}?4Rugg;gk0v6sv z9T!s^t6c;#SCgrT9Z22cE-gZf7ogig5=>u`G6p#SNldx)o zH!Pa67noe;*0{i;0rrC?>n-;9_>}zQ_;_HbMKCZFfnvD`6c%7}Rx*Hk|tfBj+b2VMfl+IzSd!KLBvtqNxA? delta 372 zcmZ3^x0IXjG%qg~0|=DzXJoQY%?1>yCPeu|=#P?I2eG zjRcancz_NsN=z<^FD=R`F5(9YX#sH&Cx`%C|WKFRgkodsNIGLTDPl$(+^OKwaBj;x|APcMw0Lef? AumAu6 diff --git a/exercises/__pycache__/set_operations.cpython-312.pyc b/exercises/__pycache__/set_operations.cpython-312.pyc index 944f3f314fea09652326820faa49b152f37bbb57..09422a3dc3141fad4b7bf3647ac3109520b5cb62 100644 GIT binary patch delta 550 zcmaFM+Rn*$nwOW00SG>?6v(*8GLi3bJu8sM3=&xeB&IXeFr_eNYcMbr3Dz)VF#?6q zKn>$+sAw=qEfZWV$P6@qrj{A57Gx(Bn86sxic8pGqA4sjOtTqMSm!dstYu`VWYc7y z%)uTIhNfpz)<5fMgv&ph(+QLWnXj&+ppI+< zh!3(u8Da@Yub(DM5hwtPSU?2Gd$(8%ih!CX|7Yy1=LYgYpXe)$U=@;5kzCgfe>Q~?TK=U2GMudqPmGQZjd4mFTO&LvJIkox-0 z`WYpc`Bg4(sC;2#;N-g?pud50MfC-%$_so|S2(I~@C$ziTEpO{$#jc7K0YNsSw23# m2;_v73`IOZstDwiTO2mI`6;D2sdh#Dlg~0qa7Zz7f@J}p8klPU delta 156 zcmZqYe9OvrnwOW00R&30D|@%xBvhE diff --git a/exercises/__pycache__/string_formatting.cpython-312.pyc b/exercises/__pycache__/string_formatting.cpython-312.pyc index 4fc207eb3ab1d9e39ab6c197d13236f685bf78c6..cb82535a04d58b058df00ab7a9fefce7a116849a 100644 GIT binary patch delta 266 zcmZ3%+QPBP2~He$^zsu1Mz1uATgaGg|UWVHbV+i4dZNvxh%Cz zHB7+_n#_}h88>>C@&Q#mUAyf0l=)AWPkuU~*Gi!jWSEY^)16yh?rX79SP4{mizP2H zH}w{CVtVQ=fwcUh+{BWS)Rg$*lA_GK^kR@r3X^X#W>s?lSs>lTvOuDN;e!N&l*S5{ z1!XIub}(-!y&!ITfkos7xAX-T>CZp~41StSx7g$3Q}UDJ@xl?<9pw^;HL zb5n0IC#I(sGXdo%%QI!AvI7|)LyAF+28It346K}=flLNJpa%B%_>}zQ`1m4_WD&^V vA`TG21|)8A*yQG?l;)(`6@m0K0&y`vkodsN$jJDSiJg(Cs+djY0V;C diff --git a/exercises/__pycache__/string_split.cpython-312.pyc b/exercises/__pycache__/string_split.cpython-312.pyc index f8c169f253d5efdee81f9a5a5b5ba38b2147700e..eaad1f63e9fa62f27106517ba45f16d8e16fb18a 100644 GIT binary patch delta 854 zcmZ`%&ubGw6rS15kIkmpCR%N5rEU;fV+BuzDiVaE2f;uocoLQ+yT#Zfjk6oIvL&JQ zkmw-^K^l~lh@ys4>B)=rFYpqnhh-7;U}JNU+V}_fW|K-4eK3zV^S+t)&G+7O{)10= z@AL5p%-8VWSav-X@B{-p7FK5z+zK+#O$@s`-5~P#ihO~8*q56!y+ZCv2hLIKU_HvjW^)RH z|FKcd8J)stJ^k=$j|8^~QH9?1Q{-w6jce**&G zpZ%wt2S1=wxNXMoZz;?i{GSL0R@h^ZTVx<|*b!?m20P2lAf1-7O>r9N2~u1&c3&2Z z7TjSj^BJMaD*FXAxY(v$X;XNcN|!kSZfE_)cKN}1v9(ffJ<5N3e80W)`s>>_t@`Hn zW>Flo@K~6MM#C&|0N7#^YRYn^Nj#;89hOr~%JBs3Wuj{qm(f&`l9QmUG7pKAMz7Fz zP;Ilw8ieT}a!i*fNRm^E)Wwluz@3JrO@p&l_WFzCh4E5siyz8e`sC*G6U+BX(@R<=}$&`%fg2u=Ul4d<&n8*)>a{K%a%`-koRM6Uy1 zw*(bql0@iC+P$?)H;@hKP5^fyIj>|AYJ`jch{~i<$#+?d@ejt09eala?Aa5+b;Kjs HV_*FRV1CIP delta 396 zcmcb}yM&AHG%qg~0|=DzXZ&MX$j2xQ;xGg8XBHqaouQIZlWDRu<6Z&3l?b`Q-TcB9NcK&H*a~ zdjjkph`Tv#a`RJ4b5iY!1c2()LBUWg2_!x+Gcq!MWMXGz`6R@{$oWYINPGqnV7&nH CL`_!! diff --git a/exercises/__pycache__/while_loop.cpython-312.pyc b/exercises/__pycache__/while_loop.cpython-312.pyc index cd3387e71565cc027f6a40f8290d81c7a2816b37..3c3af645b5480a9b70cd4c5f4fe2d4ea83cb7c85 100644 GIT binary patch delta 371 zcmX@X+R4s$nwOW00SJl{1u|NgHu6a_*0TV)%s~7(2S`k3NMWpHtYIu+1aiQjhG8|7 zoz29+P^41BP{Sw*lu2Q#Vgr(l*&0AmR+wloP&S3RikE=_uPKZ@DwQmntfiY77$(~> zZqa@Tvg#$!e1?}G%ltGMZ!zbj=4mqBV$UnhO-d~)zQveX43bxv%*qs35Ap*y5Epv` zi3WxbVhkLd4URXsxOyRt%LCcI|DZlM8jn+sSg|sJOZDA#sO^yS{omqlAjzOUj(vgB|{O&vLa3(af`zy nH(x!aG$+-rh!4mIIk%V}NPJ*sWMurv#KFk&SwxVL6RZOOP8m;D delta 186 zcmeBVKf%g(nwOW00R&3P0D_6}>XR=s zwhQ~MWYA>1#hzE1o0M8qT+9fRpWMn6m&yiYa078MJCJB#_#no>%J~_{Wbo5uy2TzJ zpOT*(A72DgRRpr52&Alt6-eCTu*uC&Da}c>E8+xlK?WA{1BnmJjEsyQnK&3(K8tWO Ia)LDg02N{+?*IS* diff --git a/exercises/break_continue.py b/exercises/break_continue.py index 09ebb02..3a14a5f 100644 --- a/exercises/break_continue.py +++ b/exercises/break_continue.py @@ -18,4 +18,10 @@ def skip_multiples_of_three(n): - 从1到n中所有不是3的倍数的整数列表 """ # 请在下方编写代码 + list = [] + for i in range(1, n + 1): + if i % 3 == 0: + continue + list.append(i) + return list pass \ No newline at end of file diff --git a/exercises/data_types.py b/exercises/data_types.py index 5cdc84e..4ddf165 100644 --- a/exercises/data_types.py +++ b/exercises/data_types.py @@ -18,8 +18,13 @@ def get_data_types(): """ # 请在下方编写代码 # 1. 创建一个整数变量,值为 42 + a = 42 # 2. 创建一个浮点数变量,值为 3.14 + b = 3.14 # 3. 创建一个字符串变量,值为 "Python编程" + c = "Python编程" # 4. 创建一个布尔值变量,值为 True + d = True # 5. 将这些变量作为元组返回 + return (a, b, c, d) pass \ No newline at end of file diff --git a/exercises/dict_operations.py b/exercises/dict_operations.py index 6d7dca0..2f9a1e8 100644 --- a/exercises/dict_operations.py +++ b/exercises/dict_operations.py @@ -20,4 +20,53 @@ def student_dict_operations(students_dict, operation, *args): - 根据操作返回不同结果 """ # 请在下方编写代码 + if operation == "add": + # 添加操作:需要姓名和成绩两个参数 + if len(args) == 2: + name, score = args + students_dict[name] = score + return students_dict + else: + print("错误: 'add' 操作需要姓名和成绩两个参数。") + return None # 参数数量不符 + + elif operation == "remove": + # 删除操作:需要姓名一个参数 + if len(args) == 1: + name = args[0] + # 使用 pop 方法删除,如果键不存在也不会报错(返回 None) + students_dict.pop(name, None) + return students_dict + else: + print("错误: 'remove' 操作需要姓名一个参数。") + return None # 参数数量不符 + + elif operation == "update": + # 更新操作:需要姓名和新成绩两个参数 + if len(args) == 2: + name, new_score = args + # 只有当学生存在时才更新 + if name in students_dict: + students_dict[name] = new_score + else: + print(f"警告: 学生 '{name}' 不存在,无法更新。") + return students_dict + else: + print("错误: 'update' 操作需要姓名和新成绩两个参数。") + return None # 参数数量不符 + + elif operation == "get": + # 查询操作:需要姓名一个参数 + if len(args) == 1: + name = args[0] + # 使用 get 方法获取成绩,如果键不存在则返回 None + return students_dict.get(name) + else: + print("错误: 'get' 操作需要姓名一个参数。") + return None # 参数数量不符 + + else: + # 无效的操作类型 + print(f"错误: 未知的操作类型 '{operation}'。") + return None pass \ No newline at end of file diff --git a/exercises/file_operations.py b/exercises/file_operations.py index bcb69fd..dd80317 100644 --- a/exercises/file_operations.py +++ b/exercises/file_operations.py @@ -19,6 +19,9 @@ def read_file(file_path): """ # 请在下方编写代码 # 使用open()函数打开文件并读取内容 + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + return content pass def write_file(file_path, content): @@ -34,4 +37,7 @@ def write_file(file_path, content): """ # 请在下方编写代码 # 使用with语句和open()函数写入内容到文件 + with open(file_path, 'w', encoding='utf-8') as f: + f.write(content) + return True pass \ No newline at end of file diff --git a/exercises/for_loop.py b/exercises/for_loop.py index d21d1c8..0125478 100644 --- a/exercises/for_loop.py +++ b/exercises/for_loop.py @@ -18,4 +18,8 @@ def sum_numbers(n): - 从1到n的所有整数之和 """ # 请在下方编写代码 + sum = 0 + for i in range(1, n+1): + sum+= i + return sum pass \ No newline at end of file diff --git a/exercises/function_params.py b/exercises/function_params.py index d46e7f7..67a1a35 100644 --- a/exercises/function_params.py +++ b/exercises/function_params.py @@ -21,4 +21,8 @@ def calculate_area(length, width=None): - 计算得到的面积 """ # 请在下方编写代码 + if width is None: + return length*length + else: + return length*width pass \ No newline at end of file diff --git a/exercises/http_requests.py b/exercises/http_requests.py index 08878f1..9a9b5a8 100644 --- a/exercises/http_requests.py +++ b/exercises/http_requests.py @@ -7,7 +7,7 @@ 请补全下面的函数,实现发送HTTP请求并处理响应的功能。 """ - +import requests def get_website_content(url): """ 发送GET请求获取网页内容 @@ -26,7 +26,23 @@ def get_website_content(url): # 请在下方编写代码 # 使用requests.get()发送GET请求 # 返回包含状态码、内容和头部信息的字典 - pass + try: + response = requests.get(url, timeout=10) # 添加超时设置 + # response.raise_for_status() # 可选:如果状态码不是2xx,则抛出HTTPError异常 + + return { + 'status_code': response.status_code, + 'content': response.text, # 获取文本内容 + 'headers': dict(response.headers) # requests的headers是特殊类型,转为普通字典 + } + except requests.exceptions.Timeout: + print(f"请求超时: {url}") + return {'status_code': None, 'content': '请求超时', 'headers': None} + except requests.exceptions.RequestException as e: + # 捕获所有requests相关的异常 (连接错误, HTTP错误等) + print(f"请求错误: {url}, 错误: {e}") + return {'status_code': None, 'content': str(e), 'headers': None} + def post_data(url, data): """ @@ -47,4 +63,28 @@ def post_data(url, data): # 请在下方编写代码 # 使用requests.post()发送POST请求 # 返回包含状态码、响应JSON和成功标志的字典 - pass \ No newline at end of file + try: + response = requests.post(url, data=data, timeout=10) # 发送POST请求,数据在data参数中 + + response_json = None + try: + # 尝试解析响应体为JSON + response_json = response.json() + except requests.exceptions.JSONDecodeError: + # 如果响应不是有效的JSON格式 + print(f"警告: 响应内容不是有效的JSON格式。 URL: {url}") + + # 判断请求是否成功 (状态码在 200-299 之间) + success = 200 <= response.status_code < 300 + + return { + 'status_code': response.status_code, + 'response_json': response_json, + 'success': success + } + except requests.exceptions.Timeout: + print(f"POST请求超时: {url}") + return {'status_code': None, 'response_json': None, 'success': False} + except requests.exceptions.RequestException as e: + print(f"POST请求错误: {url}, 错误: {e}") + return {'status_code': None, 'response_json': None, 'success': False} \ No newline at end of file diff --git a/exercises/if_else.py b/exercises/if_else.py index 1d2adb8..7e03ef3 100644 --- a/exercises/if_else.py +++ b/exercises/if_else.py @@ -23,4 +23,14 @@ def check_grade(score): - 对应的等级:优秀、良好、中等、及格、不及格 """ # 请在下方编写代码 + if score>=90: + return "优秀" + elif score>=80: + return "良好" + elif score>=70: + return "中等" + elif score>=60: + return "及格" + else: + return "不及格" pass \ No newline at end of file diff --git a/exercises/list_operations.py b/exercises/list_operations.py index cfad496..181b423 100644 --- a/exercises/list_operations.py +++ b/exercises/list_operations.py @@ -20,4 +20,21 @@ def student_list_operations(students, operation, *args): - 操作后的学生列表 """ # 请在下方编写代码 + if operation == "add": + if args: + students.append(args[0]) + elif operation == "remove": + if args: + students.remove(args[0]) + elif operation == "update": + if len(args) == 2 and args[0] in students: # 确保提供了两个名字且旧名字在列表中 + try: + index = students.index(args[0]) + students[index] = args[1] + except ValueError: + # 虽然前面检查了 in students,但 index 仍然可能因为并发修改等原因失败(理论上) + # 或者如果允许重名学生,只更新第一个找到的 + pass # 或者添加更详细的错误处理 + + return students pass \ No newline at end of file diff --git a/exercises/math_module.py b/exercises/math_module.py index 2823cbe..f072378 100644 --- a/exercises/math_module.py +++ b/exercises/math_module.py @@ -18,4 +18,6 @@ def calculate_square_root(number): - 数字的平方根 """ # 请在下方编写代码 + import math + return math.sqrt(number) pass \ No newline at end of file diff --git a/exercises/oop_basics.py b/exercises/oop_basics.py index 6e86724..92bc375 100644 --- a/exercises/oop_basics.py +++ b/exercises/oop_basics.py @@ -26,7 +26,9 @@ def __init__(self, name, age, grade): - grade: 学生成绩 """ # 请在下方编写代码,完成属性初始化 - pass + self.name=name + self.age=age + self.grade=grade def print_info(self): """ @@ -39,6 +41,7 @@ def print_info(self): - 无返回值,直接打印信息 """ # 请在下方编写代码,完成打印学生信息的功能 + print(f"姓名: {self.name}, 年龄: {self.age}, 成绩: {self.grade}") pass def is_passing(self): @@ -52,6 +55,7 @@ def is_passing(self): - 布尔值,表示是否通过考试 """ # 请在下方编写代码,完成判断功能 + return self.grade >= 60 pass @@ -66,4 +70,7 @@ def create_student_example(): # 创建一个Student对象,设置姓名为"张三",年龄为18,成绩为85 # 调用print_info()方法打印学生信息 # 返回创建的Student对象 + student1=Student("张三", 18, 85) + student1.print_info() + return student1 pass \ No newline at end of file diff --git a/exercises/regex_match.py b/exercises/regex_match.py index 5709231..0ca1018 100644 --- a/exercises/regex_match.py +++ b/exercises/regex_match.py @@ -17,6 +17,8 @@ def find_emails(text): """ # 实现你的代码: 使用正则表达式查找所有邮箱地址 # 邮箱格式通常为: username@domain.com + email_pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b' + return re.findall(email_pattern, text) pass @@ -36,6 +38,9 @@ def is_valid_phone_number(phone): bool: 如果是有效的手机号码则返回True,否则返回False """ # 实现你的代码: 验证手机号码是否合法 + phone_pattern = r'^1[3-9]\d{9}$' + # 使用 re.fullmatch 确保整个字符串都匹配模式 + return bool(re.fullmatch(phone_pattern, phone)) pass @@ -51,4 +56,6 @@ def extract_urls(text): """ # 实现你的代码: 使用正则表达式提取所有URL # 需要考虑http://和https://开头的URL + url_pattern = r'https?://[^\s]+' + return re.findall(url_pattern, text) pass \ No newline at end of file diff --git a/exercises/set_operations.py b/exercises/set_operations.py index 7dae6e9..95e4b2b 100644 --- a/exercises/set_operations.py +++ b/exercises/set_operations.py @@ -20,4 +20,17 @@ def student_set_operations(set1, set2, operation): - 集合操作的结果 """ # 请在下方编写代码 + if operation == "union": + # 计算并集:包含 set1 和 set2 中所有不重复的元素 + return set1.union(set2) # 或者使用 set1 | set2 + elif operation == "intersection": + # 计算交集:同时存在于 set1 和 set2 中的元素 + return set1.intersection(set2) # 或者使用 set1 & set2 + elif operation == "difference": + # 计算差集:存在于 set1 但不存在于 set2 中的元素 + return set1.difference(set2) # 或者使用 set1 - set2 + else: + # 无效的操作类型 + print(f"错误: 未知的操作类型 '{operation}'。支持的操作有 'union', 'intersection', 'difference'。") + return None pass \ No newline at end of file diff --git a/exercises/string_formatting.py b/exercises/string_formatting.py index b2f9fd4..0472192 100644 --- a/exercises/string_formatting.py +++ b/exercises/string_formatting.py @@ -19,4 +19,6 @@ def format_student_info(name, age): - 格式化后的学生信息字符串 """ # 请在下方编写代码 + formatted_string = f"学生姓名: {name}, 年龄: {age}" + return formatted_string pass \ No newline at end of file diff --git a/exercises/string_split.py b/exercises/string_split.py index 40002ae..87f40e9 100644 --- a/exercises/string_split.py +++ b/exercises/string_split.py @@ -19,6 +19,8 @@ def extract_keywords(text): """ # 请在下方编写代码 # 使用split()方法分割字符串,返回关键词列表 + key=text.split() + return key pass def parse_csv_line(csv_line): @@ -33,6 +35,8 @@ def parse_csv_line(csv_line): """ # 请在下方编写代码 # 使用split()方法分割CSV行,返回字段列表 + fields=csv_line.split(',') + return fields pass def extract_name_and_domain(email): @@ -47,4 +51,13 @@ def extract_name_and_domain(email): """ # 请在下方编写代码 # 使用split()方法分割电子邮件地址,返回用户名和域名的元组 + parts=email.split('@') + if len(parts) == 2: + username = parts[0] + domain = parts[1] + return (username, domain) + else: + # 处理无效邮件格式的情况(可选) + print(f"警告: 无效的邮件格式 '{email}'") + return (None, None) pass \ No newline at end of file diff --git a/exercises/while_loop.py b/exercises/while_loop.py index 127a676..e328824 100644 --- a/exercises/while_loop.py +++ b/exercises/while_loop.py @@ -19,4 +19,10 @@ def find_first_even(numbers): - 列表中的第一个偶数,如果没有偶数则返回None """ # 请在下方编写代码 + i= 0 + while i < len(numbers): + if numbers[i] % 2 == 0: + return numbers[i] + i += 1 + return None pass \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index ef6b163..a88b15c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +# filepath: c:\Users\34176\Desktop\Python-Training-Camp-Basic\requirements.txt pytest==7.3.1 requests==2.31.0 -responses==0.24.1 \ No newline at end of file +responses==0.24.1 \ No newline at end of file diff --git a/tests/__pycache__/test_break_continue.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_break_continue.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6393139cba8b2342be6808b81ce964b820bea892 GIT binary patch literal 4114 zcmeGeU1%IdcxG?z_U@YG5~DQn2Tw)GVslNJq_M?F>ff7DM5!FXVRJio*~{MUGP9?- zn1j{^@}Qy>Ne5{MAkKIB2u=H4nngg!Yldz(9HV*Aj5fef?r z{ml1$^Ue3ow|u|0wkClX<<#UA1%TfrQC|{uxOG1SU;!8)3k+x|7R)LVMoK8BKv0Ti zV=&lJv#Q*QXX6qkvI!C|-rH<6z>9}(<&ngWlHGSK`M@1ZKD2{mYKh-c3?s6{BOyk} z38B0tvf4`>*$$3J=Ro$JilW8JPjKPnwQt_rT)uGqhjV{?fAM5`f)agdpj_sLt znQSh9x$)uW$(pb`Hlt)R8uSmdDbvNJvgMhsMHqJS*qfw;H(k{nT@btJfSN`5rtR-8eAq14J35(%2HjzhRP7q^j9 zLOCP$DVmA#SRz9;;D<%k+i`2G}a^FF^y@-YI-E#4r`2xPDMk0gv*HK zm{U1DvdLRZoB1)z;S$X6!fethTZRuFn-Tx{ij{ z_F%4{A>nr48ajH{=L$Nyj*hJD!CXgAuI<6x;<*G`r>|mcI5~{{cvuGXKEC63^bk`-e;j8)tlMGaJOxsrt zlggrsW1KfF!hPr>(}d{W^AScEDioMB~ z8xaWMpNawz&o_i~;9Tofkh}^KH#mvr<7eaZsk5n%lm+#?x{x}bx~N=MFR7PXF138| o>hkHu)5~}ffA_{}?~6a9)$~iN?PI@zm;d6bBU>l|kI3`?0kzTBYXATM literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_data_types.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_data_types.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..506a410215536357293d78ec7bb6c6d2c0caafb9 GIT binary patch literal 7484 zcmds6S!~os81^xHIXB@xLn#H*lI9}Z74(3LtB0tlqNtWxJ7I(O(2PylbXVdOs-OZY zXple%9$KKGgjOJhqv~s=K2ox(dB{WAgs3l6P*vioGqz`K*cDk&0tIV!#-5pf{{R2x z^FQO+-^$7ahFnI)mOlW){AoQnS;#5xO=cOUi&2;sMqw3BV_P_@| zz|o5XUtJjd@mlueeqo3VzoC<>trc0byj|5LMb>3WPbO3pwpH7C02e&|-Fr|)W^Scfm=!+b0Cj6ad;bW0_a^0l#wK&0BZZpS;NWW*32PjylIhh<%! z1V*^z`LoW0W1%_bsei-t1GJw~>TtpDkth@q%5oCrRz#>s`6H~wqCn9s3eYiVNm#U< zP4oEY!<=E1N)p`DK~D?|>XUPG=fn=eDRh4rd#k7pWz7FGf_dyOG?T%c{naD(7Pv?j z8)xz)@LNzljOD(ZcX;#g6fG{1=`b6Gn_3E|SHv zBToXeW5RP|$HW5cnEq7knDo-HWAccx!$q=KcH~K5c1(V5?3hx39W_tIj;SvVJEn~o zJ6t4-Wk;R_X2-PW#twVmAt=-F_mPldt(_~M;?XXTMTPgRJl?m?ATsX0)gx1AWfv%a zhUw?-*K1C2&VK#zUu`q#$jU3$o@Z8ybM|QdqE}!)9fOw63M`O)8b*h%!h-VZ3ysxm z>ffkhWv@ws^4bfH)tqO7l^vl4W$p`&l{orXB?IC-gG3|yfXRE3l->6;el*C^d*_!U z+2bd(JFaK19=X%=?ZB~~+r2w(_kN$O?e`)YOaU4XdI-M52&3g$RnokS@oVs7f+{*?J97ue`F2we?K~IZw0? zM+dKeGkA8tF$-7ZT=I6G4{8NF;R?>5>f1 zDyc0FqcXm?-he1-H%oD|wAqMgIwrU2*WzJWL*_&YZHXJ2B0)6)rFJd8S=OYO997Mb zgyc4rRGZ~1tx+QJ*n1Ghp;=8wSGOlLIVS741(IVwtQU`}S%Zb+(S!_DIEENFj%4I0 z4HBfp5{M7y7_)?!WLwy1KiF0;@U}E~A0BFH^2#jqJ}mai)O%Z+y)AW!%zBM`Jy;W7 z()tOG8K||fseWN|>$@u2s>c(p_O#632<1pD5^JCTjvP(Qe_KY8a4UfvS-Iy(yEc(D ztF6g+_^2Dci4_v0&^A1KJDB@^rhMv+vS~Y3{p)9ZtJw@#^(@m(VCh|!0ZX4v>H|xO zqwix!SC4Ay1FQSNy38o2KCrGItjUaW>H}-~!P?9yr#`TjOig13G(2g#2^#vr;>?q$ zn_zK2Sf6?FbQ7%a2hEu$Pko^I9)A58vDyqsk`fO~k{P5?5t2X2%t?|RM{DiKgkxJR zR6mCi9mm96l^JmAAo&Z<^xGnMbxIxWPOY2mlFv!rkDYFGqNf`M?4ZU14;y1 zF*YbkZ4phyHjGubt1uivDynt=7_%ch2^r@YSceN(OOyqdMdOO0sc*rR_>ru(=rf$% zD;Cs>73O2>5ciTeg!vb*59by@H_LtKUlQx9vH_iwDkW6b);Vl literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_dict_operations.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_dict_operations.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..54436f42c03e9ae03d153db61e8b0c072504b1cb GIT binary patch literal 3500 zcmeHJU1$_X9N*d9?A~4OBi}L6*a#I|Xbx>YEMly+YG2w|O09AnUDlh8*|@iR%~DN?Ca2}MieON|6EFGBhu_*m%UNiFMx56wmMro>Y4sWY>;$tF!Pk@l$__Gae) z-{1f9{`24YITnj>bmS95ipX)lF`_z!tLs8L;J9%Paw!f1$eSR=vsK8786I%inv?{* zH*!j5Z$haMTf?ca9vW^6D)simt$*d|;Z>1sYesHdGqPh9WMYa$Ne2|BcyH%({FOy1 znswRwR6W_(oZ(Up1zwTzn+QHKcl-R~TbCdGaC-K;iCvwQo8y(UGjm^lK6~eCWS;69 z80C{m1-Px)$wS?8RA^)z)z0Zia}3+U8PBLU%VZJAZy_zQ+>^XR0g6|J66aL?<%oU*wD6Bv%rO0{+UOI@lPlVtkseFjN!<0Sr@#LEhIAkRi5Ljw0`8 z14bObLbzeCik5+=s?t7SF8vRX%F z)}PgY?$zR#d{1G0HFg;`z{a9njXkvH*h9W1fAwQ0@e3s>P-Or%!RD!IC6O9yuGSdA zt)a$RSTyTzMtGnY20Y z<5ju&?W0TI1V3Gsb9d%0PtPAFkoh#72FRoczti4S`Eg=)<}WF^2h$hLh z9pVMi*5do*ahCkb=b+~3C`1J2Ri^y7?)c`nlOU?*X%ICyV9qDSR2$S$Bh!CdMt04j$x6sm^J}pcY}(D?7Rt? zlzQB>k7=fAX<6Nkzr~V7t`G+hvXR@U4%#TIIjTOAGc}7{E|gj~YFLJ25FvW)Kr!l5 zEw$vOczcj|-6K3TJwc)`2<(N@IGs!5`Jv3N^kMSv;&gYAv=i*x@($l>&+wSfw$KDw`_)zS)|FX|LvE!k* z<^Fn}XA*VbqsgPwBjwm$YJPq4L1XvCEdh0R8_Kc$>sLrL#9o~^IC)_DjdFDN*nx*) z%l(&qei2(1NcK6U(Unyd+8I@KLw=DX+JW3Q)jJ_cuOdl3Cz1XMG8}R`7Fn)btH&yp3Hkr#VBeq~&tD1zlM?h8aT~whhabp@GI3&bw;)j&RqD*_?cQRa zVn?KD|LFQW&+q%@n{Q@zf4})lVWAV?Csn*>l>oqBNhOAd^< zqf=vV-n(#M@}pB5s_wqkKY8H~nO_{dH+b0jH*C3mA6;APr*#p^K`GD`j>@{T2ZmLd zltaegM#`g%LI3y1IlLxn)<*y$Ss(4f5;aPjzILMiG)Pmb!<2|13$q^$nDP`*&GiQw zB{32^>KMTzqh}pR(;6KqFlzQx;&S>DkN?crQ9uN0p((3Trd*m)i>+2hb(>{VFU@M~ zAf;5RC1y{g)GXz4Nigk6;y%d6l097@IscYsxr6fMhN=0c-<22?qkmfaB8M9egI@gL+ ztnpoxOOv<>HlOpI9rP5rQmwf+^dY;|&AC5YD-{#)+HFL+$y@M&x%P#|UK%sij_k1Uy(BB|^?B-r( zC+MM;q1sL)Vb;Ei-5y|Q_W(oNNd09gi~)?#;?&rM%<;FfAI1Jp?!I|`yPwioRo<)W zRL_hfrFO0U?m0>qfL_)zB8A35)hj!u4j zZ0hu}45_!LFus`j^knAe?`8V_nECkR)Yu0|Kl7`hd!rvtj{kP1$+;=0C^A&5mak0q zHu@FkPqKxoX416QudKu^b$;a;(opYL{LZxQ3@hQdq6Xt3S?5EExGKk0ol#VHj@6lD z?^>MH;iMiXjj1K`I*(>ghvR-~pEo;RRX9#YY(OK@(1Q$MQw^!r)|~FWbI_QmF|*9E zLz%&m%p31#&K$LeWyby3EZ6xJY-n8ye}HF2%wM7lsvJuaFv7>W6dwu{UR74qKoIJlKvx3Bf~ZWw8&h`cF4P^^l?q2y6gi!X zCPKleqE`fzJ&9CQ3P3pt1G}S%UBPG|9*oJl7*K*;GH%w3o+DPmiTL*+OhCQFv@Y*W zMuYL7ih9tH$Y7M%2_<65Ae4136_1AF-F~M|cS*X4Clg2p)jc}Z1u-bm3$Rayiw#D_ zaC@D-XRWSQ&(Bf%uAsSoj*dGOX+NAtZQ1|`8`?bRujq2mwVMciTLX6 zFc^-bjlKH$U@W-eJxvRpKhYWD8o#qN1o=NYb;g&1j6$AW34u~&M*M+U$3OInpv1zUHcWxEKZN3vtb(=_Qotx#@C0n&xMT{BxQ%y8fkX zL~Hbkw{->cr-~PwS~q};ZeMEyxVXa6x|YA#K({tA7dKFCmCVJBzBVsA;lbqzFWpwg zPn0@P`7tVh=$b(VIuI$Cj|!N8H;sr|nzFybH3aW1uuZF&V30?nRXhTDtbRsg2pG4Z ze*~ZUS&w9q4v8Ufg3Uqvhy?_5N~UiFjOQ$Sa}s7rwJ3`TG7#|0Y2<-6b2Sj~WF^Of zJ@VP?=kZ9h<_hhSc|6HUA`cuAw_p$KGtA?GZIyCh{L5pKTi2`x@`$s|GoSYs>5%v= z7-w^I!ls*t+-nw)H&+coLm|ybV%nk6nj-};JVanT=XD;^AvrY;f$;*YkptuZ{gt$N zoiA<{5s_S3FwWaF@|~VSGfGksIX#GkWWl(w;D}pv*tCTsPQbWBwJuOJAh{*asMkj8 zMNN!Y6w5qy0E}ddX{YAYsP2`Bis2QzZJSBH6)PbtR*H3OE9P79&bObaJUd@=nzNht z>{*g%r~9O`ugwGN8e?7$EJ@@+nN*(L3k9|a=GzMu<_x7uvKOAx3bK3QNlzaq3HZ-^ zv!m;tDs#Ofd8lw?x!Ie`bC*T19DPx$&7Q~#vy{tovWRR5y~1p|acr|mF9_KX%-R!q zwdAXKHJhrKl*PZuMpiP1-_9KRz)n_Dm{}QYWa`8H_I?D)4Q66M^DOe8LqWz5WX_+w z_nQlu_l`pR0wg$E=b)^lqN>jBN+hBX1N3%Gi|DXo5(7j?s=|tm7~n4}^r3`YI^G=^ z%)I`-;g7)z4EnPjres)#MezlhPCN+2B5i>KG{5MQ~@9on_i_$ECFdY{s+cp3*d48C7P;Jf9U{9O}T z?g-7-pZIrKXhv+K$UEpC{^8lCYlRKxe|)2?e5mV0*U$D0yl}_0P<(Qj&C}$Y1n_Ypk|t83VpZT-XZaXIPAaXu9%0_(goFzLgNO$7N_npgLt#Z$YVqxWjhY(w0OZuxBb#Kep9A+%5g4aI*ceMl zsi?dO{s6UM@Tr7RGR;sF^>>=4ShUqC>L55!cndgh0r3_nz6A=WQ6t+g>=*ir_ZJV+ zL;MLIpO{nh8U8eX#&z0t_LZ?$&%HVpI2Rb-ab@+^&)6$fZCBjwSHVlz-o}5h<&@`s MeFf!%FQd`^4gPk5FaQ7m literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_for_loop.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_for_loop.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fc2378079fc42e7c85eb35f0ff288c8d357fa824 GIT binary patch literal 3991 zcmeHJUuYaf7@yglyWP9|xl1Ex6qA!8WRV<68XH@T_#a=4B9+P!95%Om&0hB(Gkcng z7qB*v2Suz90^&pSRAZp=p@LQFv*KeUf$2jYG)eER5=7{eGrPCBgC?{O5e#IQo$vc* zzVDlFzTeF9{npWu2BK9mQ#A>IKSH4~q#AVhaR|U7FhBtq(2#6ckU}aus3<|;Bnn9w zttbU0Tu}>ZNK=KBsg@sUbsF*INAI6AQ~PT6JhbK$53Tv+KAM>oeoD~{d4*>}w0I__ z;VF@wb-D^&oKMVw!ilP+B`YGv^!E3k-dSDP`RVeXH?N+}l{~Wb^S3*nucqt5)%c8* z&ufsi(TaoJiZf{vS`-U$Q#d2@Z#T`;&XWyiLC^>YfZARtvyiVyHCU4__5(00*JS!@ zAnd|cMlsi%Eog| zT1&*9V)_X*)M<_%{~-V5S;xivHpe_oc`luKTK3G3?13*OesHH-$Ed8Qi4NMwfovcuO)nLkV2hI`QaxM45z$?1r54@~Xt2iMt zLBml5i*3*I^L~|O!wj`l#w5qL>Es{1$)Wui{F4NUz75oSxP2Y(}$B~cjC%>?HVtz=h zfM4{zDW){$NSCllMkY+ARmvofGUV&Q6ie#9Z@LCk^hp{{pt5JVOff7HJ{%R}l4YAb zh7;zrNs1OVX+FM#;ZqIo+%h0f@m)xt*h+og@r;UXzCeb#DE=|@eLmckA%uTP5=1<4 z5YBjjnJ=V8<%+VHxstgmT~n5nYwb(z-@LPWe);?=UdBJX ew>I$lFK8|I=2~|AcktHV-1M1Ul!ATX{{I4M(5!+0 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_function_params.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_function_params.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d61f2b6b06d32942d73144c62de0e87f17c94b9 GIT binary patch literal 5092 zcmeGgU1%IdcxG?!_U@YGlBU|GKN4yqSutlWZIiYbsegSl6;UcjaM|8$l1=w+kC{E& zi+f;yAc&y$p#(~W#+NpvB)$kO;=AHYG19;m$%9GLeX9f!`s6pex5?(mHk76)WSE_q zZ|3`EzMuI%=G$LtYmxqEVl3$Tq+@dI4p(mIXOhY60Zrz3;!cKY3~Xhx4y-b6=eUFzNDbdxnH`TEboIXsVoTg70uVRpxB?UNxoP!l* zyb6DUSW{?!{{}6?wHBd3cQi~7J3XG4!C#>p0G~5NPtJA zE774C=sZf|Bw_IUr6$lnOu|Akv>g`ytQ_!EoBzXp`4IhS2fKRMM$QH1F%_Hnz zyJ>%4tAlIZlmEZ{>%ji0mG-|;ABq4CPjmyeZbpD5Z-l7&pN;_G=pV$33MP#e$;P(i z#eTsS*w3Muvv%wkAog$LG@G$Mu)Zw?8YRzN5xpoLC(o1ZcDx$Xqw9|8(O{>bUm4RY z64_Bf|6<7kv(^BdS~F7ynnXdSx(A(N<5qJpY-=9 zM&~C++;6^}zcx94`GWtlclpcI<>A%kFAf<$6uP@*Jao9FwOH-GBR_-VmXuP zaig3Gc!VPN1>W%F#pUmKS#V;8R_M0|oakwtSOabypT$GR9>Jqe(7nj2N9cj87*Y#gUaRz#3OO!~0xDDU zEL|)+jh;@IC$=;VXY#AZGH^FPLx0Cm^rdOBW#j71Ms5yl&xjq<8(D9Q9b8E-PK$e= zZoMP!oe}p zYNx4gfmbe0IZ}0w?&dTxpTvo7WK1mC+7jcxckjXf&rYjipz3ffru9D?f(lt8f@?<0r;n%bTQRXs^?w0P^2B>|sG z3IZ0v;22*(=WFkx8%gkPz zOZT9)g$O=qk(w7DT2N{TA-)K@y5|iRuazdi+oV|GkzcB!x=(J_d!0Q{29lCtNgZtJbjgC zM3Ay5E^liDL(PMggIvyC0+r#m=9sNf4lZnc^U?PDmEXU+_}h)Er%EyL!=$wR!>5}| zH@DZ}V-$8213U+R;-j)z5&Aks5R@5qn8$*h;ZFM(V&l=fB z8D2=KrZVOkNx$+n29%U>b=ot49`1=bm?4yuLKTzrBKO;U4;ezfe|Ee5u)2!s|J$r%IfDfaiw{0iiI>PbYHt9CT=7(Qw zeYUo_^!?VAuNV7Ii(WWZni0+LC~pzX4;{ET_SoZb`?y0(epnLX35OQW?Fyymq-nyT z<*1buI?S%Qand5#b9AQjWn!8T(}~3amr_g;xnRnn!ZI;~_91Oy`^x zUWnTXrU`Nh8$vZV2oS+BsYT7$C79(Ab?30Kus)7Nvn@YJ{E#v;h&Y(CBZ$_cR^Z81 zXg-K$-2jDd6SILA0ZdNdP+__UNAf zsa|EWS9!XtbfcZ@Ri2@u2})i1_x0MT>bpD@v^p_)eClNN6-?hxqPY52JE=$E_&db) zLqD7!f7xxu<1e|?uT@1RsGNHrY&mYTL7AkUS4hqvucm!|h|YjVJz>Z-;LMoI}h)$ct(SF&%~@<8xc>IncXE!=T%@@#D^a-BX*NIGu=4Gp~ozDmP&)si2RUQo=;?nZG`6h z0P}Mk#tWF#e2QtgH%Fr9WTI985r1tWe)7zIwi$V?06$Nj+snOR3G g=-c-;#$Wr%*eJcRF*tn-y!kg@I=N%y;g~$af6FPZNB{r; literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_http_requests.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_http_requests.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..39abb8332c796161bf30d328957b022db4f18ad8 GIT binary patch literal 13065 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 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_if_else.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_if_else.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b005fdb7c9f8d48f31db3cdfe25348e067f5ac81 GIT binary patch literal 6824 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 T{)}G!4TiSQb2ZFC#uDH!F=OIA literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_oop_basics.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_oop_basics.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..683c8dba149048afaf367293a8da2e51cda82a76 GIT binary patch literal 15427 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 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_regex_match.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_regex_match.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d9d70a07c3259828aca4115db48ce2d438193c34 GIT binary patch literal 18731 zcmeHPYit`u9^bXck2rQ7eYX^9plxc7IC0*ME^UrS`EU>rN7YlV!fd^p#HnAJUAIln zmQtWfs{(DM(iSLOtAm43XnH)3&_es|bkcn~l45B&DIbU(=Nm`wbW%Uve`dYwO|of1 zi9>aGHJ)AX&iv>9nwj-){^P&9Tn>gD@$#PbGKTqK*k=r9`2MaAjv@cv(aL@80)477TLcWr>LB6WbhCTW(ItJ>DpHR#g` zv#KNY{5;FslO{>)>v`QI5nqzDBv8V#cMG&(O<2L-oI3hz)Hd^H-jT3&v3x11)n&Sn zla6;Tnub@YZK?dvtKnHSK*P?T-s^OFG_o;L<(sFRMJ>m>a=u{G)i4?n%Cs8gbVR5~ z*n%weBKv~9$ga{*&%}!kut@|TYtq73CQA|}33eZoLo_v}XUNS(O(qxTU8Aa~$;HuRpWU-1 zeh*Bv3Jj6?!#kNHSEru8IC=5U>9d#8Zw{mfzs$UPDc%f4vIkF2etac!>T>`lTHSF` z!0o~TE*uL9-as_$&Ky3K9XRCX_;4`N4mV<4q|Y10-TxuOME2Ur^c!!b2fj#OKA9bU zCv#>vefTuM95t6pT8}>fScsar`{fjdgFU(v3f5Uuq)cW zU)UoCCFmd#dOJJ(+0?+1%+aBVkpXCYV&s*~;S&>AK2W;Ww*${-ue~-g@-lFzD7Dqy z8wXA}Z>$G%qCja(5navlxq3~O{#C~8-z?L0H1LG}4a8k;AxMAu3=upoY9~xkUrc~J z+0h>BlLS%nb6BqQcSUiSgKOHK!(zAWgvb6p@nA@Tt}0tY(EtaSKNe!x z-yMqX;X;1Ghg{+pxh{d+mdk!csRW~uM=_3KdAUkmI1meQ5l(_9nD`*H3sggt7_|cy zhAL$w5d@R~*K#RgLgA@i`J(XIsDDzY|1#}KgT79){>xTT8@f{|dPyZT`mrK=y}#9&}Iv6e`4&{#K+2a5%IysF5`!xQ8Ltt4}i-J zFyC1j=cDYvBmZ=*IkRHabPM%q(9UtREA^w( zS7_INt&D|dQz%fNG=>7-S*G+LRSnX0@oyJGJ75D^L8=!Yz zeT}c7#@ATmYpU@z*Z5j$d|T6B45Z)w1o+7*OD8JjBu;*SPoDfVJN%}OrML&~!lDOR zfOzvQSffgRczSLcG7~2ey=0jHihb~>iII==%LlX_k3+G<7AS~oNk$f1Fj*ME50b2! zWTaW_C0Pw*9xHAm*YzaZMzSW7Z6{efWFo{zG74ymAA(DH9Yt9UqjvEVP=GWk+5uu2 zU_%EIhOp;mnAvNa^NyXln)z*NFm@J0 z*neyY`|bsA2)mzd2-{fP5T-ezc9CCG1)tPM3@mL3`zH0ht$?%X&o%J6YSBa3xBN^4 zuNPmFo}wlfErk66B^sITq|Y2Xo<4SJ=hKhpBG(D1mc4jw>hwi-k0iy!)|#6A`}cci zM6T0k@JNm1g}C*a7$^0(v#)#x`E0&%q%k|670wfQd=0ew@IMM8eq- z;ByeD!W&3sH)Kj92BOYG)u2XIoM6~WY&Nh%5M>$xuAtf$(jrB*s|-u&@mDQ;JCAG6 z8L>V2A#qI%NBMX_61NBWHbBQ61cZg)ZBiUW5#xLKD8z0@yjp}diQT3) zuaTl~?iRc~QaD8GK{U783>OP}X+$^ikbS-yo|8CQrornbekBG;)NZvB^c@Y;M|d+R zzyn(kwzYW{y!Bw4w)G%R93-c$!H)sLhb=6vP8Y~% z-ydSAD9ZR?|7944`jD^l?=L4O0U97+5rD zKWHB;KUjX;blP^pcDnpT`8m_Ow)3`ko#&nJJw3c@XxFfR$UpMi(dr$4L!<5|Mk_kT gm?sIP-?0B+p8g)KW2?Szak5XcH`cFX8z?*f1BrJxa{vGU literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_set_operations.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_set_operations.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84fa94c9f2104bd6e234725e1f6a52a03fe684f6 GIT binary patch literal 2691 zcmeHJO>7%Q6rNeHcWuXxH5XQ zE$(k%RLbQvNFO0V*+Ooh6BOv4kFXKgo=eOyW=K`W*y8|eM`T|5A}jBgaEx<_aTwH7 z1)vJ5kR{BqY>i0_Au~jzDpe!LcQA`wmC5HpeII~f=5PJ7qE)#7Ers7xkY?)$OAUAy zVhzU{Qj^ct#diUDxW#|iPE8n-s#2qXxD}ba2PBjx(uFL3GwY48k%m_*c2OEt*jb}i z+)7lVHWZo?q#F@hJasf|OmTxyC}@3i3aaTy}cS7 z?R;j3U)iaVY;SLti#-~l3Pz;t1e!!6Y>$(k(RPCngad)u%P`EicYr2sH$a#mlh4p* z2%50$LIGjqnn*;~;+P+ZCZ6{z0V08JV4BfQ!*O(sd~A9p-@u3_*|t7Zww=IsSsISV z5QJ{gNzp4imVoNV9B;^Qbk`^$8rO-z!}yrCzaa8sX}pZFhiR8y@NmfpbTr~ShAW1= zrqVbw6?M}o579Q$vuyX6P;eX1u8oHe&$+u**%d0G!#%CaKEmss4cDCkbN}F5tV(3C zXV0$Z_6;6HO3v{a4>#c%_y)IDY6Cxp#3BSJT}zHQl{hOZ9Vi+ZQ)+t+C?+t&6I=(Lh++}jNm@)O{mrfJ4=pJ|bXjXw_NuGhWo9?E zj0ACGFr{sp(59xOrSc_?af3@~z@ct?E%a!Yz~qoaExEp>xTVljXJ)mwOneBzhaNnv z=FNNay?JlmJk6V56Nwn$%}b77k^uN!FwHL7q+3TI0J8vrEI<%RCd^8LhDvf?f}qrv z4MTrM$tq$dl8p!&%|`V|@v+uL{c-V$2W5J6Pvqf;Mjm}=0AhjhzT4Xa@1IUr~X8-&4<-{;@L% zJghQrtFQtq;5?{G6^VS|avjl%axmJVNUlf)h}yVDL0W7gT6DrY*kDwF!TwR$4RQh$ z{k#c4f-W|>^ME|wvSxf2NHCS{*y2{?Ue>pf7DQpBd?`&bR5gSmC|U^_P;j!F3~aR6 z?FeK$v?2$43F!L}#U@}CRwZ=kAd=O6iDXNz#!;drSKALFygv~}$%9DlPbAB+bcff= zZV3PSuHU@A@!8kwKhHI$mbP#1`pl1wtKWM3cB-$`)|Wrn>|#T&o%8db)-Qj|u6rS8 z_qt?QX*k){cibrtq)E!KQhYd+CNzw7;+bw*q9HcNyP?T;jSwBX0&|LCnDEqy$FJ7< z?e8~#njTIKJR|HjzPePuc5RcF(p`3a`7VvY6X_`CRe;8xbIPtxTvfxgQ_X9psbby1 zdAsCjSf^2yXa${1Xq+L{QO_`4!(yJAHUksdqmpskGm+3z$4q-vGgV6~>9qZM;kRL1 zFJo+D+O0OrnLgo|nx(mHCf$a44Wozn+WtOIv@(M}<13zQWlj@T@<58We_ziJ=iXv5 zBDtZH15cmMy`+a8C@K+eL_ttuD46Y_J7tY?3`|dpIwbEBM zt|wCe2Ty*Jd$(ACK)RbMs*3Eqs?tc1IG9&qdRXGHzQ$m8J~y z*8vUtDl|mOgi1D{vZJ}qxyu7^9IpL z=7BR8e+F^33jiNs=5P+BMDE|`%5Ke=OiMt?n z7ewzfR-TDWMP`yy$;;BLaz&Xm{;oOqCpf10?+JE*Jc{TOQ UYRAYLc=d0ldS*+G!ehezf3PrFEC2ui literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_string_split.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_string_split.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aed048bd1daace64000370295181a08dba21c1da GIT binary patch literal 14404 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 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_while_loop.cpython-312-pytest-7.3.1.pyc b/tests/__pycache__/test_while_loop.cpython-312-pytest-7.3.1.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2cab68bc732c3fdaf271d16cdd2ac9d5dfa8fd26 GIT binary patch literal 4160 zcmeGfU1%IdcxG?z_U`g?NgLEC!adj|`*26n#HKAq{C^OPB9_V#TsF6R$zJz%mzljb z7w@34fgpm|hY}FMR*;&ekiIApX`g&h^q~+jFn#dB{J3wGAVQyavKS}`nDwsM*)bZBi5P*50gB;MIE?F=q2^=Y*yaYih znv20;M$XA%CZ3B6oX91Nc(JS5Xh0Vqy?@L|>?qm2XUQk_EcxUPlBq@Zmb~eaMHUI( z!jTY*w?tM)sWaEf=;$oS9jZu5tjt$VZhZN{Z%dapzqzpX_2rZ4bCafJtlzq}`QcL1 z=f*~-rEFG#G*vKdT`icHc&c&Mu=9K}Y%(Jv?AdyR1%Dn)u&{mxYrw0!20(S&sTxZ~ zO{&7Gbfyo0TBI5w-+NqFv?2=QH{W3fcKtjDX! zgo2BDsnFpjOC8}@16QM=r4YXd^~4m*AA2BsA~lI+G`UMgTMjZB#Iv|l=Krr5ZQUiK z2WPZ?Kpv`$w(XM9L~usSd%JVn#hsfvxN{r#B>Rf}$9L{OenAg%Dbn)roXtu?=_o(N zoDQn3jZZ({c>mVs_3LZP=hv36t@f&@SZd>qQL3?BYkdVNFm90>qL4a&8dEc^l^MtAxg5A9tlQ=6@s}n1I^0`|+r<5obesV3$ zwJ@(Za3`OFR5Hol-8PBvg}JRHgyS^%oLlh>R)A`lcB*;JvQ%uiIPa8P4I8wTO{?Q& z)ACH4(3s^g2|^!J$)r=ZbRnuvSkAa+skT-!XhJ1g!Qd8X`}5-EO~-y2V+Yg2YQe!J zjg`7nuBF+U$7YlmZQ&~faT;i52Ai2<&CJsQ6IeSQxEL@4{e(v?E!w?T^C!nnvG|j* z!J&cSV`DEFJAu89$ zF#olsu|S1JNQF?zAr!fqH%Vif>l(IBWo?{@0aSEMo65S0#Yu{*?9b3Lm=9gXl!5am zF-W$tDaGj(8*l;OUbYTC!WWA_Q*!jOWju?IGnQX@fMOX`BU{Ps%bmG96> X`n8pg(VxKUe=ya7Ez|;g#rl5%V=CSJ literal 0 HcmV?d00001