From e7d6915b7392cdffaf81ff6654cb258691227083 Mon Sep 17 00:00:00 2001 From: stud203791 Date: Fri, 17 Apr 2026 21:52:06 +0300 Subject: [PATCH] change UTF and make sure that code workes --- data/products.csv | 9 +++++++++ src/main.py | Bin 18612 -> 10363 bytes 2 files changed, 9 insertions(+) create mode 100644 data/products.csv diff --git a/data/products.csv b/data/products.csv new file mode 100644 index 0000000..309a119 --- /dev/null +++ b/data/products.csv @@ -0,0 +1,9 @@ +product_id,name,category,quantity,price,supplier +1,Ноутбук Lenovo ThinkPad,Электроника,15,85000,ООО Компьютерные технологии +2,Мышь Logitech MX Master,Электроника,45,12000,ООО Компьютерные технологии +3,Стул офисный Ergohuman,Мебель,8,35000,МебельПро +4,Монитор Dell UltraSharp,Электроника,12,45000,ООО Компьютерные технологии +5,Клавиатура Mechanical,Электроника,0,8000,Аксессуары Плюс +6,Стол письменный,Мебель,5,12000,МебельПро +7,Блокнот A5,Канцелярия,120,250,КанцТрейд +8,Ручка шариковая,Канцелярия,500,50,КанцТрейд diff --git a/src/main.py b/src/main.py index 6df9bd8065a394b4c70665204d98be19ff3140de..9a3f376aa300aeac85901d36bfc9e88251773026 100644 GIT binary patch literal 10363 zcmb_i>uwvz75=ZMnDP(FhGryR5?6=<6ixCgPK(wp3eW_xA(zs^jsw;`ysWkG}6kaZ9}8_3{6&C$Sg!&PdJc2cwbOr;*4^{#7vb zV>et_SQxlNF$$bPZxRNBX+Mq{LvQ3xoOo?nL~+;@$KDo1x!-9@q8`>;!u9*X06eeMr}6OE>3UN*k)ZvuwX{BToq-#II)rZ1 zzQ5%Grq<-`Xcm2jK`6ptU3k7;WD}w(npsfWvX;^_`qcG=o;Rp3gHYT6!A^d(+iX>@ z^qsMbH9ViMyE7*Co!DIs!c8+dy`Qznzc4@?zLED)?*Mo+>R~m9R`tBqa??JgA1o3;Yx52w%7=)REz%9TY z*5s|^b9o@|$wzW;S;)W1J^4^R7F)&+w}pHv_vt@+@Ida%r?t!qLN}gG@37oU}|O%jYB|jw`{^I+A*`+89QbZj<6#ch;{^xvzrr_{Z32#!5K}}bq=7i zS?iIr;S_ex;Sr7qv9kB!X3q$2j5}J+#m1H}k7q|tO}wKO$MMTtXD2VRTrF%p)w9{5 z-ffS9bvJA@#R|ft4lia5F}c9FvHKZ}k3GLqPI{GNv4zBB4i zN8~u;Aa+JQ_|a+VNi49LL5_3E*fnp_bZkWIWG=ERex5<7Pwgz|n<;kwpa+b5Q5^Ko z8=@8uEfKGUZnPGR2D3p+NswPRswTf|u5)T9x0b3phZekIx|51?MqFfu?x2zG(Gus~ z&6SZe{&3)kjb*Ws2f;|T8V1t|S+hA*mBKN=lzVmH0#sh9vp=(pBGuNmiUl(S${dkd zgf*#zW~`ni8vwwJs(9k3_fbZS4!D^Xb<9HA~cnJU>Mxr}wheDzuIEb@CQzlU;S=-Z+Tjp1Xm3 zEb=at@(;^=S;MAM$fx%@xEjbZ-1WX61inrI^uXBJNNuRX1oeqC_7}NM*k2<9q^OlH zv|TCecs&Slu4dIBdIB9$E*12>ae<7!X772&F4Yt%7{c46v-8!Iq4>bb5Q4QG0Y#)jGUh<`2iifB!p2$PG zPOf4ITRujm@qp`$9FWVc_VMAiNIp(3$$M=rL#kX7SI2zMB{!_g`9^2b$%=%o3URrN zKI#@VH!&%VqLUGAvm@yT<8k0OPRvu=E^v8v>;$2=2e9_#kB|=q6{;xt3;>oR2>M7}uYU-4IDaBM$QXx5QE|u_KJ=lQXelO^7XTyDhd1*=^{P z2?J_N&&-g8cN$}Ru+}kGX_GR*9KrKJ7iGrMViw=OZ_qSBSDcxh4K`vDYyQa1T?xr8m#Cww6X;rU!2c3_xPJ@rZ<@ zy3e8)ApJbK2-_{3Qx^r~3kXbtzo5w6FGw!hI@Ga%(|Qufv%l7HSeRxmGuXr9y(p7Zp(ZAI=ToBdF=`}Pmgf+JE@skwKTc`TomHl zSUc!sIWev)+6Gx_)LFs|c-_O~5=6QOKlDhv@A|=oK%8Ck{PVwY21HN(8xCw=K7#P% zAPEcj0X$hc)e@&qEiNw7q+9e)$nVHj(Qdh#d;yyKSn)Ku0+Z#N%UDeA_Ye*Q&ZC}d zjdhL_k(#vD3e-vk&2&LIvMoxl}rQ@%NkrTwoT?l V%e+369tf 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