Printable Version of Topic
Click here to view this topic in its original format |
თბილისის ფორუმი > Hello World > Python-ის სწავლა 0-დან |
Posted by: Lilith 25 Oct 2017, 02:35 | ||||||||||||||||||||||||||
პროექტის შინაარსი:
ვის შეუძლია მონაწილეობის მიღება:
სასწავლო პროცესი:
რა დაგვჭირდება:
მოკლედ დავიწყებ და რა გამოვა დრო გვაჩვენებს! პირველი ნაბიჯი რა იქნება Hello World!-ის გარეშე: ვუშვებთ PyCharm-ს, ვქმნით ახალ პროექტს, პირობითად ვარქმევთ Forum.Ge-ს (ან სურვილისამებრ ნებისმიერ სხვა სახელს). ახლად შექმნილ პროექტში ვქმნით ახალ ფაილს - ამისათვის მარცხენა მხარეს პანელში ვირჩევთ ჩვენს პროექტს - მარჯვენა წკაპი->New->Python File. ისევ პირობითად დავარქვათ HelloWorld.py შემდეგ ვწერთ შემდეგ სტრიქონს:
ვინახავთ, შემდეგ ისევ მარჯვენა წკაპი, ოღონდ ამჯერად ჩვენს ახალდამატებულ ფაილზე და Run 'HelloWorld'. ქვედა ნაწილში გამოჩნდება პანელი, სადაც დავინახავთ თუ რა მოხდა ჩვენი პირველი პროგრამის შედეგად:
სიმარტივისათვის ამ პანელს მომავალში 'კონსოლი'-თ მოვიხსენიებთ (console). კონსოლში ვხედავთ ჩვენი პროგრამის ე.წ. output-ს. print() ფუნქცია საშუალებას გვაძლევს გამოვიტანოთ კონსოლში ჩვენთვის სასურველი ტექსტი, და არა მარტო ტექსტი, როდესაც ვისწავლით ცვლადებთან და მეთოდებთან მუშაობას ეს ბრძანება გახდება ჩვენი უახლოესი მეგობარი ამოცანა #1: კვადრატული განტოლების ამოხსნა. გვაქვს ax^2 + bx + x = 0 ტიპის კვადრატული განტოლება. დისკრიმინანტი d = b^2 - 4ac. თუ დისკრიმინანტი უარყოფითია - ამოხსნა არ გვაქ, თუ 0-ის ტოლია - გვაქვს ერთი ამონახსნი, თუ დადებითია - გვაქვს ორი ამონახსნი. პროგრამა გამოიყურება შემდეგნაირად:
input() - ამ ფუნქციის საშუალებით ხდება მომხმარებლის მიერ გარკვეული მნიშვნელობის შეტანა ჩვენს პროგრამაში. ჩვენს შემთხვევაში ჩვენ გვჭირდება მომხმარებელმა მოგვაწოდოს a, b და c კოეფიციენტების მნიშვნელობები. ნებისმიერი მნიშვნელობა შეტანილი მომხმარებლის მიერ, წარმოდგენილი იქნება ტექსტურ ფორმატში. int() - ეს ფუნქცია საშუალებას გვაძლევს ჩავატაროთ მათემატიკური ოპერაციები მომხმარებლის მიერ შემოტანილ მნიშვნელობებზე. input()-ის საშუალებით შემოტანილი ნებისმიერი მნიშვნელობა ინახება ტექსტურ ფორმატში და ჩვენ არ გვექნება საშუალება შევასრულოთ გარკვეული ტიპის ოპერაციები მათზე, მანამ, სანამ არ დავიყვანთ მათ რიცხობრივ ტოლფას მნიშვნელობამდე. a, b, c, d, x, x1 და x2 არის ჩვენი ე.წ. ცვლადები, კონტეინერები სხვადასხვა მნიშვნელობების შესანახად. a, b და c ვიყენებთ მომხმარებლის მიერ შემოტანილი მნიშვნელობების შესანახად. d-ში ვიყენებთ დისკრიმინანტის გამოთვლისას მიღებულ მნიშვნელობას. x, x1 და x2 გვჭირდება ამონახსნების მნიშვნელობების შესანახად. გავარჩიოთ დისკრიმინანტის დათვლის კოდი:
4*a*c - აქ ყველაფერი მარტივია, '*' (ვარსკვლავი) გამოიყენება ორი მნიშვნელობის გადასამრავლებლად. ანუ ეს ნაწილი შედეგად მოქვცემს a-ს მნიშვნელობის ნამრავლს c-ს მნიშვნელობაზე, გამრავლებულს 4-ზე. b**2 - '**' (ორმაგი ვარსკვლავი) გამოიყენება მნიშვნელობის ხარისხში აყვანისთვის. b**2 მოგვცემს b-ს მნიშვნელობის კვადრატს. if მიეკუთვნება ე.წ. საკვანძო სიტყვების ჯგუფს (keyword) რომელიც საშუალებას გვაძლევს კოდის ნაწილი შესრულდეს მხოლოდ გარკვეული პირობის დაკმაყოფილების შემთხვევაში. სტრიქონის ბოლოში ':' არის პითონის დამახასიათებელი სინტაქსი. საქმე იმაშია, რომ პროგრამირებისას გვჭირდება კოდის ნაწილის რაღაცა მიზნით დაჯგუფება. სხვადასხვა ენაში ეს სხვადასხვანაირად არის რეალიზებული. მაგალითად C-ს "ოჯახის" ენებში ამისათვის გამოიყენება ფიგურული ფრჩხილები '{' და '}'. ზოგ ენაში გვხვდება 'begin' და 'end'. პითონში კი ამისათვის გამოიყენება ე.წ. 'ცარიელი სივრცე' (whitespace). ანუ მარცხენა კიდიდან ერთნაირად დაშორებული კოდის ორი სტრიქონი ითვლება რომ მიეკუთვნება ერთ ბლოკს. ჩვენს შემთხვევაში ეს ორი სტრიქონი:
სხვადასხვა მანძილითაა დაშორებული მარცხენა კიდეს. შესაბამისად მეორე სტრიქონი ეკუთვნის სხვა ბლოკს. d < 0 არის გამოსახულება, ოპერაცია, ისეთივე როგორიცაა იგივე გამრავლება, ან მიმატება. უბრალოდ ის სრულდება ნებისმიერ ორ ობიექტზე, შეგვიძლია ორი სტრიქონი შევადაროთ ერთმანეთს, ან ორი თარიღი. შესადარებლად შეგვიძლია გამოვიყენოთ მარტივი '<' ან '>' ოპერაციები. ტოლობის დასადგენად ვიყენებთ ორმაგ ტოლობას '==', ხოლო მეტია-ან-ტოლი და ნაკლებია-ან-ტოლი აღინიშნება '>=' და '<=' მიმდევრობით. ასევე გვაქვს არ-უდრის ოპერაცია '!='. შედარების ოპერაციის შედეგი არის ე.წ. bool ტიპის და შეიძლება იყოს ან True (ჭეშმარიტება) ან False (სიცრუე). if-ის ე.წ. შვილობილ ბლოკში მოთავსებული კოდი შესრულდება მხოლოდ და მხოლოდ იმ შემთხვევაში, თუკი if-ში მითითებული პირობის შედეგი არის True. ჩვენს შემთხვევაში თუკი d (დეტერმინანტის მნიშვნელობა) არის ნაკლები 0-ზე, მხოლოდ ამ შემთხვევაში პროგრამა კონსოლში დაბეჭდავს სტრიქონს 'ამ განტოლებას არ აქვს ნამდვილი ამონახსნი!'. ასევე შეგვიძლია განვსაზღვროთ კოდი, რომელიც შესრულდება მხოლოდ და მხოლოდ იმ შემთხვევაში თუკი if-ში მითითებული პირობის შედეგი არის False (ანუ მარტივად რომ ვთქვათ თუკი პირობა არ სრულდება). ეს არის ჩვენი პროგრამის ბოლო, ყველაზე დიდი ბლოკი, რომელსაც სათავეში უდგას else: საკვანძო სიტყვა. როგორც if-ის შემთხვევაში სტრიქონის ბოლოში არსებული ':' გვანიშნებს, რომ ამ ბრძანების შემდგომ იწყება კოდის ბლოკი, რომელიც შესრულდაბა მხოლოდ და მხოლოდ იმ შემთხვევაში, თუკი if-ში მითითებული პირობის შედეგი არის False. დაგვრჩა კიდე ერთი ბლოკი, რომელსაც გამოყოფს საკვანძო სიტყვა elif, რომელიც ასევე შეიცავს პირობას d == 0, და რომელიც ასევე ':'-ის გამოყენებით გვაძლევს საშუალებას გამოვყოთ კოდის ბლოკი, რომელიც შესრულდება უკვე ორი პირობის დაკმაყოფილების შემთხვევაში: 1. მანამდე განსაზღვრული პირობები, if-ის და სხვა (ასეთების არსებობის შემთხვევაში) elif-ების საშუალებით, არცერთი არ შესრულდა. 2. ამ კონკრეტულ elif-ში მითითებული პირობა სრულდება (ანუ მისი შედეგი არის True) ორივე პირობის შესრულება აუცილებელია. ანუ ეხლა უკვე ქართულად რომ ვილაპარაკოთ, თუკი ჩვენს მიერ გამოთვლილი დისკრიმინანტის მნიშვნელობა არის 0-ზე ნაკლები, მოხდება ამ კოდის შესრულება:
ხოლო თუკი დისკრიმინანტის მნიშვნელობა არის 0-ის ტოლი, შესრულდება შემდეგი კოდი:
და თუკი ზედა არცერთი პირობა არ შესრულდა, ანუ დისკრიმინანტის მნიშვნელობა არაა არც 0-ზე ნაკლები და არც 0-ის ტოლი (ლოგიკურად ვუშვებთ რომ მისი მნიშვნელობა 0-ზე მეტია), ამ შემთხვევაში შესრულდება შემდეგი კოდი:
ცალკე მინდა განვიხილო ეს სტრიქონი:
-b გვიბრუნებს b-ს უარყოფით მნიშვნელობას (თუკი b თავად უარყოფითია, მივიღებთ ორმაგ უარყოფას, ანუ შედეგი იქნება დადებითი). როგორც ზევით აღვნიშნეთ '**' არის ხარისხში აყვანის ოპერაცია. ჩვენ კი გვჭიდება ფესვი დისკრიმინანტიდან. თუკი გავიხსენებთ სკოლის მასალას n ხარისხის ფესვი რიცხვიდან ეს არის ეს რიცხვი აყვანილი 1 გაყოფილი ნ-ზე ხარისხში. ანუ კვადრატული ფესვი d-დან იგივეა რაც d აყვანილი 1/2 ხარისხში ('/' არის გაყოფის ოპერაცია). მოგვიანებით უფრო კარგად გავეცნობით სხვადასხვა მნიშვნელობის ტიპებს პითონში. ეხლა კი მარტივად რომ ავხსნათ პითონში თუკი ერთი ოპერაციის ორივე წევრი არის მთელი რიცხვი, შედეგი აუცილებლად მთელი რიცხვი იქნება. ჩვენს შემთხვევაში 1/2 ყოველთვის 0-ს დაგვიბრუნებს. ამიტომ გვჭირდება ერთერთი წევრი (გამყოფი) წარმოვადგინოთ ნამდვილ რიცხვად (2.0). ფრჩხილები მათემატიკურ ოპერაციებში იგივე პრინციპით გამოიყენება, რაც ზოგადად ალგებრაში - ჯერ სრულდება ის რაც ფრჩხილებშია, შემდეგ გამოფა/გამრავლება, და ბოლოს მიმატება გამოკლება. a/b*c მაგალითში ჯერ შესრულდება გაყოფა, შემდეგ გამრავლება. ამიტომ როდესაც გვჭირდება რაღაცის გაყოფა სხვა ორი ცვლადის ნამრავლზე, ვიყენებთ ფრჩხილებს - '/ (2*a)'. ანუ ჯერ a გამრავლდება 2-ზე, და შემდეგ მანამდე მიღებული მნიშვნელობა გაიყოფა 2-ისა და a-ს ნამრავლზე. მემგონი საკმარისზე მეტია პირველი პოსტისთვის. ველი თქვენს კითხვებს, კრიტიკას, შენიშვნებს და ა.შ. შემდეგ პოსტს მივუძღვნი შეცდომებს ამ ჩვენი პირველი პროგრამის მაგალითზე. |
Posted by: MrAlex 25 Oct 2017, 15:13 |
კარგი წამოწყებაა ნამდვილად, წარმატებები. |
Posted by: billy*jack 26 Oct 2017, 00:47 |
საღოლ.. მოგყვები.......... |
Posted by: INGATO 26 Oct 2017, 00:54 |
ძალიან კარგია თან დროული ჩემთვის. მადლობა თემის გახსნისთვის პ.ს ამ დავალების გარჩევაში შეგიძლიათ მომეხმაროთ? პირველი დავალებაა და ცოტა კი არა ძაან მერთულა მე 2,3,4 ნომერი ადვილია გასაგებია ეგენი აი სხვები ვერ გავიგე |
Posted by: Lilith 26 Oct 2017, 07:49 | ||||||||||||||
INGATO დავალებაში თუ რამეა გაუგებარი გირჩევ ლექტორს ჰკითხო, დარწმუნებული ვარ მხოლოდ გაუხარდება თუ კონკრეტულად პითონთან გაქვს დაკავშირებული შეკითხვები კიდევ - ორი თემაა აგერ აქვე, ამ განყოფილებაში https://forum.ge/?f=60&showtopic=33978899 და https://forum.ge/?f=60&showtopic=34977272. მოდი ამ თემასაც ზოგადი კითხვების თემად ნუ გადავაქცევთ, პირველ გვერდზე მაინც! MrAlex billy*jack მადლობა ტაკს, დავუბრუნდით სასწავლო პროცესს, კვლავ ჩვენს პირველ მაგალითს ვაგრძელებთ. ანუ გვაქვს პროგრამა, რომელიც ეშვება, გვეკითხება კვადრატული განტოლების a, b და c კოეფიციენტების მნიშვნელობებს და გვაძლევს შესაბამისი განტოლების ამონახსნ(ებ)ს, ან გვეუბნება რომ ასეთი კოეფიციენტებით განტოლებას არ აქვს ამონახსნი. თუმცა საკმარისია კოეფიციენტების მნიშვნელობაში შევიყვანოთ არა-რიცხვითი მნიშვნელობა (მაგ. a = a), რომ მომენტალურად პითონი აგვინთებს წითელს:
ანდაც a კოეფიციენტის მნიშვნელობად მივუთითოთ 0 და ამონახსნის გამოთვლისას მივიღოთ 0-ზე გაყოფის შეცდომა:
როგორ მოვიქცეთ ასეთ შემთხვევაში? არის ორი გზა, პირველი - ეს არის წინასწარ გავითვალისწინოთ თუ რა პრობლემებს შესაძლოა წავაწყდეთ პროგრამის მუშაობისას და "ჩავდოთ" შესაბამისი ბერკეტები. მაგალითად ჯერ შევამოწმოთ ხომ არ შეიყვანა მომხმარებელმა 0 პირველი კოეფიციენტის მნიშვნელობად?
როგორც ხედავთ if-ში დავამატეთ ახალი პირობა და საკვანძო სიტყვა or. აქ პატარა (ან არც ისე პატარა) ლირიული გადახვევა უნდა გავაკეთოთ. როგორც პირველ პოსტში ავღნიშნე:
დაუკვირდით - a + b, ეს არის მიმატების ოპერაცია, რომლის შედეგი არის a-სა და b-ს მნიშვნელობების ჯამი. a < b ეს არის ოპერაცია, რომლის შედეგი არის ჭეშმარიტია(True) ან მცდარია(False). '+' არის შეკრების ოპერატორი, '<' არის შედარების ოპერატორი. მათემატიკურ ლოგიკაში არის ცალკე განშტოება, რომელსაც ეწოდება ბულის ალგებრა (https://en.wikipedia.org/wiki/Boolean_algebra) რომელიც სწორედ ასეთი გამოსახულებების პრინციპების შესწავლაზეა მიმართული. ეს არის ძალიან ვრცელი, პირადად ჩემთვის უაღრესად საინტერესო და პროგრამირებაში ერთერთი უმნიშვნელოვანესი სფერო. რა არის or? ესეც თავისებურად არის ოპერაცია, როგორც მიმატება/გამოკლება, ან როგორც შედარება. უბრალოდ a და b ამ შემთხვევაში არის ლოგიკური გამოსახულებები, რომელთა შედეგი არის True ან False. ჩვენს მაგალითში განტოლებას არ აქვს ამონახსნი ორ შემთხვევაში, თუკი დისკრიმინანტის მნიშვნელობა ნაკლები აღმოჩნდა 0-ზე, ან... პირველი კოეფიციენტის მნიშვნელობა არის 0. აი ეს 'ან' არის სწორედ or ოპერატორი. გვაქვს სხვა ოპერატორიც - and, რომელიც ასრულებს 'და' ოპერაციას. კიდევ არის სხვებიც, მაგრამ ჯერ ამ ორზე გავჩერდეთ. როგორც წინა პოსტში ავღნიშნე, if-ში კოდის ბლოკი სრულდება მხოლოდ იმ შემთხვევაში, თუკი პირობა არის ჭეშმარიტი, ანუ თუკი პირობის გამოსახულების შედეგი(მნიშვნელობა) არის True. განვიხილოთ პატარა მაგალითი, გვაქვს ორი გამოსახულება - a და b. სიტყვაზე a არის 3 < 4 (True), ხოლო b იყოს 5 < 4 (False). თუკი ჩვენ ამ ორს დავაკავშირებთ or ოპერატორით, რა იქნება a or b გამოსახულების მნიშვნელობა? ლოგიკურად რომ ვიმსჯელოთ - 3 ნაკლებია 4-ზე, ან 5 ნაკლებია 4-ზე. ვინაიდან ერთერთი არის ჭეშმარიტება, ე.ი. მთლიანი გამოსახულების შედეგიც იქნება ჭეშმარიტება(True). ეხლა ჩავანაცვლოთ 'ან' ოპერატორი, 'და' ოპერატორით. რას მივიღებთ - 3 < 4 და 5 < 4. ვინაიდან ერთერთი არ სრულდება, ე.ი. მთლიანი პირობაც არის მცდარი(False). ძალიან დამაბნეველია თავიდან ეს ყველაფერი, ამიტომ სიმარტივისათვის ვთქვათ რომ ჭეშმარიტი(True) არის 1, ხოლო მცდარი(False) არის 0. ხოლო or ოპერაცია არის ჩვეულებრივი მათემატიკური მიმატება '+', ხოლო and ოპერაცია არის მათემატიკური გამრავლება. მაშინ a => 3 < 4 => True => 1, ხოლო b => 5 < 4 => False => 0. ხოლო a or b => a + b => 1 + 0 => 1, და a and b => a * b => 1 * 0 => 0. (შენიშვნა - True or True => 1 + 1 => 1 და არა 2-ს, ვინაიდან გვაქვს სულ ორი მნიშვნელობა - True = 1, False = 0). Fუუუჰჰჰ.... დავუბრუნდეთ ჩვენს მრავალნატანჯ კვადრატულ განტოლებას.
თუკი დისკრიმინანტის მნიშვნელობა ნაკლებია 0-ზე, ან პირველი კოეფიციენტის მნიშვნელობა არის 0, განტოლებას არ აქვს ამონახსნი! (ნუ 0-ის შემთხვევაში რეალურად აქვს, უბრალოდ ეს აღარ არის კვადრატული განტოლება) მეორე გზა ეს არის ე.წ. შეცდომების დამუშავება. როდესაც ჩვენ ვიცით, რომ გარკვეულ მომენტში, გარკვეული პირობების შესრულებისას, ჩვენი პროგრამა შეიძლება დადგეს ისეთი ოპერაციის შესრულების წინაშე, რომელიც შეუძლებელია შესრულდეს (მაგ. 0-ზე გაყოფა), და ჩვენ არ შეგვიძლია თავი დავიზღვიოთ ასეთი შეცდომებისგან რაიმე სახის დამატებითი პირობების გაწერით, შეგვიძლია უბრალოდ გავწეროთ გეგმა "ბ" და ამ ოპერაციის შესრულებისას როდესაც მოხდება შეცდომა, პროგრამა აღარ გააჩერებს კოდის შესრულებას და გააგრძელებს პროგრამული კოდის შესრულებას ოდნავ განსხვავებული სცენარით:
try: არის მორიგი საკვანძო სიტყვა, რომელიც საშუალებას გვაძლევს კოდის ბლოკში გარკვეული შეცდომის აღმოჩენის შემთხვევაში, შესრულდეს except: ბლოკში მითითებული კოდი. ზევით წითლად აღნიშნულ შეცდომებში შეგვიძლია ამოვიკითხოთ თუ რა შეცდომასთან გვაქვს საქმე - ამ შეცდომებს პროგრამულ ტერმინოლოგიაში ეწოდება exception-ები. პითონი გვაძლევს საშუალებას სხვადასხვა შეცდომის შემთხვევაში სხვადასხვა კოდის ბლოკი გავწეროთ. როგორც ამ ბოლო პროგრამული კოდიდან ჩანს ჩვენ კონსოლში გამოგვაქვს სხვადასხვა შეტყობინებები სხვადასხვა შემთხვევაში. თუკი ჩვენ არ ვიცით წინასწარ თუ რა შეცდომა შეიძლება "დაემართოს" ჩვენ პროგრამას, შეგვიძლია არ მივუთითოთ კონკრეტული შეცდომის ტიპი და უბრალოდ დავკმაყოფილდეთ ზოგადი ტექსტით:
ვფიქრობ საკმარისზე მეტ ნიუანს შევეხე ამ ჩვენი კვადრატული განტოლების მაგალითის განხილვისას. ვნახეთ როგორ შეგვიძლია შევიტანოთ სხვადასხვა ცვლადის მნიშვნელობა ჩვენს პროგრამაში (კოეფიციენტები, ფუნქცია input()), გავარჩიეთ if-ის შესაძლებლობები, ცალკე ვილაპარაკეთ ლოგიკურ გამოსახულებებზე, ოპერაციებზე და ბულის ალგებრაზე, რომელსაც კიდევ ბევრჯერ დავუბრუნდებით, იმიტომ რომ ეს არის ერთერთი უმნიშვნელოვანესი თემა პროგრამირებაში. და ბოლოს ვისწავლეთ როგორ მოვიქცეთ შეცდომების აღმოჩენის შემთხვევაში - განვიხილეთ ორი გზა, პირველი ესაა პროგრამულად ისეთი პირობების ჩადება, რომ შეცდომა გამოვრიცხოთ, მეორე გზა - გავწეროთ გეგმა "ბ", რომელიც შესრულდება შეცდომის შემთხვევაში. მომავალი პოსტისთვის მაგალითი ჯერ არ მომიფიქრებია, ამიტომ წინასწარ ვერ გეტყვით შემდეგი პოსტი რაზე იქნება. |
Posted by: samkhara 26 Oct 2017, 07:56 |
კარგი წამოწყებაა ნამდვილად. დავფიქსირდები. |
Posted by: SoloFlyer 26 Oct 2017, 12:55 |
ჯერ ეხლა ვიწყებს სწავლას ამიტომ მეც დავფიქსირდები |
Posted by: ILIA1702 26 Oct 2017, 13:07 |
Lilith იდეის დონეზე კარგია რასაც აკეთებ(თ), მაგრამ რეალურად არავის გამოადგება, რადგან ვისაც აინტერესებს თვითნ დაიწყებდა მოძიებას ზღვა მასალიდან. ისინი ვინც ამ ტუტორიალებით აპირებენ სწავლას, ჩემი აზრით მალევე მიაგდებენ(No offence). შესაბამისად არ ღირს ამდენი დროის კარგვა ელემენტარულ მაგალითებში. თუ რამე Advanced სტატიები შეგიძლია დაწერო ეგ ბევრად გამოსადეგი იქნება imho. |
Posted by: billy*jack 26 Oct 2017, 13:10 |
ILIA1702 არაა ეგრე.. იუთუბის ტუტორიალებით დავიწყე 4-5 დღეა სწავლა, მაგრამ ზოგი რამის გაგება მიჭირს ინგლისურად.. შესაბამისად აქ დაპოსტილ ინფოსაც პარალელურ რეჟიმში მივყვები და საერთO ჯამში უკეთ ვიგებ... |
Posted by: X2D3T9 26 Oct 2017, 13:36 |
მეც ვეპარებოდი Python-ს გამომადგება |
Posted by: negatoni 26 Oct 2017, 14:46 | ||
პერფექტო 10/10 წარმატებები მოგყვებოდი აქამდე
აქ კი უკვე ზედმეტად ჩინურია ჩემთვის . მათემატიკაში მოვიკოჩლებ |
Posted by: Lilith 26 Oct 2017, 17:17 | ||
ILIA1702 ანუ რაღაცით ხო უნდა დავიწყო? ხოდა იმისდამიხედვით თუ რა კატეგორია იქნება ჩართული იმ დონის მასალას დავდებ. რა არის იცი, ასეთ საბაზისო რაღაცეებს როდესაც ვუღრმავდები, მე თვითონაც რაღაცა ახალს ვსწავლობ ყოველ ჯერზე. ანუ სადღაც 6 თვეა რაც მე თვითონ დავიწყე პითონის სწავლა და რაღაცას ჩემთვის ვხლაფორთობ. თავიდან web-scrapping-ის მუღამით დავიწყე, მერე ნელნელა მოვუმატე, ეხლა ჩემი პირადი პროექტი tornado-ზე ასინქრონული request-ებით და mongo-ში მოდელით მუშა ბექენდია. დიდი არაფერია ჯერჯერობით, მაგრამ ვცდილობ ყოველდღე ცოტა-ცოტა რაღაცა ჩემ პროექტსაც წავამატო. ხოდა ვინაიდან პითონი (და პრინციპში სხვა დანარჩენი ენებიც) ძალიან სპეციფიურია, აი ზუსტად ასეთი უბრალო მაგალითებით ბევრი მნიშვნელოვანი ნიუანსი შეიძლება დაიჭირო.
რა არის იცი, საბაზისო ცოდნა არის ძალიან კომპაქტური, რომელსაც შეიძლება ერთი ან ორი თვე დაუთმო და 90% განიხილო. მაგრამ Advanced არის ფაქტიურად უსასრულო და რომც დავწერო რაიმე კონკრეტულ თემაზე, იმის ალბათობა რომ ეს ვიღაცას კონკრეტულ საქმეში გამოადგება, არის დაბალი. ამიტომ მირჩევნია დავიწყო პატარათი, დაველოდო სხვების ჩართულობას, შეკითხვებს, იმისდამიხედვით რა დაინტერესება იქნება, იმ მიმართულებით გავაგრძელებ. თუკი პირადად შენ გაქვს ინტერესი რაიმე კონკრეტულ თემასთან დაკავშირებით, შეგვიძლია გავარჩიოთ. |
Posted by: Bloomy 27 Oct 2017, 01:35 |
ძალიან კარგი წამოწყებაა , , წარმატებები მე მგონია რომ ადამიანს ვისაც საერთოდ არააქვს გამოცდილება პროგრამირებაში გაუჭირდება ამ გაკვეთილებს მიყვეს. ეგრევე კვადრატული განტოლების ამოხსნა და ამდენი ახალი თემის განხილვა ერთდროულად რთულია. ჯობია რამოდენიმე გაკვეთილი მართლა basic ს დაუთმო. მერე მაგალითად თითო თემას გაკვეთილზე., ვთქვათ ლოგიკური ამოცანებს და ამ თემის ირგვლივ იყოს სავარჯიშOები. მეც ცოტახნის წინ დავიწყე სწავლა და შემოვუერთდები გაკვეთილებს სიამოვნებით |
Posted by: lepori 27 Oct 2017, 13:04 |
ფიქსირს ვიზამ მეც 30ჯერ ფიქსირი |
Posted by: ILIA1702 27 Oct 2017, 18:53 | ||||||
Lilith
მაშინ განაგრძე
არა გმადლობთ. წარმატებები. პ.ს. https://repl.it/languages/python3 ეს ან მსგავსი გამოიყენე, რომ გააშეარო კოდები. დასატესტად მარტივია უფრო ვიდრე ტერმინალის გახსნა და ფაილის შექმენა დამწყებთათვის. |
Posted by: Lilith 30 Oct 2017, 04:36 | ||||||||||||||||||
ILIA1702
მადლობა, ეგ ვნახე და ვაპირებდი მანდ დარეგისტრირებას, უფრო სწორედ დავრეგისტრირდი კიდეც. სირთულეს რაც შეეხება, თავიდან github-ის ახსნაც მინდოდა რომ ვინც რამეს გააკეთებს იქ დადოსთქო დღეს მინდა კიდევ რამდენიმე მარტივი მაგალითი განვიხილოთ. მაგალითი #2: ორი რიცხვის ჯამი:
მაგალითი #3: ლუწ/კენტობა:
ამ ბოლო მაგალითში ცოტა ვილაპარაკოთ იმაზე თუ რა ხდება ჩვენს print() ფუნქციაში. როორც ხედავთ მძიმით გვაქვს გამოყოფილი რამოდენიმე სიტყვა და მცირეოდენი კოდი. საერთოდ მძიმე პითონში გამოიყენება რამოდენიმე სხვადასხვა ცვლადის გამყოფად. ანუ როგორც ჩვეულებრივად ლიტერატურულ ენაში მძიმე არის რაიმე სახის ჩამონათვალში სხვადასხვა რაღაცეების ჩამოსათვლელად გამოყენებული, იგივე პრინციპით გამოიყენება აქაც. ანუ ჩვენი სია გამოიყურება შემდეგნაირად:
როდესაც ფუნქციას გადაეცემა რაიმე სახის მნიშვნელობები, ამ მნიშვნელობებს ეწოდება არგუმენტები (arguments). ანუ ჩვენს print() ფუნქციას ვაწვდით 4 არგუმენტს. print() ფუნქციას შეგვიძლია ასეთი სიის სახით გადავცეთ სხვადასხვა მნიშვნელობები და ფუნქცია მათ კონსოლში ერთმანეთის მიყოლებით გამოიტანს. რაც არსებითია - მნიშვნელობები გამოტანილი იქნება ერთმანეთის მიყოლებით. ანუ 4 სხვადასხვა print() ფუნქცია რომ გამოგვეყენებინა ამ მნიშვნელობების გამოსატანად, 4-ივე დაბეჭდავდა ახალ სტრიქონზე, რაც არც თუ ისე მოსახერხებელია წინადადებების გამოსატანად. ამ ოთხიდან 2 არის ჩვეულებრივი სიტყვა, ჩასმული ბრჭყალებში, და მათ პითონში ეწოდება სტრიქონები (strings). სტრიქონი ისეთივე მნიშვნელობითი ტიპია, როგორიცაა რიცხვითი მნიშვნელობის ტიპი (int, integer type). უბრალოდ ის გამოიყენება ტექსტური მნიშვნელობების დასამუშავებლად. რასაკვირველია სტრიქონებზე ჩვენ ვერ შევასრულებთ მათემატიკურ ოპერაციებს, თუმცა მიმატების ოპერაცია საშუალებას გვაძლევს მივიღოთ ორი სტრიქონის "ნაერთი" მნიშვნელობა, ანუ 'abc' + 'def' = 'abcdef'. სიმარტივისთვის წარმოვიდგინოთ (ან შეგვიძლია კოდი შესაბამისად ჩავასწოროთ) რომ print() ბრძანებას მხოლოდ პირველი 3 არგუმენტი გადავეცით.
ამ შემთხვევაში ჩვენს კონსოლში ვიხილავთ მსგავს წინადადებას (როდესაც a-ს მნიშვნელობად შევიტანთ 10-ს):
გავარჩიოთ მეოთხე არგუმენტი:
როგორც ვხედავთ ეს არის if...else... ტიპის ჩანაწერი, ოღონდ ოდნავ სახეშეცვლილი. if რატომღაც არ არის პირველი ამ ჩანაწერში და ასევე არ არის ':'-ები ბლოკების გამოსაყოფად. ეს არის გამარტივებული, ე.წ. 'ერთ-სტრიქონიანი' if...else... ბლოკი რომელიც ყველაზე მარტივად ალბათ შემდეგი ჩანაწერით აიხსნება:
ანუ ამ ჩანაწერის მნიშვნელობა იქნება value_if_true, თუკი პირობა (condition) შესრულდება (მისი მნიშვნელობა იქნება True), ხოლო წინააღმდეგ შემთხვევაში ჩანაწერი დააბრუნებს value_if_false მნიშვნელობას. ჩვენს შემთხვევაში ჩვენი პირობა არის
'%' არის ე.წ. ნაშთის გაყოფის ოპერაცია, ანუ მისი შედეგი არის ერთი რიცხვის მეორეზე გამოფით მიღებული ნაშთი, 5 % 3 = 2, 6 % 3 = 0 და ა.შ. ჩვენს შემთხვევაში ჩვენ ვამოწმებთ თუ არის a-ს 2-ზე გაყოფის ნაშთი 1-ის ტოლი. თუკი ნაშთი არის ერთი, ჩვენი value_if_true მნიშვნელობა იქნება 'კენტი', ხოლო წინააღმდეგ შემთხვევაში 'ლუწი'. ამ კოდის შედეგად ჩვენს მიერ შეყვანილ მნიშვნელობაზე პროგრამა გამოიტანს მოკლე შეტყობინებას იმის შესახებ, ჩვენი რიცხვი კენტია თუ ლუწი. მაგალითი #4: კუბში აყვანა:
ძალიან მარტივი მაგალითი, შეგვყავს რიცხვი, ვბეჭდავთ მისი მესამე ხარისხში აყვანის შედეგად მიღებულ მნიშვნელობას. როგორც ხვდებით 3-იანის 4-ანად გადაკეთებით მივიღებთ მეოთხე ხარისხში აყვანის შედეგად მიღებულ მნიშვნელობას და ა.შ. |
Posted by: billy*jack 30 Oct 2017, 21:59 |
Lilith ჯიგარი ხარ.. ე.ი try და exceptvalue ს დანიშნულება გავიგე დღეს.. კითხვები 1) ხო შეიძლებოდა N3 მაგალითში print ('ricxvi ', a , 'aris', 'lutsi' if a%2==0 else 'kenti') ეგრე ჩაგვეწერა მოცემულის ნაცვლად ? (ანუ პროგრამა ხოარ აირეოდა ? ჩემთვის მაინტერესებს თორე შენ რაც დაწერე კარგად მუშაობს ) 2) კოდი როგორ სახეს მიიღებს როცა მინდა პროგრამა შესრულების მერე ავტომატურად ახლდებოდეს.. ანუ ჩავწერე 5, ამოაგდო კენტი, და მთავაზობს შევიყვანო ახალი რიცხვი შესამოწმებლად.. 3) კუბში აყვანი მაგალითი აგრევია.. მანდაც ლუწ/კენტობა წერია |
Posted by: Lilith 30 Oct 2017, 23:26 | ||||||||
billy*jack
1. კი, რა თქმა უნდა შეიძლებოდა, ძალიან კარგია ეგ მომენტი რომ დაიჭირე, ანუ სწორედ გაიგე if-ის ასეთი გამარტივებული ჩანაწერის შინაარსი 2. ეს ხდება ე.წ. 'ციკლების' (loop - მარყუჟი, რაღაც არ ჟღერს კარგად ქართულად, მაინც ყველა 'ციკლს' ხმარობს ტერმინად). ბარემ მოდი აქვე დავწერ პატარა მაგალითს: მაგალითი #5: კუბში აყვანა, შესწორებული ვარიანტი, რომელიც იმუშავებს სანამ a-ს მნიშვნელობად არ შევიყვანთ 'x'-ს:
while არის საკვანძო სიტყვა, რომელიც მიეკუთვნება ე.წ. 'ციკლები'-ს სახეობას. ციკლი არის გარკვეული პირობა, რომლის შესრულების შემთხვევაში სრულდება ერთი და იგივე კოდის ბლოკი. არის სხვადასხვა სახეობის ციკლები, while არის ალბათ ყველაზე მარტივი მათ შორის და ჩაიწერება შემდეგნაირად:
მის ქვევით კოდის ბლოკი სრულდება მანამ, სანამ condition-ში აღწერილი პირობის მნიშვნელობა არის True. შესაბამისად ჩვენს მაგალითში მითითებული კოდი შესრულდება დაუსრულებლად, ვინაიდან True-ს მნიშვნელობა ყოველთვის იქნება True. ასეთი ციკლიდან 'გამოსასვლელად' დაგვეხმარება საკვანძო სიტყვა break, რომელიც აკეთებს არც მეტი, არც ნაკლები - ახდენს მიმდინარე ციკლის დასრულებას და ციკლის შემდგომი კოდის შესრულებას. ჩვენს შემთხვევაში მთელი პროგრამა მოთავსებულია ამ ციკლში, შესაბამისად break-ის შემდეგ არც აღარაფერია შესასრულებელი და პროგრამა დაასრულებს მუშაობას. როგორც მაგალითიდან ჩანს ჩვენ ასევე მცირედი ცვლილება შევიტანეთ a-ს მნიშვნელობის მიღებისას, ჩვენ აღარ ვანიჭებთ მას მითითებული მნიშვნელობის რიცხვით ტიპზე დაყვანილ მნიშვნელობას, არამედ ვტოვებთ იმ ტიპად, რა ტიპადაც მას input() ფუნქცია იღებს - ანუ სტრიქონად. ეს გვაძლევს საშუალებას პროგრამამ აღარ 'იყვიროს' როდესაც არარიცხვით მნიშვნელობას ('x'-ს) შევიყვანთ. შემდეგ ვამოწმებთ თუ არის მითითებული მნიშვნელობა 'x'-ის ტოლი, ტოლობის შემთხვევაში ვბეჭდავთ შესაბამის ტექსტს და ვასრულებთ პროგრამას, ხოლო უტოლობის შემთხვევაში ვაგრძელებთ ჩვეულებრივად და უკვე print()-ის შიგნით, კუბში აყვანამდე, ვიყენებთ არა a-ს ნამდვილ მნIშვნელობას, არამედ მის რიცხვით ანალოგს, და აგვყავს იგი მესამე ხარისხში. 3. ooops... ეგ როგორ გამომეპარა, ზედა პოსტს აღარ მასწორებინებს, ამიტომ აქ დავწერ კუბში აყვანის პროგრამის პირვანდელ ვარიანტს:
|
Posted by: billy*jack 31 Oct 2017, 00:59 | ||
1) გამიხარდა ეს 2) გავარჩიე ლუპის მაგალითი და მივხვდი.. მადლობა (თუ არ ვცდები ლუპის მაგალითში input-მდე int-ი არის მისაწერი.. პროგრამამ ერორი ამოაგდო და ინტი რო ჩავამატე გამოსწორდა..) გააგრძელე შენი პროგრამის მიხედვით პოსტვა.. კარგად მიყვები.. ისეთი რამე თუ ვიკითხე რაც ჯერ ადრეა, მითხარი რო ადრეა, ეგ თემა ცალკე არ გამიშალო, თორე შენც ძაან გადაუხვევ თემას და მეც ვერ გავიგებ (ლუპი გავიგე ისე.. არაა რთული) |
Posted by: Lilith 31 Oct 2017, 01:32 | ||||
billy*jack
ჰმმ, არ უნდა ამოეგდო ერორი, შეგიძლია შენი კოდი დადო და გავარჩიოთ? ანუ მანდ მუღამი ეს იყო:
არ ვიღებთ int() მნიშვნელობას input-ისთანავე, რომ 'x'-ზე შეცდომა არ ამოაგდოს და ჩვეულებრივად დაასრულოს მუშაობა. |
Posted by: billy*jack 31 Oct 2017, 01:39 |
Lilith ამ კოდზე აგდებს » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « Traceback (most recent call last): File "D:\Python Projects\xarisxshi ayvana.py", line 8, in <module> print (a, '^3 = ', a**3) TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int' და ეს კოდი მუშაობს » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « |
Posted by: Lilith 31 Oct 2017, 01:46 | ||||||||
billy*jack
print()-ში ვიყენებთ int() ფუნქციას:
ანუ ეს
კი იმუშავებს სწორად - კუბში აიყვანს რა რიცხვსაც მიუთითებ, მაგრამ პროგრამის დასრულება რომ დაგჭირდეს და 'x' შეიყვანო, ამოაგდებს ჩვეულებრივ ValueError-ს. |
Posted by: billy*jack 31 Oct 2017, 01:50 | ||
აა იასნა.. გამომრჩენია ეგ მართალი ხარ.. ხვალ თავიდან გავარჩევ.. ეხლა ვერ გავქაჩავ ახალი მაგალითის დადებას აპირებ ხვალისთვის ? |
Posted by: Lilith 31 Oct 2017, 07:17 | ||||
რახან ციკლებიც გამოვიყენეთ, რამდენიმე მაგალითს ციკლებს დავუთმობ. მაგალითი #6: 7-ის ჯერადი რიცხვი. მარტივი ამოცანა - პროგრამამ უნდა შეგვაყვანინოს რიცხვები მანამ, სანამ ჩვენ არ შევიყვანთ რაიმე 7-ის ჯერად რიცხვს:
ძალიან მარტივია, ვკითხულობთ რიცხვს, თუკი მისი 7-ზე გაყოფით მიღებული ნაშთი არის 0-ის ტოლი, ვასრულებთ პროგრამას, წინააღმდეგ შემთხვევაში კვლავ ვეკითხებით რიცხვის შეყვანას, სანამ არ არ მივიღებთ 7-ის ჯერადს. ოდნავ რთული მაგალითი, მაგალითი #7: დავადგინოთ არის თუ არა შეყვანილი რიცხვი მარტივი:
'#' გამოიყენება კოდში კომენტარების ჩასაწერად, ანუ '#'-ის შემდეგ შეგვიძლია რაც ვინდა ტექსტი ჩავწეროთ და ეს არანაირ გავლენას არ იქონიებს ჩვენი პროგრამის მუშაობაზე. კომენტარები ძალიან მოსახერხებელია, ვინაიდან ბევრად უადვილებს ადამიანს სხვისი დაწერილი კოდის წაკითხვას. მე ამ მაგალითში გამოვიყენე იმისათვის რომ გაგვიმარტივდეს მაგალითის გარჩევა, შეიძლება 9 პუნქტი ბევრია, მაგრამ ცოტას ისევ ბევრი ჯობია # 1: ჩვენი სტანდარტული input() ფუნქცია რიცხვითი მნიშვნელობის წასაკითხად. არარიცხვითი მნიშვნელობის მითითების შემთხვევაში კონსოლში გამოიტანს შეცდომას და while ციკლის წყალობით ხელახლა მოგვთხოვს რიცხვის შეყვანას. # 2: ვამოწმებთ, თუკი შეყვანილი რიცხვი 2-ზე ნაკლებია, კონსოლში გამოგვაქვს შესაბამისი შეტყობინება და ხელახლა ვითხოვთ რიცხვის შეყვანას. ბრძანება continue მიმდინარე ციკლის კოდის ბლოკს ხელახლა უშვებს, ანუ მარტივად რომ ვთქვათ ჩვენი პროგრამა ბრუნდება უკან და კოდის შესრულება while True: პოზიციიდან. # 3: თუკი შეყვანილი რიცხვი არის 2, და 2 არის პირველი მარტივი რიცხვი, შესაბამისად გამოგვაქ შეტყობინება და ვასრულებთ პროგრამის მუშაობას break ბრძანების საშუალებით. ამის შემდეგ პროგრამული კოდი შესრულდება მხოლოდ იმ შემთხვევაში, თუკი შეყვანილი რიცხვითი მნიშვნელობა არის ნატურალური, 2-ზე მეტი რიცხვი. შესაბამისად, იმისათვის რომ დავადგინოთ მარტივია თუ არა შეყვანილი რიცხვი, ჩვენ უნდა შევამოწმოთ თუ აქვს მას თავის თავისგან და 1-ისგან განსხვავებული გამყოფი. ამისათვის კი შევამოწმებთ ნაშთებს 2-იდან თავად ჩვენს რიცხვამდე ყველა რიცხვზე გაყოფით. # 4: k არის ჩვეულებრივი ცვლადი, რომლის საწყის მნიშვნელობად ვიღებთ 2-ს. # 5: ვინაიდან ჩვენ გვაინტერესებს მხოლოდ ჩვენს რიცხვზე ნაკლები რიცხვები (უნაშთოდ თავის თავზე დიდ რიცხვზე ვერ გაიყოფა, ხო სწორია?), ამიტომ ჩვენი მეორე ციკლის პირობა იქნება ჭეშმარიტება k-ს მხოლოდ a-ზე ნაკლები მნიშვნელობებისთვის. ანუ თუკი a = 3-ს, ხოლო k-ს საწყისი მნიშვნელობა არის 2, 2 < 3 => True # 6: თუკი a უნაშთოდ იყოფა k-ზე, ე.ი. a არ არის მარტივი რიცხვი. ასეთ შემთხვევაში ჩვენ გამოგვაქ შესაბამისი შეტყობინება კონსოლში. ***ყურადღება*** - break ბრძანება ამ შემთხვევაში არ დაასრულებს პროგრამის მუშაობას. როგორც წინა პოსტში ავხსენი, break ასრულებს მხოლოდ მიმდინარე ციკლის მუშაობას. ანუ მოხდება ამ ჩვენი მეორე, 'ჩადგმული' while ციკლის დასრულება და პროგრამა გაგრძელდება # 9 პუნქტიდან. # 7: თუკი არ მოხდა ციკლის დასრულება, ეს იმას ნიშნავს, რომ a არ იყოფა უნაშთოდ k-ზე, და ჩვენ უნდა გავზარდოთ k-ს მნიშვნელობა ერთი ბიჯით. k += 1 ეს არის გამარტივებული ჩანაწერი, იგივეა რაც დაგვეწერა k = k + 1. k += 4 იგივეა რაც k = k + 4, k *= 4 იგივეა რაც k = k * 4 და ა.შ. # 8: pass არის ასევე საკვანძო სიტყვა, მას არ გააჩნია არავითარი ფუნქციონალური დატვირთვა, ის უბრალოდ გამოიყენება კოდის ბლოკის დასასრული აღსანიშნავად. ანუ როგორც break და continue, რომლებიც ასრულებენ კოდის მიმდინარე ბლოკის შესრულებას და პირველის შემთხვევაში ხდება შემდეგ ნაწილზე გადასვლა, ხოლო მეორის შემთხვევაში მიმდინარე ბლოკი სრულდება ხელახლა, pass არაფერს არ ცვლის, პროგრამა აგრძელებს თავის მუშაობას როგორც მანამდე იყო განსაზღვრული. უბრალოდ ვიზუალურად კარგად ჩანს სად მთავრდება მიმდინარე ბლოკი. # 9: ამ ნაწილში ვხვდებით ორად-ორ შემთხვევაში. პირველი, ესაა როდესაც ჩვენ ვიპოვეთ a-ს გამყოფი, რომელიც 2-ზე მეტია ან ტოლი, და a-ზე მკაცრად ნაკლებია. ამ შემთხვევაში ჩვენ შეტყობინება უკვე გამოტანილი გვაქ და არც არაფერი გვაქ დამატებით გასაკეთებელი. ხოლო მეორე ეს არის შემთხვევა, როდესაც არ მოიძებნა a-ს გამყოფი 2<=k<a დიაპაზონში, მაგრამ k-ს მნიშვნელობა # 5 ციკლში გაუტოლდა a-ს მნიშვნელობას და while k < a: ციკლის პირობა აღარ შესრულდა. ამ შემთხვევაში ჩვენ შეგვიძლია ვთქვათ რომ a არის მარტივი რიცხვი. ამიტომ, რომ დავადგინოთ თუ რომელ შემთხვევასთან გვაქ საქმე, ვწერთ if-ს მარტივი პირობით - თუ k-ს მნიშვნელობა ტოლია a-ს მნიშვნელობის, ე.ი. საქმე გვაქ მეორე შემთხვევასთან და უნდა გამოვიტანოთ შესაბამისი მნიშვნელობა და დავასრულოთ პროგრამის მუშაობა break ბრძანებით. დღეისათვის სულ ესაა, ხვალ ისევ მარტივი რიცხვების მაგალითზე ვნახავთ როგორ შეიძლებოდა ამ ამოცანის სხვადასხვა ხერხებით და სხვადასხვა მიდგომებით გადაწყვეტა. |
Posted by: billy*jack 1 Nov 2017, 21:06 |
Lilith საკაიფო მაგალითია.. #4 ანუ როცა რაღაც კოეფიციენტი შემომაქვს, და საწყისი მნიშვნელობის მინიჭება მინდა, ეგ მხოლოდ ერთი ტოლობის ნიშნით ხდება ? ჩვენს შემთხვევაში K=2 ჰო კიდე ჩემთვის რამე მარტივი საშინაო დავალების მოცემა შეგიძლია ? |
Posted by: Lord_Crusader 1 Nov 2017, 21:32 |
როგორ მინდა მეც გამოგყვეთ,მაგრამ 1-2 კვირა დრო არ მაქვს სამსახურის გამო და მერე ალბათ ვეღარ დაგეწევით კარგი წამოწყებაა და კარგი იუზერი ხარ Lilith ესე უანგაროდ საკუთარ ცოდნას და გამოცდილებას აზიარებდეს ვინმე დიდი იშვიათობაა |
Posted by: Lilith 2 Nov 2017, 06:55 | ||||||||||
billy*jack
ანუ ერთი ტოლობის ნიშანი ყოველთვის მინიჭებას ნიშნავს, მაგიტომ რომ განესხვავებინათ მინიჭება და ტოლობის შემოწმება ერთმანეთისგან, შესამოწმებლად ორმაგ ტოლობას იყენებენ. ეს თითქმის ყველა ენაში მიღებული პრაქტიკაა
როგორ არ შემიძლია, ორ დავალებას მოგცემ, ერთს მარტივს, მეორეს ოდნავ რთულს: 1. შეყვანილი r-ისთვის პროგრამამ დაითვალოს და კონსოლში გამოიტანოს r რადიუსის მქონე წრეწირის ფართობი. პი კონსტანტის მნიშვნელობად აიღეთ 3.14159 2. შეყვანილი n-ისთვის პროგრამამ დაითვალოს და კონსოლში გამოიტანოს n!-ის (n-ის ფაქტორიალის) მნიშვნელობა. წარმატებები! Lord_Crusader თემა აქ იქნება 2 კვირაც და მეტიც, როცა გექნება დრო მაშინ შემოგვიერთდი, კითხვებიც არ მოგერიდოს, შეიძლება პერიოდულად პაუზები გავაკეთო, სამსახურისა და ოჯახის საქმეებიდან გამომდინარე, მაგრამ ნელნელა აუცილებლად გავაგრძელებ. დღეს მინდა ისევ ციკლებზე გავაკეთო მაგალითი, ოღონდ ამჯერად სხვა ტიპის ციკლი და რამოდენიმე დამხმარე ფუნქცია გამოვიყენო. მაგალითი #8: 1-დან n-მდე დავითვალოთ 7-ის ჯერადი რიცხვების რაოდენობა და ჯამი. ამოხსნის პირველ ვარიანტში გამოვიყენებ while ციკლს:
ეს მთავარი ციკლი და input()-ი რას აკეთებს და რისთვისაა ამას აღარ გავიმეორებ. total_sum და total_count იქნება ჩვენი დამხმარე ცვლადები სადაც შესაბამისად შევინახავთ 1-დან n-მდე 7-ის ჯერადების ჯამს და რაოდენობას. k ისევ იქნება ჩვენი დამხმარე 'მთვლელი'. დანარჩენი მარტივია, ციკლს ვატრიალებთ n-ის ჩათვლით (ვინაიდან თავად n შეიძლება აღმოჩნდეს 7-ის ჯერადი). k-ს საწყის მნიშვნელობად ვიღებთ 7-ს, როგორც პირველ 7-ის ჯერად ნატურალურ რიცხვს. თუკი n-ის შეყვანილი მნიშვნელობა 7-ზე ნაკლებია, შედეგად მივიღებთ 0-ებს. სხვა შემთხვევაში ციკლის ყოველ ბიჯზე ჩვენ ვზრდით k-ს მნიშვნელობას 7-ით. ანუ დამატებით აღარ ვამოწმებთ 7-ის ჯერადი არის თუ არა და 7-ზე გაყოფისას ნაშთს თუ ვიღებთ 0-ს, ვინაიდან 7-ით ვიწყებთ და ყოველ ჯერზე ისევ 7-ს ვუმატებთ, ე.ი. ყოველი მომდევნო რიცხვი ლოგიკურად იქნება ისევ 7-ის ჯერადი. ანუ k-ს ვზრდით 7-ით, total_count-ს 1-ით და total_sum-ს k-ს მიმდინარე მნიშვნელობას ვუმატებთ. აქ ერთერთი მნიშვნელოვანი მომენტია ცვლადების მნიშვნელობების მინიჭების თანმიმდევრობა, k-ს ვზრდით ბოლოს, ვინაიდან ჯერ არ ვიცი ახალი მნიშვნელობა თუ გვაქწყობს, თუ არის ისევ 1..n მონაკვეთში. როგორც კი k-ს მნიშვნელობა გაცდება n-ს, ჩვენი ციკლი დაასრულებს მუშაობას და total_sum და total_count ცვლადებში გვექნება შენახული ის მნიშვნელობები, რომლების დათვლაც გვჭირდებოდა. რა ხდება შემდეგ? აქ პატარა ხრიკს ვიყენებთ, მომხმარებელს ვეკითხებით თუ სურს მუშაობის გაგრძელება და ახალი n-ისთვის იგივეს გამეორება, თუ არა? Y/N ტიპის კითხვას ვუსვამთ და თუკი პასუხად მივიღეთ N-ისგან განსხვავებული მნიშვნელობა, პროგრამას ხელახალ წრეზე გავუშვებთ. აქვე დაუკვირდით .upper() ფუნქციის გამოყენებას. ჩვენ ფაქტიურად input() ფუნქცია გავაგრძელეთ, წერტილის გამოყენებით ჩვენ ვიძახებთ დამატებით ფუნქციას - upper(). ეხლა რა ხდება, ზოგადად წერტილის გამოყენებით ხდება წინამდებარე ცვლადისა თუ ობიექტის მახასიათებლების (properties) ან ატრიბუტების ან ფუნქციების გამოყენება კოდში. ანუ მომავალში როდესაც ჩვენი კლასების შექმნას ვისწავლით, შეიძლება გვქონდეს ცვლადი giorgi რომელსაც ექნება ატრიბუტები saxeli, gvari, mamis_saxeli და ფუნქციები adeqi, dajeqi, daidzine და ა.შ. შესაბამისად მათ ასეთნაირად გამოვიყენებთ:
მაპატიეთ, მეტი უკეთესი მაგალითი ვერ მოვიფიქრე ხოდა, დავუბრუნდეთ ჩვენს .upper()-ს, ამ შემთხვევაში პირველი შეხედვით ჩანს, თითქოს ეს ფუნქცია ეკუთვნის input() ფუნქცია, მაგრამ ეს ასე არ არის. .upper() ეკუთვნის input() ფუნქციის მიერ დაბრუნებულ ობიექტს, რომელიც ამ შემთხვევაში არის მოხმარებლის მიერ შეყვანილი სტრიქონი (მაგ. 'N'). რა დანიშნულება აქვს ამ ფუნქციას? ეს ფუნქცია აიღებს ჩვენს მიერ შეყვანილ სტრიქონს და დაგვიბრუნებს მის მსგავს სტრიქონს, რომელშიც ყველა პატარა ასო დიდით იქნება ჩანაცვლებული. მარტივად რომ ვთქვათ 'n'.upper() დაგვიბრუნებს 'N'-ს ეხლა განვიხილოთ იგივე მაგალითი მეორე ტიპის ციკლის გამოყენებით:
ანუ როგორც ხედავთ while k <= n: ჩანაწერი ჩავანაცვლეთ for k in range(7, n, 7): ჩანაწერით. ასევე წავშალე k = 7 და k += 7 ჩანაწერები. მოდი სანამ for ციკლს ავხსნი, ჯერ range() ფუნქცია გავარკვიოთ რას აკეთებს. range() ფუნქცია გვიბრუნებს რიცხვების სიმრავლეს, ე.წ. მასივს მითითებულ დიაპაზონში. პირველი და მესამე პარამეტრები არის 'არააუცილებელი' (optional). მაგალითად range(3) დაგვიბრუნებს რიცხვებს 0-დან 3-ის ჩათვლით [0, 1, 2, 3]. ხოლო range(2, 7) დაგვიბრუნებს რიცხვებს 2-დან 7-ის ჩათვლით [2, 3, 4, 5, 6, 7]. range(7, n, 7) დაგვიბრუნებს რიცხვებს 7-იდან n-ის ჩათვლით, ოღონდ 7-ის გამოტოვებით. ამ მეორე 7-ს ეწოდება 'ბიჯი' ან 'ნაბიჯი' (step). მაგალითად თუკი n = 25, range(7, 25, 7) დაგვიბრუნებს [7, 14, 21] რიცხვების სიმრავლეს. შესაბამისად for ციკლი ასრულებს გარკვეულ კოდს მითითებული სიმრავლის ყოველი წევრის მნიშვნელობისთვის. ანუ, ვისაც კი სხვა პროგრამულ ენებთან ჰქონია შეხება, იმას ეცოდინება რომ for ციკლი ყოველთვის გამოიყენება რაღაცა მთვლელის დანიშნულებით, ანუ ყოველთვის ცვლადი არის რიცხვითი მნიშვნელობის თავისი საწყისი და საბოლოო მნიშვნელობებით და ბიჯით. პითონში for ციკლი გამოიყენება ნებისმიერ სიმრავლესთან. და შემდეგ მაგალითებში ნელ-ნელა ჩავუღრმავდებით ამ სიმრავლეების გამოყენებას, ვინაიდან პითონის ერთერთი (და არა ერთადერთი) ყველაზე ძლიერი მხარე არის სწორედ სიმრავლეები. დანარჩენი კი მარტივია, ანუ range(7, n, 7) პირდაპირ დაგვიგენერირებს 7-დან n-მდე 7-ის ჯერად რიცხვებს, და თითოეული მათგანისთვის გამოიძახებს ჩვენს კოდს, სადაც დავითვლით და ავჯამავთ ამ რიცხვებს. თავიდან ცოტა-ცოტა ყველაფერს გავარჩევთ და მერე და მერე უფრო დაწვრილებით განვიხილავთ, ზღვა მასალაა თითოეულ საკითხზე რაც აქამდე გავიარეთ. |
Posted by: billy*jack 2 Nov 2017, 13:41 |
Lilith დავალება N1 » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « პროგრამა გაეშვა ნორმალურად რავი.. სწორია ? _______________________________________________ მეორე დავალებაზე და ახალ მაგალითზე ვმუშაობ მოგვიანებით დავდებ// __________ მეორე დავალებაში ფაქტორიალის ფუნქციამ გამჭედა// მათემატიკურად n! = n!=n(n-1)...2·1 ,, პითონში როგორ ჩავწერო ეს მრავალწერტილი /? ვიფიქრე ეგრე ხოარ მექნა n! = n * (k-1) სადაც k-ს პირველი მნიშვნელობა იქნება k=n ამის მერე k -= 1 (შემცირდება ერთით) სანამ k=2 არ გაუტოლდება ორს.. იმიტო რო ფაქტორიალის ბოლო წევრი გამოვიდეს (k-1) = 1.. მარა ამას რო ვწერ კ კოეფიციენტს ვეღარ ცნობს პროგრამა |
Posted by: აბიტურიენტი 2 Nov 2017, 15:59 | ||
n! = n * (n-1)! მაგრამ არ გინდა რეკურსიული ამოხსნა. შედეგი გამოაცხადე ერთის მნიშვნელობით და მერე ლუპში სათითაოდ გადაამრავლე ყველა მნიშვნელობაზე n-მდე. |
Posted by: billy*jack 2 Nov 2017, 17:03 | ||
მოიცა ეგრე რო ჩავწერო ანუ პითონი ფაქტორიალის ნიშანს ხვდება ? მე მეგონა ვერ ხვდებოდა და ჩანაწერის ალტერნატიულ გზებს ვეძებდი.. |
Posted by: Lilith 2 Nov 2017, 18:04 |
billy*jack n!-ს ვერ მიხვდება პითონი. სხვანაირად შეხედე: n! = 1*2*...*(n-1)*n. მერე გადახედე კიდევ ერთხელ ციკლებზე მაგალითებს და იფიქრე როგორ გამოიყენო შენს ამოცანაში. |
Posted by: billy*jack 2 Nov 2017, 18:07 |
Lilith ოკ.. ჯერ არ დაპოსტო სწორი პასუხი, ან დაასპოილერე.. მივცხებ აბააა ვნახოთ რა გამოვა * * * Lilith » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « გავიჭედე .. ვაბშე სწორად მივდივარ ? იდეაში მინდა ამ ჩანაწერის გაკეთება nfact = (k-1)*n k range (2,n) k += 1 ანუ შევიყვან n-ს ხოდა პროგრამამ დაიწყოს K-კოეფიციენტის ჩასმა ფორმულაში სადაც K იქნება 2 დან N მდე, და ყოველ ჯერზე გაიზრდება 1 ით.. სანამ არ გაუტოლდება k=n-ს.. |
Posted by: აბიტურიენტი 3 Nov 2017, 14:53 | ||||||
არა. ყოველ ციკლზე თავიდან ენიჭება ფაქტორიალის ცვლადს n*(k-1) მნიშვნელობა. ბოლოს გექნება n*(n-2) რაც არ უდრის ფაქტორიალს. ესაა ამოხსნა
კოდი სპოილერში » სპოილერის ნახვისთვის დააწკაპუნეთ აქ «
ეს მეორე, უფრო "ჭკვიანური" ამოხსნა » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « |
Posted by: Lilith 3 Nov 2017, 22:22 | ||||||
billy*jack ძალიან მნიშვნელოვანია პატარ-პატარა ექსპერიმენტების გაკეთება. მაგალითად ამ ტიპის კოდზე რომ 'ივარჯიშო', ძალიან გამოგადგება:
ან ასეთი 'სავარჯიშო':
ზოგადად თუ სადმე რამეში ეჭვი გეპარება ჩაამატე print()-ი, ნებისმიერი რაღაცის დაბეჭდვა შეგიძლია და ეს დაგეხმარება უკეთ გაიგო თუ რა ხდება კოდში იმ კონკრეტულ მომენტში აბიტურიენტი
ჰაჰ, მე მეგონა range() მარჯვენა 'საზღვრის' ჩათვლით აბრუნებდა სიმრავლეს, თურმე სადა ბანაობ |
Posted by: Lilith 14 Nov 2017, 07:19 | ||||||||||||||
ვაგრძელებთ. პითონი არის ძალიან თავისებური, თუ სპეციფიური ენა. მისთვის დამახასიათებელია ისეთი სინტაქსი, როგორიც სხვა ენებში თითქმის არ გვხვდება. შესაბამისად გაჩნდა ტერმინი 'პითონური' კოდი, ან სტილი. დღეს ერთ-ერთი მაგალითი ზუსტად ამას დაეთმობა. მაშ ასე: მაგალითი #9: ფიბონაჩის რიცხვები. დავწეროთ პროგრამა, რომელიც დაგვიბეჭდავს რიგით მე-n ფიბონაჩის რიცხვს. შეგახსენებთ, რომ თითოეული შემდეგი რიცხვი ფიბონაჩის მწკრივებში არის წინა ორი რიცხვის ჯამის ტოლი. მაშ ასე, პირველი ვარიანტი არის უბრალოდ, ჩვეულებრივი ამოხსნა:
პირველ რამოდენიმე ხაზს აღარ გავარჩევ, ვინაიდან წინა მაგალითებში უკვე ბევრჯერ გავარჩიეთ, თუ ვინმესთვის რაიმე მომენტია გაუგებარი არ მოგერიდოთ, მკითხეთ:
a და b არის ჩვენი ფიბონაჩის მწკვრივის პირველი ორი წევრი. s არის უბრალოდ დამხმარე ცვლადი, რომელშიც შემდგომ დროებით ვინახავთ a-ს და b-ს ჯამს
ანუ, ვინაიდან პირველი ორი წევრის მნიშვნელობები გვაქვს, ამიტომ ციკლი გვჭირდება უკვე შემდეგი, ანუ მესამე წევრიდან დაწყებული n-მდე ყველა წევრის მნიშვნელობის დასათვლელად. ვინაიდან range() ფუნქცია მარჯვენა ზღვარს არ თვლის, ამიტომ n-ის მნიშვნელობის მისაღწევად ფაქტიურად ერთი დამატებითი ნაბიჯი სჭირდება. ამისათვის ვიყენებთ n+1 და არა n-ის მნიშვნელობას მარჯვენა ზღვრის დასადგენად.
s-ში ვითვლით a და b-ს ჯამს, ანუ მწკვრივის შემდეგი წევრის მნიშვნელობას. ამის შემდეგ უნდა მოვახდინოთ ერთი ნაბიჯით წინ წაჩოჩება, ამისათვის a-ს (პირობითად პირველ წევრს) ვანიჭებთ შემდეგი წევრის, b-ს მნიშვნელობას. ხოლო b-ს (პირობითად მეორე წევრს) ვანიჭებთ ახლად დათვლილი შემდეგი (პირობითად მესამე) წევრის მნიშვნელობას - s-ს. და ა.შ., სანამ ჩვენი ციკლი არ შესრულდება რამდენჯერაც საჭიროა, და ჩვენი 'მთვლელი' k არ გაუტოლდება n-ის მნიშვნელობას. როგორც კი ეს მოხდება ჩვენი ციკლი დასრულდება და s-ში გვექნება რიგით მე-n წევრის მნიშვნელობა რომელსაც დავბეჭდავთ print() ბრძანების საშუალებით. იგივე ამოხსნა, ოღონდ პითონის გამორჩეული სინტაქსის გამოყენებით შემდეგნაირად გამოიყენება:
ასეთი სტილის ჩანაწერი საშუალებას გვაძლევს ერთდროულად მივანიჭოთ რამოდენიმე ცვლადს შესაბამისი მნიშვნელობები. მარჯვენა მხარეს მითითებული მნიშვნელობები თანმიმდევრობის დაცვით მიენიჭება მარცხენა მხარეს ჩამოთვლილ ცვლადებს.
არსებითი მომენტია, რომ b-ს მნიშვნელობის დათვლისას გამოყენებული იქნება a-ს მნიშვნელობა შესაბამისი ახალი მნიშვნელობის მინიჭებამდე. ანუ თუკი a=1 და b=2, ზემოთაღნიშნული ოპერაცია შემდეგნაირად გამოიყურება: a, b = 2, 1+2.მიუხედავად იმისა, რომ a-ს მნიშვნელობა თითქოსდა უფრო ადრე უნდა შეიცვალოს, ეს ასე არ ხდება - a-ს შეცვლამდე არსებული მნიშვნელობა იქნება გამოყენებული. გარდა იმისა, რომ კოდი ზომაში არსებითად შეგვიმცირდა, ასევე აღარ დაგვჭირდა დამატებითი (s) ცვლადის გამოყენება. პითონის უპირატესობა არის მისი სიმარტივი აწარმოოს ისეთი დათვლები, რომლებიც სცდება სხვა ენებში არითმეტიკული ოპერაციების სტანდარტულ ლიმიტებს. მაგალითისათვის შეგიძლიათ ამავე რამოდენიმე ხაზიანი პროგრამის საშუალებით დაითვალოთ ფიბონაჩის მწკვრივის მე-100, მე-1000, მე-10000 წევრის მნიშვნელობა. ჩემს i3 პროცესორიან ლეპტოპზე მე-1000000 წევრის გამოთვლას დაახლოებით 20 წამი მოუნდა. |
Posted by: billy*jack 12 Dec 2017, 23:53 |
Lilith გავაცოხლოთ თემა სავარჯიშო : დაწერე პროგრამა რომელიც გამეორებით კითხულობს ციფრებს, სანამ მომხმარებელი არ შეიყვანს "done” - ს. როცა კი ამას იზამს, ამობეჭდოს ჯამი, ციფრების რაოდენობა და ციფრების საშუალო რიცხვი. მომხმარებელი ციფრის გარდა სხვა რამეს თუ შეიყვანს, აღმოაჩინოს ეს შეცდომა try და except - ით, ამობეჭდოს შეცდომის მესიჯი და გადახტეს სხვა ციფრზე. როგორ გააკეთებდი ? |
Posted by: Lilith 13 Dec 2017, 03:32 | ||
billy*jack მადლობა თემის გამოცოცხლებისთვის. კარგი სავარჯიშოა, ახალ რაღაცეებსაც ეხება, რასაც სიმართლე გითხრა არ ვიცოდი რომელი მხრიდან მივდგომოდი. ანუ სანამ უშუალოდ კოდზე გადავალთ, გავაანალიზოთ რა გვაქვს გასაკეთებელი: ნაბიჯი #1: წავიკითხოთ მომხმარებლის შეყვანილი მნიშვნელობა ნაბიჯი #2: თუ ეს მნიშვნელობა არის 'done', გავაგრძელოთ პროგრამა ნაბიჯი #4-დან ნაბიჯი #3: შევინახოთ ეს მნიშვნელობა სხვა დანარჩენ მნიშვნელობებთან ერთად სიმრავლეში და დავუბრუნდეთ ნაბიჯი #1-ს ნაბიჯი #4: რიგრიგობით ავიღოთ და გავაანალიზოთ მნიშვნელობები შენახული სიმრავლიდან ნაბიჯი #5: თუ მნიშვნელობა არ არის რიცხვი, დავაფიქსიროთ შეცდომა, დავბეჭდოთ ეს მნიშვნელობა და დავუბრუნდეთ ნაბიჯი #4-ს ნაბიჯი #6: დავამატოთ მნიშვნელობა საერთო ჯამს, გავზარდოთ საერთო მთვლელი 1-ით, დავუბრუნდეთ ნაბიჯი #4-ს ნაბიჯი #7: დავბეჭდოთ ჯამი, საერთო რაოდენობა, საშუალოს მნიშვნელობა ამოცანის ასეთ ნაბიჯებად დაყოფა ამარტივებს საერთო სურათს. ნათლად ჩანს სად რა გვაქ გასაკეთებელი. თუკი რომელიმე ქმედებას ვერ აღწერთ, ე.ი. საჭიროა მისი კიდევ უფრო მარტივ ეტაპებად დაყოფა. ეხლა რაც შეეხება კოდს:
# 1 - numbers = [] - ესეთი ჩანაწერით პითონს ვატყობინებთ, რომ numbers ცვლადში ჩვენ გვინდა გარკვეული მონაცემების სიმრავლის შენახვა. პითონს აქვს რამოდენიმე სხვადასხვა საშუალება/მიდგომა სიმრავლეებთან სამუშაოდ. კონკრეტულად ამ ამოცანაში ჩვენ ვიყენებთ ყველაზე მარტივ და ალბათ ყველაზე გავრცელებულ სიმრავლეს, ე.წ. სიას (list). '[]' ცარიელი სიის აღმნიშვნელი ჩანაწერია. მაგალითად შეგვეძლო ჩაგვეწერა numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] და მაშინ გვექნებოდა 0-დან 10-მდე ყველა რიცხვისგან შემდგარი სიმრავლე/სია. # 2-ში append() ფუნქციის გამოყენებით ვახდენთ მომხმარებლისგან მიღებული მნიშვნელობის სიაში დამატებას. [].append(1) = [1], [1].append(2) = [1, 2] და ა.შ. პირველი while ციკლის შემდეგ print ფუნქციის მეშვეობით ვბეჭდავთ პირველად სიას ყველა იმ მნიშვნელობისა, რაც მომხმარებელმა (ანუ ჩვენ) შევიყვანეთ პროგრამაში. # 3-ში უკვე for ციკლის გამოყენებით 'გადავურბენთ' ყველა მნიშვნელობას ჩვენს შენახულ სიაში. ძალიან მარტივი ჩანაწერია, ინგლისურიდან პირდაპირ ითარგმნება როგორც numbers სიმრავლეში ყოველი n-ისთვის შეასრულე შემდეგი კოდი. და n-ში პითონი მოგვაწვდის თითოეულ მნიშვნელობას ამ სიმრავლიდან. უკვე ამის შემდეგ ჩვენ ვცდილობთ დავადგინოთ n არის თუ არა რიცხვითი მნიშვნელობა მისი int-ში გარდაქმნით. თუ მოხდა შეცდომა, ე.ი. არ არის რიცხვითი მნიშვნელობა და შესაბამისად დავბეჭდავთ ეკრანზე როგორც შეცდომას. თუ არ მოხდა შეცდომა, მაშინ დავამატებთ საერთო ჯამს და ჩვენს რიცხვით მთვლელ k-ს ერთით გავზრდით. როდესაც ყველა მნიშვნელობას გადავარჩევთ უკვე ბოლოში print-ებით დაიბეჭდება რიცხვითი მნიშვნელობების საერთო რაოდენობა, ჯამი და საშუალო არითმეტიკულის მნიშვნელობა. |
Posted by: billy*jack 14 Dec 2017, 22:13 | ||||
Lilith კი თითქმის ეგაა, უბრალოდ როცა რიცხვი არ შეგყავს უნდა ამოგიგდოს ერორი, და შემდეგ გაგაგრძელებინოს რიცხვების შეყვანა. ეგ ერორს არ აგდებს. მარტივად მოაგვარებ, მაგრამ მე სხვა პრობლემა მაქ.. ეს უნდა ამოვხსნა მხოლოდ while,try,break,continue საშუალებით.. აპპენდი ჯერ არ მისწავლია აი მანდ მოცემულ მათემატიკას თავი რო დავანებოთ (საშუალო , რაოდენობა, ჯამი) დაახლოებით ეგეთ რამეს ვფიქრობ..
რიცხვები შემყავს, ახალს მთხოვს, სტრინგის შეყვანისას invalid input-საც , მაგრამ "done" როცა შემყავს
ამას არ აგდებს და რატო ვერ მივხვდი sum , total, average -ს ყურადღება არ მიაქციო ამ კოდში როგორც სტრინგს ისე ვბეჭდავ.. მაგათ რეალურ მნიშვნელობებზე მერე ვიმუშავებ.. ჯერ ეს ნაწილი მოვაგვარო |
Posted by: zingera 15 Dec 2017, 20:37 |
+++++++++++++++++++++++++++++++++++++++ |
Posted by: iraklikairakli 20 Dec 2017, 19:43 |
სალამი ბიჭებო ) იმედია ეს თემა "მკვდარი არაა" მეც დამწყები ვარ პითონში და თქვენც გვერდით ვარ მთავარია თემა არ მოვკლათ |
Posted by: ჩაქუჩი 3 Jan 2018, 10:25 | ||||
მეგობრებო , თქვენი დახმარება მჭირდება. მოკლედ მაქვს რაღაც ცვლადი , რომელიც იღებს მთელ რიცხვით მნიშვნელობებს . მე მინდა რომ დავაჯამო ყველა რიცხვი , რომელსაც მიიღებს ცვლადი 0 მნიშვნელობამდე . ანუ , თუ მაგალითად მაქვს :
მინდა მივიღო 17 . ვწერ შემდეგნაირად :
ამგვარ ჩანაწერზე არასწორი სინტაქსის ერორს მიგდებს , დამეხმარეთ აღნიშნული ამოცანის სწორ ჩაწერაში . |
Posted by: INGATO 3 Jan 2018, 16:21 |
ჩაქუჩი აბა ეს ნახე მეც დამწყებივარ მთალდ სასახელო კოდი ვერ გამომივიდა |
Posted by: ჩაქუჩი 3 Jan 2018, 16:45 |
INGATO მეც ესე დავწერე სანამ ამ პოსტს ვნახავდი , როგორც ჩანს ცვლადი ციკლის შიგნით უნდა გამომეცხადებინა . |
Posted by: user8855 4 Jan 2018, 10:51 |
რამე კურსი არაფერი იცით საქართველოში, python-ის? |
Posted by: Definitely_Maybe 4 Jan 2018, 12:22 |
დავფიქსირდები.................. |
Posted by: yurmetal 4 Jan 2018, 12:24 |
ვუერთდები ამ თემას!!! PHP'დან მინდა გადმოვიდე |
Posted by: ჩაქუჩი 4 Jan 2018, 12:56 |
yurmetal Definitely_Maybe user8855 INGATO ამ https://snakify.org/ გადახედეთ . არის თეორია + უამრავი თასქი/თავსატეხი , რომლებიც იუთუბის ვიდეოტუტორიალებზე ბევრად ეფექტურია ჩემი აზრით . კურსი მოიცავს ძალიან ელემენტარულ საბაზისო ოპერაციებს , თუმცა საკმაოდ ჩადის სიღრმეებში , დასაწყისისთვის სწორედ ეს არის საჭირო . აქ დავდოთ ხოლმე თასქები სადაც გავიჭედებით . ერთმანეთს ვასწავლოთ და ერთმანეთისგან ვისწავლოთ . მოკლედ მოვქოქოთ ეს თემა |
Posted by: billy*jack 4 Jan 2018, 13:16 |
საღოლ, ვიაქტიუროთ შეძლებისდაგვარად |
Posted by: user8855 5 Jan 2018, 10:51 |
ვინმე მცოდნემ კურსი გააკეთეთ რა |
Posted by: testselenium 5 Jan 2018, 13:25 |
ტინგ გოუს სკრრრრრრრაჰ, (ტესტ ბოტ) |
Posted by: mettalmag 5 Jan 2018, 14:08 |
სად შეიძლება ვიპოვო ვინმე ვინც იცის პითონი და შეასრულებს დავალებას და მიიღებს ამაში ფულს?! |
Posted by: user8855 5 Jan 2018, 15:05 |
mettalmag მე მყავს ნაცნობი და რა მიმართულებით იქნება დავალება? |
Posted by: Lilith 5 Jan 2018, 20:19 | ||||||||
ჩაქუჩი ვაა, ეგ კარგი საიტია ნამდვილად. კარგს იზავთ მართლა თუ ცოტა უფრო მეტად იაქტიურებთ, მეც ნელნელა შემოგეშველებით, ეს ბოლო პერიოდი საერთოდ ვერ მოვიცალე, მაგრამ ეხლა ისევ მაქვს დრო და დავდებ ხოლმე სხვადასხვა მასალას. billy*jack
ანუ შენ ყოველგვარი პირობის გარეშე ასრულებ continue ბრძანებას როგორც კი შემოატანინებ მნიშვნელობას. ეს კი იმას ნიშნავს, რომ continue-ს შემდეგ კოდი არასოდეს არ შესრულდება. მემგონი ეგ ბრძანება საერთოდ ზედმეტია და ამოსაღებია. ერთი კარგი და ჩემი ალბათ უსაყვარლესი ფუნქცია მსურს განვიხილოთ დღეს. ეს არის ე.წ. შემთხვევითი რიცხვების გენერატორი - random. ეს ფუნქცია ცალკე მოდულის სახით არის წარდგენილი. რა არის მოდული? ეს არის რაღაცა მზა კოდი შენახული ცალკე ფაილის სახით, რომელიც როგორც წესი რაღაცა ერთ მიზანს ემსახურება. მაგალითისთვის random მოდულში თავმოყრილია ის ფუნქციები, რომლებიც ასე თუ ისე შემთხვევით რიცხვებთან არის დაკავშირებული. ასეთ ნაკრებებს სხვადასხვა ენებში ბიბლიოთეკებად მოიხსენიებენ. მოდულის კოდში გამოსაყენებლად გამოიყენება ბრძანება import. კოდის მაგალითი და შემდეგ უკვე გავარჩიოთ რა რას აკეთებს:
ანუ როგორც ხედავთ პირველი სტრიქონი გვაძლევს საშუალებას გამოვიყენოთ random მოდულში თავმოყრილი ფუნქციები. ფუნქციის გამოსაძახებლად ვწერთ ჯერ მოდულის სახელს და წერტილის შემდეგ საჭირო ფუნქციის დასახელებას. ჩვენს შემთხვევაში გამოვიყენეთ randint(a, b) ფუნქცია, რომელიც [a, b] დიაპაზონში გვიბრუნებს შემთხვევით მთელ რიცხვს. ანუ პროგრამის ყოველ გაშვებაზე კოდი დაგვიბეჭდავს სხვადასხვა რიცხვებს 0-სა და 100000-ს შორის. ერთი ორი სიტყვა კვლავ import-ზე. თუკი ჩვენ გვჭირდება მხოლოდ ერთი ფუნქცია გარკვეული მოდულიდან, შეგვიძლია დავაიმპორტოთ მხოლოდ ეს ფუნქცია და ამ შემთხვევაში აღარ დაგვჭირდება ყოველ ჯერზე მოდულის დასახელების დაწერა ფუნქციის გამოსაძახებლად, მაგალითი:
ეს კოდი ზუსტად იგივე შედეგს მოგვცემს, რასაც ზემოთ მოყვანილი მაგალითი. სხვაობა უბრალოდ მოდულის იმპორტირებაში და შემდეგ ფუნქციის გამოძახებაშია. კიდევ ერთი მარტივი მაგალითი, პროგრამა აგენერირებს შემთხვევით რიცხვებს 0-დან 100000-მდე დიაპაზონში და ბეჭდავს მიღებულ რიცხვებს. როგორც კი მიღებული რიცხვი ჩამოსცდება 10000-ს, პროგრამა დაასრულებს მუშაობას:
|
Posted by: ჩაქუჩი 5 Jan 2018, 22:28 | ||||||
Lilith
ძალიან კარგი იქნება თუ დაგვეხმარები . აქვე დავდებ ჩემს პატარა ამოცანას . მოკლედ მაქვს ცვლადი და წინასწარ მოცემული დადებითი მთელი რიცხვები , რომლებსაც ცვლადი მიიღებს რიგ-რიგობით . პირობითად ეს რიცხვები იყოს
რიცხვთა მიმდევრობა ყოველთვის მთავრდება 0 - ით . ამოცანის პირობა მდგომარეობს შემდეგში : უნდა ვიპოვოთ უდიდესი რიცხვის ინდექსი , ანუ მისი რიგითობა მიმდევრობაში . ჩვენს შემთხვევაში 9 - ის ინდექსი არის 2 . ვწერ შემდეგნაირად :
|
Posted by: iraklikairakli 7 Jan 2018, 00:10 |
ვავა რაკარგიაა გილოცავთ შობას უფლის მადლი არ მოგკლებოდეთ <3 |
Posted by: execution 7 Jan 2018, 00:19 |
ჩაქუჩი წესით ცარიელ input ს თუ აძლევ მაგ დროს აგდებს EOF error ს |
Posted by: ჩაქუჩი 8 Jan 2018, 09:55 | ||||
execution
ნამდვილად . როგორც მივხვდი, თვითონ საიტი რომელზე მაგ ამოცანას ვაკეთებ , არ ატრიალებს რიცხვებს მეორე ციკლში . ამოცანა ერთი ციკლით იხსნება , მეორე არც არის საჭირო .
|
Posted by: iraklikairakli 8 Jan 2018, 13:35 | ||
ბიჭებო მაქ ლისტი რაღაცა ხ=("სდსდსდს,სდსდსდსდსდსადა") ამას ვსპლიტავ და რანდომით ვიღებ სიტყვებს და ისე როგორ ვქნა რომ მომხმარებეკმა შეიყვანოს რამდენი სიტყვის დაბეჭდა სურს? * * *
ვქენი ვისაც გინდათ import random x=("i am from georiga") y=(x.split)() k = input("რამდენ სიტყვიანი გინდათ? -") for i in range(0,int(k)): leqsi=y[1] print(random.choice(y)) |
Posted by: hermes555 8 Jan 2018, 14:50 |
Python 3.6 ვერსიაზე ვერაფრით დავწერე ქართულად, გამოდის როგორც კითხვის ნიშნები. UTF-8-ს მხარდაჭერა როგორაა პითონში? რუსული იწერება ჩვეულებრივად. გთხოვთ დამეხმაროთ. კონკრეტულად tkinter entry იხილეთ სურათი წინასწარ მადლობა |
Posted by: ჩაქუჩი 21 Jan 2018, 18:36 |
პატარა სავარჯიშო თემის გაცოცხლებისთვის : გვაქვს ჭადრაკის ფიგურა - დედოფალი (ვინც არ იცით მისი მოძრაობები მწვანე ისრებს დააკვირდით) და მისი კოორდინატები დაფაზე , სურათის მიხედვით - (5:5), (a b c...-ს ნაცვლად წარმოიდგინეთ 1 2 3 და ა.შ.) ვთქვათ მოცემულია ორი უჯრის კოორდინატები , რომლიდანაც პირველზე ზის დედოფალი , ხოლო მეორე უჯრა აღებულია შემთხვევით . ჩვენი მიზანია გავიგოთ შეუძლია თუ არა დედოფალს პირველი უჯრიდან მეორეზე ერთი სვლით გადაადგილება , თუ შეუძლია დაპრინტეთ - 'YES' თუ არა - 'NO' . პირველი უჯრის კოორდინატებია x1 , y1 , ხოლო მეორე უჯრის x2 , y2 . Lilith რეკურსიულ ფუნქციებზე რას გვეტყვი ? რაიმე მაგალითის მოყვანა თუ შეგიძლია , სადაც რეკურსიის გზით ამოხსნა for/while - ზე უმჯობესია? |
Posted by: ჩანიძე 21 Jan 2018, 20:27 | ||
|
Posted by: ჩაქუჩი 21 Jan 2018, 23:51 |
ჩანიძე ისე დამაჯერებლად ამოხსენი , ცოტა გავართულოთ . მოცემულია ცვლადი x , რომელიც იღებს მთელი რიცხვით მნიშვნელობებს . უნდა დაადგინო არის თუ არა ეს რიცხვი ფიბონაჩის მიმდევრობიდან და თუ არის , დაპრინტე მისი ინდექსი , ხოლო თუ არ არის - 'NO' . ფიბონაჩის მიმდევრობას აქვს შემდეგი სახე : მარტივად გამოითვლება - 9 -ის ფიბონაჩის რიცხვი არის 34 , 13 -ის 233 და ა.შ. ანუ თუ ვთქვათ x == 610 , უნდა დაპრინტო '15' . აბა მიდი ციკლის ოპერატორი დაგჭირდება . |
Posted by: ჩანიძე 22 Jan 2018, 00:26 | ||
|
Posted by: ჩაქუჩი 22 Jan 2018, 10:52 | ||||||
ჩანიძე სწორია .
ამის ნაცვლად შეგეძლო პირდაპირ დაგეწერა :
პითონი იძლევა ამის საშუალებას , თუმცა არსებითი მნიშვნელობა არ აქვს როგორ ჩაწერ . შემდეგი ამოცანა : გვაქვს მთელ რიცხვთა მიმდევრობა , რომელიც აუცილებლად მთავრდება 0-ით . პირობითად ეს რიცხვები იყოს :
დაპრინტე მაქსიმალურად რაოდენობა , როცა ერთი და იგივე რიცხვი მეორდება მიყოლებით . ანუ ჩვენს შემთხვევაში რიცხვი - 1 მიყოლებით მეორდება 3 - ჯერ და უნდა დაპრინტო 3 . |
Posted by: ჩანიძე 22 Jan 2018, 10:59 | ||||||||
გავითვალისწინებ ახლა ჯავას ვსწავლობ და ამოცანების პონტში შემოვიხედე პითონის სინტაქსი კიდე უცებ მოვძებნე გუგლში ამასაც გავაკეთებ ლექციის მერე * * *
* * * ქაუნთერი ერთის ტოლი ელსის იფს გარეთ უნდა გახდეს ვგონებ ;დ |
Posted by: ჩაქუჩი 23 Jan 2018, 00:07 | ||||||||||
ჩანიძე მშვენიერი მცდელობაა , რაც მთავარია სწორი მიმართულებით წახვედი . პატარა ჩასწორებები და მივიღებთ მუშა კოდს . დავიწყოთ .
ნაცვლად ზემოთ დაწერილისა , უნდა დავწეროთ :
შენს მიერ დაწერილი კოდის თანახმად , როცა n == 0 ციკლი ჩერდება , შესაბამისად აღარ სრულდება მის ქვემოთ მოცემული კოდი , მათ შორის კოდის ის ნაწილი , რომელიც counter - ს უტოლებს longest - ს . ანუ თუ ვთქვათ გვექნება მიმდევრობა :
შენი კოდით დაიპრინტება 3 და არა 5 .
ნამდვილად . მოკლედ მივიღებთ :
|
Posted by: Irakli2013 28 Jan 2018, 21:35 | ||
რეკურსიით კეთდება ეს |
Posted by: ჩაქუჩი 28 Jan 2018, 23:08 |
Irakli2013 ციკლით ამოხსნილს რა დაუწუნე ? |
Posted by: user8855 31 Jan 2018, 17:29 |
Lilith კურსი გააკეთე რა და მოვდივარ * * * რომელიმე სასწავლო ცენტრში თუ დაგითმობენ დროს და აუდიტორიას, შეიკრიბება ხალხი დარწმუნებული ვარ. არ არის საქართველოში პითონის კურსი და სწავლის მსურველი ბევრია |
Posted by: INGATO 31 Jan 2018, 17:36 | ||
კურსი არ ვიცი მაგრამ ჩემს უნივერსიტეტში ასწავლიან პირველივე წილიდან პითონს. |
Posted by: Irakli2013 31 Jan 2018, 20:21 | ||
ჩაქუჩი
არაფერი უბრალოდ ფიბონაჩის რიცხვის გამოთვლას იყენებენ მაგალითად რეკურსიას რომ ასწავლიან |
Posted by: ჩაქუჩი 31 Jan 2018, 21:41 | ||||
user8855 რა კურსი გინდა , ადექი და დაიწყე სწავლა შენით . თუ მაინცდამაინც ფული გინდა იხადო ? პატარა ამოცანა პითონცი : გვაქვს ინგლისურ-ლათინური ლექსიკონი , ჩვენი მიზანია შევქმნათ ლათინურ-ინგლისური ლექსიკონი. ანუ , თუ პირობითად გვაქვს :
უნდა მივიღოთ :
|
Posted by: Lilith 1 Feb 2018, 00:20 | ||||||||
ჩაქუჩი პირველ რიგში მადლობა იმისათვის რომ თემას პერიოდულად აცოცხლებ როგორც თავიდანვე დავწერე, პერიოდულად როცა საქმეები მიგროვდება იმდენ ყურადღებას ვეღარ ვუთმობ ხოლმე, მაგრამ როგორც კი თავისუფალი დრო გამოჩნდება ვეცდები მეტი და მეტი მასალა დავდო. user8855
საქართველოში არ ვარ მე თვითონ ისე კი, მეც ვატყობ რომ სულ უფრო და უფრო მეტი ხალხი ცდილობს პითონის სწავლას და ძალიან მიხარია ტაკს, გადავედით უშუალოდ საქმეზე:
მოკლედ, ჯერ ძალიან მარტივ მაგალითს დავდებ, სადაც ორივე გზას განვიხილავთ, და შემდეგ უკვე ისეთ ამოცანას, რომელიც რეკურსიულად იხსნება. 1-დან N-მდე რიცხვების ჯამი/ფაქტორიალი:
უხეშად რომ ვთქვათ რეკურსიული ეწოდება ფუნქციას, რომელიც იძახებს თავის თავს. ხანოის კოშკები არის კლასიკური ამოცანა, რომელიც იხსნება რეკურსიის გამოყენებით (იხ. სურათი): გვაქვს სამი ღერძი. ერთერთზე ჩამოცმულია სხვადასხვა ზომის N ცალი რგოლი, რომლებიც ერთმანეთზე ზომის მიხედვით ისეა დალაგებული, რომ ნებისმიერ რგოლს ზემოდან მასზე მცირე ზომის რგოლი ადევს. ჩვენ შეგვიძლია ერთ ჯერზე ავიღოთ ნებისმიერ ღერძზე განლაგებული რგოლებიდან სულ ზედა რგოლი და გადავიტანოთ ნებისმიერ სხვა ღერძზე იმ პირობით თუკი ამ რგოლს დავდებთ მასზე ზომით უფრო დიდ რგოლზე, ან ცარიელ ღერძზე. მაგალითად სულ თავიდან ყველა რგოლი განლაგებულია ისე, როგორც ეს სურათზეა ნაჩვენები. პირველ სვლაზე შეგვიძლია ავიღოთ სულ ზედა რგოლი და გადავიტანოთ ნებისმიერ ღერძზე. შემდეგ სვლაზე შეგვიძლია ავიღოთ მეორე რგოლი და გადავიტანოთ თავისუფალ ღერძზე, იმიტომ რომ იმ ჩვენს პატარა რგოლს თავზე ზემოდან ვერ დავადებთ ამოცანის პირობიდან გამომდინარე. ამოცანა მდგომარეობს შემდეგში - სვლების რა მინიმალური რაოდენობაა საჭირო მთლიანი პირამიდის A ღერძიდან B ღერძზე გადასატანად? სიმარტივისთვის ავიღოთ ის შემთხვევა როდესაც გვაქვს მხოლოდ 3 რგოლი და ზომების მიხედვით დავარქვათ პირობითად 1, 2 და 3. მაშინ პირვანდელი მდგომარეობა შემდეგნაირად გამოიყურება: a=[3, 2, 1] - ანუ რგოლები ერთმანეთზე დალაგებულია მარცხნიდან მარჯვნივ მიმდევრობით. სულ პირველი დევს 3-იანი, მას ზემოდან ადევს 2-იანი და ბოლოს 1-იანი. b=[] c=[] პირველ სვლაზე ავიღეთ 1-იანი და გადავიტანეთ b ღერძზე, მივიღეთ: a=[3, 2] b=[1] c=[] მეორე სვლაზე ავიღეთ 2-იანი და გადავიტანეთ c-ზე: a=[3] b=[1] c=[2] #3 - 1-იანი ავიღეთ b-დან და გადავიტანეთ c-ზე: a=[3] b=[] c=[2, 1] #4 - 3-იანი გადავიტანეთ b-ზე: a=[] b=[3] c=[2, 1] #5 - 1-იანი გადავიტანეთ a-ზე: a=[1] b=[3] c=[2] #6 - 2-იანი გადაგვაქ b-ზე: a=[1] b=[3, 2] c=[] #7 - 1-იანი გადაგვაქ b-ზე: a=[] b=[3, 2, 1] c=[] როგორც ვხედავთ დაგვჭირდა 7 სვლა იმისათვის, რომ 3 რგოლი A ღერძიდან B ღერძზე გადაგვეტანა. რაც შეეხება ამოხსნას, ვიდრე უშუალოდ კოდს შევეხებოდეთ ჯერ გავარჩიოთ როგორ ვხსნით ამ ამოცანას თეორიულად. დედუქციის დახმარებით შეგვიძლია ვთქვათ შემდეგი - თუკი ჩვენ მოვახერხეთ სულ ქვედა, ყველაზე დიდი რგოლის გარდა ყველა სხვა დანარჩენი რგოლის გადატანა ე.წ. "დამხმარე" ღერძზე (ანუ თუკი A-დან B-ზე უნდა გადავიტანოთ, ამ შემთხვევაში C ღერძი არის დამხმარე), მაშინ ჩვენ შეგვიძლია ეს ყველაზე დიდი რგოლი გადავიტანოთ დანიშნულების ღერძზე და ჩემდეგ დამხმარე ღერძიდან იგივე მოქმედებით გადმოვიტანოთ დანარჩენი რგოლები და დავადოთ ამ დიდ რგოლს. რეკურსია ამ შემთხვევაში გამოიყენება სწორედ რომ იმ ზედა რგოლების დამხმარე ღერძზე და შემდეგ დანიშნულების ღერძზე გადასატანად. ჩვენ ვამბობთ რომ ის ზედა რგოლები ჩვენთვის იგივე პირამიდაა და დამხმარე ღერძი არის სინამდვილეში დანიშნულების ღერძი, და ფაქტიურად გვაქვს იგივე ამოცანა, ოღონდ ახალი, შედარებით მარტივი მოცემულობით - თუკი მთავარ ამოცანაში გვჭირდება N რგოლის გადატანა A-დან B-ზე, ამ ახალ ამოცანაში გვჭირდება N-1 რგოლის გადატანა A-დან C-ზე. ანუ მთავარი ამოცანა დავიდა შემდეგზე: სვლა #1 - N-1 რგოლის გადატანა A-დან C-ზე სვლა #2 - ბოლო, ყველაზე დიდი რგოლის გადატან B-ზე სვლა #3 - N-1 რგოლის გადმოტანა C-დან B-ზე თავის მხვრივ #1 და #3 ამოცანები ისევ შეგვიძლია გავამარტივოთ: #1: #1.1: (N-1)-1 რგოლის გადატანა A-დან B-ზე, #1.2: (N-1)-ე რგოლის (ამ შემთხვევაში ეს რგოლია ყველაზე დიდი) გადატანა A-დან C-ზე #1.3: (N-1)-1 რგოლის გადატანა B-დან C-ზე შემდეგ მთავარი ამოცანის მე-2 სვლა: #2: მე-N ყველაზე დიდი რგოლის გადატან B-ზე და მე-3 სვლა ანალოგიურად ჩაშლილი: #1.1: (N-1)-1 რგოლის გადატანა C-დან A-ზე, #1.2: (N-1)-ე რგოლის (ამ შემთხვევაში ეს რგოლია ყველაზე დიდი) გადატანა C-დან B-ზე #1.3: (N-1)-1 რგოლის გადატანა A-დან B-ზე და დანარჩენი სვლებიც უნდა ჩაიშალოს მანამდე, სანამ ხელში არ შეგვრჩება მხოლოდ 1 რგოლი. კოდი გამოიყურება შემდეგნაირად:
მიუხედავად იმისა რომ სულ რამოდენიმე ხაზია დარწმუნებული ვარ ბევრ თქვენგანს გაუგებრობის გრძნობა დარჩება. არ მოგერიდოთ, მკითხეთ სად, რომელ ნაწილში გერთულათ, რა გაიგეთ, რა ვერ გაიგეთ და მაქსიმალურად ვეცდები აგიხსნათ. |
Posted by: user8855 1 Feb 2018, 11:35 |
ჩაქუჩი მეზარება ბრატცი ჩემით ჩაჯდომა თან კურსს თავისი პლიუსები აქვს, საინტერესო ხალხი შეიძლება გაიცნო ვინმე რომ გიხსნის უფრო მოკლე დროში სწავლობ ვიდრე შენ რომ გუგლავ |
Posted by: Gateways 1 Feb 2018, 15:07 |
Lilith რომელია ყველაზე კარგი IDE პითონისთვის? იუპიტერს ვიყენებ ეგრევე ბრაუზერში უშვებს და რაღაც არ მომწონს.. მაუსის კლიკები მიწევს და მეზიზღება )) |
Posted by: ჩაქუჩი 1 Feb 2018, 15:25 |
Gateways VIM is light weight, modular and fast and is best suited for programmers who love keyboards and only keyboards, no mouse use while coding. შენნაირებისთვის ყოფილა და ცადე . Lilith ძალიან დროული იყო შენი გამოჩენა . მადლობა პირიქით შენ რო დროს გვითმობ . მაგალითს სამსახურის მერე ჩავუჯდები . |
Posted by: Gateways 1 Feb 2018, 15:33 | ||
ჩაქუჩი
ნამდვილად ვცდი, მადლობა |
Posted by: Dirac 2 Feb 2018, 05:45 |
Gateways რათქმაუნდა emacs ჯობია vim-ს, მაგრამ მის სწავლას ერთი წელი უნდა, თავისი პროგრამირების ენა აქვს. თუ მთლად უმაოსოდ არ გინდა მუშაობა, მაშინ sublime ან atom. პითონისთვის IDE-ს გამოყენების აზრს ვერ ვხედავ. IDE ჯავაში ან C++ში სასარგებლოა, მაგრამ პითონში ფაილების ცალცალკე კომპილაცია და მათი ერთმანეთთან დაკავშირება არ გიწევს. |
Posted by: t-90 2 Feb 2018, 08:08 | ||
Dirac
ეგ იმიტომ რომ Vim არის ტექსტ ედიტორი (სხვათაშორის ფრიად კარგი, იაფი და მოსახერხებელი თან ყველა ლინუქსზეა) emacs კიდე არის მონსტრი ჩემი ერთI მეგობარია ყველაფერს მანდ აკეთებს დაჟე იმეილების შემოწმებებით, პრეზენტაციების მომზადებით და ა.შ. |
Posted by: billy*jack 3 Feb 2018, 20:11 | ||
ჩაქუჩი
ნაწილობრივ გავაკეთე, მაგრამ ორი მნიშვნელობა ერთად როგორ გავაკეთო ? greet - empfangen, willkommen < აი ეს |
Posted by: აბიტურიენტი 3 Feb 2018, 20:18 |
ადამიანი IDE-ს რომ ითხოვს ვიმი რატომ უნდა ურჩიო |
Posted by: billy*jack 3 Feb 2018, 20:21 |
აბიტურიენტი pycharm როგორია ? |
Posted by: აბიტურიენტი 3 Feb 2018, 20:23 |
billy*jack pycharm არ ვიცი მაგრამ ჯეტბრეინსის პროდუქტი ცუდი არ იქნება |
Posted by: billy*jack 3 Feb 2018, 20:42 |
აბიტურიენტი რავი ვინაიდან ნოვიჩოკი ვარ ინტერფეისის სიმარტივის კუთხით თუ შევაფასებ ზოგადად IDE-ს და მგონი ნორმალურია რა.. Gateways სცადე აბა , ყოველშემთხვევაში მაუსის პრობლემას მოგიხსნის https://www.jetbrains.com/pycharm/ |
Posted by: Dirac 3 Feb 2018, 21:07 |
აბიტურიენტი იმიტომ რომ მაუსის გამოყენება არ უნდა. ასევე პითონში IDE-ს გამოყენება სისულელეა (სამსახურში ვიყენებ მაგრამ იქ სხვა ალტერნატივა არაა), მძიმე და არაფრისმომცემია, ბევრად უკეთესია კარგი ტექსტ ედიტორი. |
Posted by: ჩაქუჩი 3 Feb 2018, 21:21 | ||||
billy*jack
ეგ ორი მნიშვნელობა არის მთავარი . მე ჯერ ორგანზომილებიან ლისტში შევიტანე ეგ მონაცემები და მივიღე შემდეგი :
მხოლოდ ამის მერე დავიწყე სიტყვების დიქშენერში შეყრა და მათი "შემობრუნება" . დააკვირდი A[i][0] არის ინგლისური მნიშვნელობა . ბრმად რო არ აკეთო , ეგ სავარჯიშო https://snakify.org/lessons/dictionaries_dicts/problems/english_latin_dict/ წამოვიღე . ბრაუზერშივე შეგიძლია ნახო შენი კოდი რა შედეგს გაძლევს , უფრო მოსახერხებელია . |
Posted by: Lilith 3 Feb 2018, 21:32 | ||
Dirac
რომელ IDE-ს იყენებთ სამსახურში? ჩემი თავი გამახსენდა ყველაზე მეტად notepad-ში როდესაც მიყვარდა HTML-ების აწყობა IDE-ს უამრავი ფუნქცია აქვს და თუ არ იყენებ რა თქმა უნდა კარგი ტექსტ ედიტორი ყოველთვის აჯობებს. როდესაც ცოტა დიდ პროექტზე გიწევს მუშაობა, გუნდთან ერთად ხომ მითუმეტეს, უკვე სხვა რაღაცეებზეც გიწევს ფიქრი. მაგალითად PyCharm-ში ჩაშენებულია https://www.python.org/dev/peps/pep-0008/ სტილის დაცვა, რომელიც არ არის აუცილებელი, მაგრამ თუ იცავ ეს კიდევ ერთი პლიუსია შენს უნარჩვევებს. ასევე IDE-ს ჩაშენებული აქვს სხვადასხვა version control სისტემის მხარდაჭერა, რაც ასევე ძალიან მოსახერხებელია როდესაც გიწევს მუშაობა პროექტზე სადაც 10-ზე მეტი ფაილი გაქვს. PyCharm-ს ასევე აქვს Debugging-ის მხარდაჭერა, ტექსტ-ედიტორი ამის საშუალებას ვერ მოგცემს. P.S. თუ საიდუმლო არაა პითონზე რა სახის პროექტებზე მუშაობთ სამსახურში? |
Posted by: ჩაქუჩი 3 Feb 2018, 21:51 | ||
Lilith
ERP სისტემის საპორტში ვმუშაობ და იქ , დაშენებულ ფუნქციებს ( რომელიც ძირითადი პროგრამის ნაწილი არაა და ყველა კლიენტს არ ჭირდება ) წერენ პითონზე . ისე კი პროგრამა C# - ზეა დაწერილი . |
Posted by: Dirac 3 Feb 2018, 22:46 | ||||||
Lilith
ჩემს სამსახურს თავისი IDE აქვს და პითონის თავისი პლატფორმა.
იმაქსზე მეყენა მსგავსი რამე. გუგლის სტილს იცავს. ნერვებლი მომიშალა და მოვაშორე.
იმაქს რათმაუნდა დიბაგინგი აქვს, ფუნქციის/ცვლადის დეფინიციაზე გადახტომა, აუტო ქომფლით, სინტაქცის შემოწმება, კალენდარი, იმეილი. სარეცხი მანქანა და უთო აქვს თუ არა ზუსტად არ ვიცი მაგრამ არ გამოვრიცხავ. ოღონდ უმეტესობა შენით უნდა დააყენო. სხვა ტექსტ ედიტორები რაც ჩამოვთვალე მაგათაც აქვთ მსგავსი პაკეტები. sublime ალბათ ყველაზე ადვილია დამწყებისთვის. |
Posted by: nv86 5 Feb 2018, 20:46 |
ეხლა მოვრჩი მეორე წიგნს programming python რამე პროექტი მომაფიქრებინეთ. ჩემით მიჭირს. სხვა პროგრამების კოდები ვარჩიო? მეზარება ქრაულერების წერა. მაილ სერვერი დავწერე. უფრო სწორად ამ წიგნში იყო მოყვანილი და გარჩეული. GUI-ც და CGI-იც. ან იქნებ იცოდეთ რამე ახალი წიგნი. raspberry pi-ით ხო არ გავერთო? |
Posted by: robox 5 Feb 2018, 23:38 |
nv86 chip-8 ს ემულატორი გააკეთე აგერ დოკუმენტაცია http://devernay.free.fr/hacks/chip8/C8TECH10.HTM#0.0 აგერ რომებიც https://www.zophar.net/pdroms/chip8.html საინტერესოა,თან ცოტა "რკინას მიუახლოვდები " |
Posted by: nv86 6 Feb 2018, 19:03 | ||
robox უი ეგ რა კარგი რამეა. ადრე რო იყო GNS ცისკოს როუტერებისთვის იგივე პონტია ვირთუალ მანქნაასავით? მადლობა. რამე წიგნსაც ხო ვერ მირჩევ. თუ დავანებო წიგნებს თავი და ვიპრაქტიკო? ძაან ლოუ ლეველზეც არმინდა ჯერ დავიდე ისედაც რთულია ეს ემულატორი მისწრებაა. raspberry-საც დავითრევ არ არის ძვირი და რამე. თავის სენსორებით და დისფლეით.
|
Posted by: Ruritania 6 Feb 2018, 20:02 | ||
მე ვიყენებ PyCharm-ს ძალიან მომწონს ჯეტბრაინსის პროდუქტები ზოგადად. და მე პირადად ვფიქრობ რომ პროექტს გააჩნია (როდის შეიძლება გამოიყენო IDE და როდის არა). დაახლოებით იგივეა რაც Javascr1pt-ისთვის როდის შეიძლება გამოგადგეს WebStorm და როდის უბრალო ტექსტ ედიტორი. სამსახურის პროექტებზე ყოველთვის IDE-ს ვიყენებ და ბევრად უფრო მიმარტივებს მუშაობას ვიდრე ტექსტ ედიტორი. თუნდაც იმით რომ refactoring სასწაულად მარტივია ნებისმიერი სახის. ასევე, ახლად დაყენებული ბიბლიოთეკის ყველა მეთოდს ძალიან კარგად აღიქვამს ეგრევე. ტესტების task runner-ები ჩაშენებული აქვს, ისევე როგორც ტერმინალი. PyCharm -ში რამე ბიბლიოთეკას თუ გამოიყენებ ისე რომ ჯერ არ გაქვს გადმოწერილი, ავტომატურად გთავაზობს გადმოწერას. VSCode, Sublime, Atom - სამივე გამომიყენებია იგივე პროექტებზე და შედარებაც არ შეიძლება შესაძლებლობების მხრივ. WebStorm-ს ვიყენებ JS-ისთვის და იგივე reducer-ების გადაკეთება არის უმარტივესი. ასევე როდესაც რაღაცის import-ს ვაკეთებ, მაგალითად სადღაც, რომელიღაც ფაილში მაქვს getUsers ფუნქცია, შემიძლია ჩავწერო
მერე Enter და ავტომატურად მიუწერს relative path-ს. პატარ პატარა დეტალებია შეიძლება, მაგრამ ემატება ერთმანეთს და ბოლოს ბევრად უფრო სწრაფი მუშაობა გამოდის რა. VIM vs EMACS რაც შეეხება, პასუხია - Spacemacs. Clojure-ის საწერად ვიყენებ და შეუდარებელია LISP ენებისთვის. ზოგადად Vim აუცილებელია ჩემი აზრით პროგრამისტისთვის. ყველა ზემოთ ჩამოთვლილ ედიტორში / IDE -ში vim mode-ს ვიყენებ მე პირადად და ვეღარ წარმომიდგენია სტანდარტულ კლავიატურაზე წერა. |
Posted by: Svani91 6 Feb 2018, 22:00 |
მე რატო უნდა ვიძრომიალო სორსში, დაუკვირდით ხალხო რას დებთ |
Posted by: robox 6 Feb 2018, 22:20 | ||
gns არ ვიცი რა არის მაგრამ chip8 ,თუ ვიკიპედიას დავუჯერებთ პატარა ინტერპრეტირებადი პროგრამირების ენაა(პატარა პითონია რა ),შენ კიდე ამ ენის შემსრულებელი გარემო უნდა შექმნა. chip8 ემულატორებში hello world-ის დონეა,ამის მერე აკეთებენ nes,gameboy,ps1 და ასე შემდეგ ემულატორებს. რავი ჩემი აზრით წიგნებს პრაქტიკა ჯობია,უფრო რეალურ პრობლემებს გადააწყდები ვიდრე წიგნში მოყვანილი მაგალითებია. რათქმაუნდა თავიდან საჭიროა წიგნების კითხვა მაგრამ მერე უკვე პრაქტიკა ჯობია |
Posted by: Lilith 7 Feb 2018, 02:07 |
robox გეთანხმები, მეც პრაქტიკა მირჩევნია. სიმართლე გითხრა ვერ ვიხსენებ რომელიმე ტექნოლოგია წიგნის დახმარებით მესწავლოს. კურსებიც რო გითხრა ჰა და ჰა ერთი SQL-ის კურსი მახსენდება წლების წინ გავიარე, მეტი არაფერი მაგონდება. დანარჩენი ყველაფერი ჩემით (საბაზისო ცოდნას თუ არ ჩავთვლით, რაც სკოლის პერიოდში ზოგად პროგრამირებას ეხებოდა). მთავარია საინტერესო ამოცანა დაისახო და მიჰყვე სადამდეც შეგიძლია. მითუმეტეს დღევანდელ დღეს მილიონი API-ა გამოდებული არაფერი დიდი ამბავი რომ არ სჭირდება. ერთ-ერთი ამოცანა ბოლოს რაც გავაკეთე blockchain.info-დან ვიღებდი მონაცემებს და ჩემთვის ვინახავდი/ვამუშავებდი მერე ვებსაიტზე გამომქონდა ჩარტები. თუ ეგეთი დონის ამოცანები გაინტერესებთ თქვით და გავაკეთოთ, თუ გინდათ ცალკე თემაში გავიტანოთ. ამოცანაც კი მაქვს მზად - ეროვნულის საიტიდან 2017 წლის კურსები ავიღოთ და ე.წ. regression analysis ჩავუტაროთ რეგიონში არსებულ ვალუტებს და დავადგინოთ არის თუ არა, და თუ არის რომელი მეზობელი ქვეყნის ვალუტებზეა ძირითადად ლარი დამოკიდებული. რთულად ჟღერს, მეც არ ვიცი ზუსტად რა როგორ უნდა გაკეთდეს, მაგრამ ამოცანა თუ არის ამოხსნაც მოიძებნება |
Posted by: nv86 7 Feb 2018, 13:46 |
Lilith კარგი აზრია. რომელი აპი უნდა გამოვიყენოთ ამ გვერდს აქვს რამე აპი? წამოსაღებად? urllib, html.parser, beautifulSoup? გრაფიკები არასდროს გამიკეთებია მაგრამ იქნება უამრავი ბიბლიოთეკა მაგისთვისაც? უი არა rrdtool თუ რაღაც ეგეთი არის. GIT-ს არ იყენებთ? რეგრესიის ანალიზს როგორ აპირებ არ ვიცი. მემგონი კორელაციური ანალიზი უნდა გაკეთდეს ჯერ. არ ვიცი მოკლედ მოფიქრება უნდა. რთული კიდე მართლა არაა ექსელი აკეთებს დაჟე მაგას ძალიან ჩვეულებრივად. ცვლადები შეგყავს და თვითონ აკეთებ. ნუ ეგრე მარტივადაც არაა მაგრამ რთული არაა ძალიან. |
Posted by: ჩაქუჩი 7 Feb 2018, 20:26 | ||
მეგობრებო , ფუნქციის არგუმენტში ორწერტილი რას ნიშნავს ? ან ისარი ?
|
Posted by: Lilith 7 Feb 2018, 20:38 | ||
ჩაქუჩი მითითებასავითაა თუ რა ტიპის პარამეტრია და რა ტიპის ობიექტს აბრუნებს მეთოდი:
შედეგად იღებ ე.წ. Code Completion-ს პარამეტრებზე და ფუნქციის მიერ დაბრუნებულ ობიექტზე. ანუ პროგრამის მუშაობაზე არანაირი გავლენა არ აქვს, იმიტომ რომ არ გავალდებულებს ზუსტად იმ ტიპის პარამეტრი გადასცე, ან ზუსტად იმ ტიპის შედეგი დააბრუნო. მაგრამ ზოგადად კოდის წერას გიმარტივებს. |
Posted by: ჩაქუჩი 7 Feb 2018, 21:22 | ||
Lilith გასაგებია , მადლობა . P.S.
სამ ხაზად დაწერილი 'res' - ები ძალიან მაბნევს , თან += ამ შემთხვევაში რას გულისხმობს ვერ ვხვდები. მოკლედ იმდენად ვერ გავიგე , რო აზრიან კითხვასაც ვერ ვსვამ . როგორ არ ვეცადე ამ კოდში გავრკვეულიყავი , მარა არ გამომივიდა მაინც , როგორც ჩანს ჩემთვის ზედმეტად რთულია ჯერ . თვენახევარია რაც პითონს ვსწავლობ , ეს ჩემი პირველი დაპროგრამების ენაა . დღეს https://snakify.org დავასრულე . ყველას გირჩევთ ვინც საერთოდ აზრზე არ ხართ , ძალიან მაგარი საიტია 0 - დან დასაწყებად . |
Posted by: Lilith 7 Feb 2018, 21:29 | ||
ჩაქუჩი
ანუ move_tower(move, n, a, b, c) აბრუნებს რამდენი სვლა დასჭირდება n ცალი რგოლის გადატანას A-დან B-ზე. res-ში ვითვლით სწორედ ამ სვლების რაოდენობას. ანუ n რგოლის გადასატანად გვჭირდება (n-1 რგოლის დამხმარე ღერძზე გადასატანად საჭირო სვლების რაოდენობას) + 1 + (n-1 რგოლის დამხმარე ღერძიდან გადმოსატანად საჭიროდ სვლების რაოდენობა). ეგ სამი ჩანაწერი სწორედ მაგას ითვლის: პირველი ითვლის n-1 რგოლის გადასატანად რამდენი სვლა დაჭირდება, მეორე 1 სვლა იმ ყველაზე დიდი რგოლის გადასატანად, მესამე n-1 რგოლის გადმოტანა დამხმარე ღერძიდან. |
Posted by: iraklikairakli 11 Feb 2018, 20:41 |
სალამი მეგობრებო, ყველაზე კარგი ამოცანები სად დევს ? რაც შეიძლება ფუნქციებზე რომ იყოს ან რამე კარგი მასალა რომ გადავიკითხო კიდევ |
Posted by: ჩაქუჩი 3 Mar 2018, 22:41 | ||
ცოტა გამოცოცხლდით პითონცი . გვაქვს სტრინგი , რომელშიც არის ჩვეულებრივი ( ) , კვადრატული [ ] და ესეთი ფრჩხილები { } , ქართულად რა ქვია არ ვიცი . ჩვენი მიზანია დავწეროთ ფუნქცია , რომელიც დააბრუნებს Trues - ს თუ ფრჩხილები სწორად არის დასმული , ხოლო წინააღმდეგ შემთხვევაში Falses - ს . მაგალითად :
|
Posted by: monty7 14 Mar 2018, 15:49 |
Lilith გამარჯობა, ეს კვადრატული განტოლების კოდი პითონის 2.7 ვერსიაზე არ იმუშავებს ხო ? ძაან მაგარი წამოწყებაა წარმატებები... |
Posted by: MONTY 17 Apr 2018, 04:10 |
scrapy ვინ იცით კარგად ? ჯინეტის ანალიზის გაკეთება მინდა ( სიტყვების და დომენების შეგროვება და ა.შ ) პირველი ამოცანა .ge დომენების შეგროვება და შემდეგ აქტიური .ge დომენების შეგროვება |
Posted by: MONTY 19 Apr 2018, 04:37 | ||||
scrapy ვერ ავამუშავე ვინდოუსზე დავაყენე პითონი 3.6 ვერსია C:\p დავაყენე scrapy დავაყენე PyCharm from და import ზე მაინტერესებს დეტალები ( პრობლემა არასწორი იმპორტი უნდა იყოს სავარაუდოდ ) ასევე ფაილების (ბიბლიოთეკების მდებარეობა სად უნდა იყოს და ედიტორში სწორად როგორ მივუთითო import os ს მნიშვნელობაც
ეს რას ნიშნავს ? ლინუქსზე სჭირდება თუ ვინდოუსზეც საჭიროა ?
ეს მინდა რო გამოვიყენო |
Posted by: Roy 5 Feb 2019, 04:21 | ||
სალამი ხალხს სამსახურში მქონდა ერთი ნამეტანი boring to do by hand დავალება და ეს სკრიპტი დავწერე. დამწყები ვარ, 2 კვირის წინ დავიწყე.. გარტყმაში არ ვარ მთლად ვერ ვიტყვი მაგრამ მაინც ძალიან ბევრ რაღაცაში მაგრა ვიჭედები. სკრიპტი არის მარტივი. ASA ფაირვოლისთვის უნდა შექმნას ობჯექტები. ობჯექტების დატისთვის კი იყენებს csv ფაილს. მაგალითად
ჯერჯერობით მარტო 2 ფუნქცია მუშაობს. როგორც ზევით ავღნიშნე, ეს სკრიპტი რო გაეშვას ცალკე csv ფაილია საჭირო, სადაც იქნება ASAზე დასამატებელი ობჯექტების დატა.. objectname,objectip,objectmask ... comma delimited.. მძიმით გამოყოფილი ანუ. მუშაობს ყველაფერი და რა მიზნისთვისაც დავწერე იმ მიზანს ემსახურება და ასრულებს მშვენივრად. უბრალოდ თვითონ კოდის გაუმჯობესება მინდა რომ მაგალითად თითქმის ერთიდაიგივე def არ მქონდეს ორჯერ. def Host_Objects() def Subnet_Objects()... ესენი. ეს ბოლო ჯერ კიდევ ძიების პროცესში მაქვს და არაა დასრულებული.. ამ ორ ფუნქციაში ფაქტიურად ერთიდაიგივეს ვაკეთებ ოღონდ სხვადასხვა ბრძანებებს ვაწყობ. დასრულებული არაათქო რო ვთქვი, განსხვავება ის იქნება მაგ ორ ფუნქციას შორის რომ საბნეტის ვალიდაცია მექნება IPს მაგივრად. მოკლედ, აგერ კოდი და იქნება რამე მირჩიოთ.. ჩემი მთავარი მიზანი არის რომ ეს 2 თითქმის ერთნაირი def არ მქონდეს. |
Posted by: C17H19NO3 22 Jul 2019, 14:37 |
Lilith მშვენიერი წამოწყება რატომ გაჩერდა :/ საწყენია, ისეთი კარგად ხსნიდი.. |
Posted by: NinjaRacer 23 Jul 2019, 01:43 |
მართლაც რომ |
Posted by: C17H19NO3 23 Jul 2019, 09:56 |
NinjaRacer რამე კარგი pdf მომე რა თუ გაქვს :/ ისეთი რომ მივყვე და მივყვე .. ვიდეო კურსები არ მინდა, აი კარგად ახსნილი დეტალურად რა.. ** აი ვერ ვხვდები მაგალითად import როდის უნდა გამოვიყენო, საიდან მივხვდე რომ მჭირდება ვთქათ import os, import math..... (ინგლისურ ენაზე ვიგებ მაგრამ კარგად ვერა აშკარად) ** კიდევ მაინტერესებს განტოლება როგორ ამოვახსნევინო, მაგალითად 3x^2-7=5 აქ x პროგრამამ რომ იპოვოს პატარა მონახაზი მინდა მიდგომა რა. |
Posted by: NinjaRacer 23 Jul 2019, 12:17 |
C17H19NO3 ამაზე უკეთესს ვერაფერს ნახავ. მანდ წერია მოდულებზეც. კლასებზეც, დატა სტრუქტურებზეც. scoping and namespace-ებზეც. რაც ძალიან მნიშვნელოვანია. https://docs.python.org/3/tutorial/index.html ეს რთულია და ამაზე რამოდენიმეჯერ მიბრუნება მოგიწევს. მაგრამ აუცილებლად მიუბრუნდი. დამწყებისთვის არაა თლა. თუ ეს ზედმეტად რთულია. მაშინ აგერ https://www.youtube.com/watch?v=rfscVS0vtbw თუ ესეც ამოგივა ყელში და დაგგრუზავს რა რთულიაო. CS50-ის ნებისმიერ ვიდეოს ჩაუჯექი გულს მოგიბრუნებს უკან. არ არის აუცილებელი ერთ დღეში ქნა ეს ყველაფერი. დღეში 1-2 საათი ხარისხიანად ჯობია ჩაუჯდე. უფრო ეფექტურია. ამდენი ხანია რაღაცეებს ვსწავლობ და არამარტო პითონს ყველაფერს ეხება ეს. წიგნები კარგია როცა უკვე გაქვს რაღაც გამოცდილება და სიღრმეებში მიდიხარ. ხვეწავ და სრულყოფ შენს ქრაფტს. მანამდე კი აი ტუპად უნდა წერო კოდი. თუნდაც სხივისი კოდი აიღო და გადაწერო. რომც არ გესმოდეს მაინც. ნელნელა მიეჩვევა თვალიც, ხელიც და თავიც. რაც ყველაზე მნიშვნელოვანია თავდაჯერება მოგემატება და ისე აღარ შეგაშინებს კოდი. როცა მიხვალ იმ დონეზე რომ სინტაქსის გარჩევა გაგიადვილდება და ფიქრი აღარ გიწევს. მერე ჩაუღრმავდი თემებს. threading, async და აშ. ჩეკიოც დაგეხმარება და მსგავსი საიტები. ნელი პროგრესი გექნება და ამაზე არც უნდა იფიქრო ყველა ეგრეა. ყველას აქვს გონკები რო აი ვერ ვსავლობ ან ნელა ვსწავლობ და ა.შ ეს არის სრულიად ბუნებრივი და გასავლელი ეტაპი ყველასთვის.. აბსოლუტურად ყველა მცირე გამონაკლისების გარდა ეგრეა. პირველ ენას რომ ისწავლი კარგად. მერე სხვები ბევრად გაგიადვილდება. ზოგი ფიქრობს რომ C/C++ დაწყება ჯობია, მე არ ვფიქრობ ეგრე. ეგ შენი გადასაწყვეტია. მე პირადად სულ არ მჭირდება C/C++ ამ ეტაპზე. რო დამჭირდება არცეგ იქნება პრობლემა. დრო რომ მექნება აუცილებლად ჩავუჯდები. ცოტცოტას ვეპარები თავისუფალ დროს და ძალიან მომწონს. |
Posted by: აბიტურიენტი 23 Jul 2019, 12:24 | ||
კვადრატული განტოლების ამოხსნა პირველივე პოსტში წერია. |
Posted by: C17H19NO3 23 Jul 2019, 14:04 | ||
აბიტურიენტი
კი წერია, მეც მაგას მივყვებოდი, მიდგომა მინდოდა გამეშიფრა, რადგანაც მათემატიკაში ნიჭიერი ვიყავი მაგრამ ეხლა თითქმის არაფერი შემიძლია, ვფიქრობ ისევ ამოვქაჩავ თუ ჩავუჯდები თქო... აი რას ვამბობ 3x^2-7=5 ამას ფურცელზე გავაკეთებ უცბად კი ბატონო, პროგრამის ენაზე ვერ ვაკეთებ, პირველი პოსტი ვერ მეხმარება ამ საკითხში.. ანუ მიდგომა მინდა რა.. ასეთ განტოლებას რომ ვხედავ მერე საიდან ვიწყებთ?? NinjaRacer ეგ მაქვს სულ გახსნილი ერთ ტაბში და იასნია მანდ ვამოწმებ ყველაფერს და ვკითხულობ მენუალივით.. კი ეხლა ვუზივარ, მაგ ვიდეოს და CS50 ეხლა ვნახე რატომ არ შემხვდა აქამდე კარგია ძალიან, მადლობა. კიდევ pdf ვნახე და ნორმალურად მიყვება ტემპს.. პატარ პატარა კალკულაციებს ვაკეთებ, მე თვითონ ვამატებ რამე რუმეებს და ვაჩვევ ხელს ნელ ნელა გამოვა რაღაც იტოგში დავწერ ხოლმე და თუ შეძლებთ ვინმე ქართულად რომ ამიხსნათ მერე რამე კარგი იქნება.. პრიველი მაინც ეს მინდა.. import ის დროს საიდან ვხვდები რა მჭირდება |
Posted by: Definitely_Maybe 23 Jul 2019, 14:43 | ||||
C17H19NO3
დაწერ დისკრიმინანტის კოდს. თუ დისკრიმინანტი უარყოფითია > არ იხსნება განტოლება თუ 0 ის ტოლია მაშინ ერთი ამონახსნი აქვს. დაწერ შესაბამის კოდს. დააბრუნებ/ამობეჭდავ პასუხს. თუ 0ზე მეტია მაშინ 2 ამონახსნი აქვს. დაწერ შესაბამის კოდს. დააბრუნებ/ამობეჭდავ პასუხებს. ისე მართლა მარტივადაა პირველ გვერდზე დაღეჭილი. * * *
თუ კოდის წერისას გჭირდება მაგალითად მათემატიკური ოპერაციები, ფესვის ამოღება მაშინ ჩატვირთავ შესაბამის ფუნქციას from math import sqrt (ფესვის ამოღება) ან from math import * (მგონი ასე იწერება თუ ყველაფრის ჩატვირთვა გინდა) |
Posted by: C17H19NO3 23 Jul 2019, 16:33 | ||||
Definitely_Maybe
ხოდა ჩემი პრობლემა მათემატიკაშია და არა კოდში და პირველ გვერდზე ახსნაში \ ნუ ნელ ნელა ამოვქექავ ტვინს
კი ზუსტად ეს ვიკითხე, უბრალოდ არ ვიცი როდის რა უნდა მჭირდებოდეს.. ყველაფერი ერთად არ მინდა, ერთი რამე მითხარით სადაც წავიკითხავ ადამიანურად იმპორტის ამბებს.. https://docs.python.org/3/search.html?q=import აგერ თუნდაც საჩემოდ ვერ ვნახე საკმარისი ინფო |
Posted by: Definitely_Maybe 23 Jul 2019, 17:07 | ||
C17H19NO3 აქაა ყველა მოდულების ჩამონათვალი, თავისი აქხსნებით. რო დააჭერ კიდე ჩამონათვალია ყველა ფუნქციების თუ კლასების რაც ამ მოდულებშია. მეც დამწყები ვარ თუმა ცოტა სხვანაირად ვუდგები. თუ რაღაც ოპერაცია მჭირდება, მაგალითად დამჭირდა კონკრეტულ რიცხვებს შორის რენდომ ციფრი მიანიჭოს ცვლადს. დავგუგლე და ვნახე თუ რომელი მოდულიდან რა უნდა ჩავტვირთო და ეგაა https://docs.python.org/3/py-modindex.html
კი ეგ საჭიროა |
Posted by: Datvlas-vin-gtxovs 9 Jan 2020, 17:59 |
რამე სავარჯიშო გააძრე ადმინ ბიჭები შემოვლენ და ამოხსნას დაწერენ |
Posted by: აბიტურიენტი 9 Jan 2020, 18:46 | ||
კეპლერის მეთოდით ინტეგრალის მიახლოებითი მნიშვნელობა გამოთვალე. პირველ არგუმენტად გადაეცი ფუნქცია რომლის ინტეგრალსაც ვითვლით, შემდეგ ქვედა და ზედა ზღვრები. საკმარისად პატარა ინტერვალებისთვის https://wikimedia.org/api/rest_v1/media/math/render/svg/ff1e6d438c8e663ed8ab18d19b011371c24b3ac7 გამოიყენე. |
Posted by: Datvlas-vin-gtxovs 9 Jan 2020, 19:14 | ||
გაკვეთილების თემაა და იქნებ ვინმეს გამოგადგეთ გამეორებული რიცხვების წაშლა სიიდან (list)
|
Posted by: DoomDev 10 Jan 2020, 02:06 | ||||
Datvlas-vin-gtxovs
ისე filter,reduce,map ამ მეთოდების დახმარებით თუ ვინმე გააკეთებს საინტერესო იქნება |
Posted by: NinjaRacer 10 Jan 2020, 08:12 |
აუ რამდენი ხანია არაფერი დამიწერია პითონში. აი ჯანგოს რესტი როგორ მუშაობს. ტოესწ ობიექტების სერიალიზაცია. ადვილი ძალიან რო დაუკვირდე მთლიანი ფრეიმვორკი პრიმიტიულია ძალიან. https://www.django-rest-framework.org/api-guide/serializers/ |
Posted by: Datvlas-vin-gtxovs 10 Jan 2020, 11:31 |
NinjaRacer ჯანგო უფრო ჯავასკრიპია თუ PHP ? DoomDev filter,reduce,map თუ გავიგე, ვეცდები ახსნაც დავწერო |
Posted by: C17H19NO3 10 Jan 2020, 18:53 |
NinjaRacer რაღაც დამიწერე Kite ის მსგავსი და ვეღარ ვნახე ეგ პოსტი, Kite დავაყენე Sublime Text თან ინტერგირებულია, მაგრამ ხანდახან შუა მონაკვეთში მითიშავს ედიტორს * * * მათემატიკური ამბავ ია ალბათ ================================================== What is the result of this code? fib = {1: 1, 2: 1, 3: 2, 4: 3} print(fib.get(4, 0) + fib.get(7, 5)) ----------------------------------------------------------------- ახსნა: fib.get(4,0) will give 3. fib.get(7,5) will give 5 because 7 is not in dictionary. so result 3+5=8 ================================================== 5 საიდან მოვიდა?? |
Posted by: Datvlas-vin-gtxovs 11 Jan 2020, 10:56 |
C17H19NO3 მგონი ფიბონაჩის თემაა ყოველი მომდევნო რიცხვი მისი წინა ორი რიცხვის ჯამის ტოლია |
Posted by: _wol_ 11 Jan 2020, 13:15 | ||||
შეცდომაა ალბათ Datvlas-vin-gtxovs
Python-ია მთლიანად თუმცა ჯავასკიპტის გამოყენებაც შეგიძლია |
Posted by: DoomDev 11 Jan 2020, 23:33 | ||
ეხლა გადავხედე მაგ მეთოდს სწორად აბრუნებს 5 -ს პირველ პარამეტრად იღებს key ს ანუ 7 ს მსგავსი key არ არის მაგ dictionary-ში და აბრუნებს 5 ეგრედწოდებული დეფაულტ ვალიუსავით არის რა თუ ვერ იპოვა key დააბრუნებს მეორე პარამეტრად რაც აქვს თუ მარტო key აქვს და ვერ მოძებნა მსგავსი key დააბრუნებს None ს |
Posted by: Datvlas-vin-gtxovs 13 Jan 2020, 10:07 | ||
-> None: რას აკეთებს? |
Posted by: DoomDev 15 Jan 2020, 03:23 |
Datvlas-vin-gtxovs ერთ-ერთი data type არის სხვა ენებს თუ იცნობ მაგალითად ჯს იგივეა რაც null |
Posted by: NinjaRacer 15 Jan 2020, 03:42 |
Datvlas-vin-gtxovs ტაიპსკრიპტიც ისწავლე. ტაიპსკრიპტი გავს ჯავასკრიპტს მაგრამ დატას განსაზღვრავ წინასწარ. პითონს არ აქვს ეგ აქვს ანოტაციები რომელიც უბრალოდ სიტაქსური მარილია(სინტაქს შუგა) ამას უბრალოდ რომ მიყვე მზა კლასებს იყენებ და გამობდის პეისტბინ.ქომის მსგავსი რაღარაც. შეგიძლია პითონის კოდი ჩააპეისტო და მერე წამოიღო. https://www.django-rest-framework.org/tutorial/1-serialization/ კარგი იქნებოდა ჯანგოსთან მემუშავა. ჯავასკრიპტიც პითონიც ჯანგოც ფლასკიც და უდუუც უბრალოდ საინტერესო იყო და გავერთესავით ცოტა. საინტერესო იყო უბრალოდ. მე მგონი ანგულარიც ტაიპსკრიპტზეა აგებული. არასდროს მქონია შეხება რაღაც მზა პროექტი მომცეს უნდა ამეწია სევერზე უბრალოდ და ეგიყო. ანგულართან არ მქონია შეხება. თან კომპილირდება და თუ რამე რანთაიმერორია არც გაეშვება ამიტო ადვილი მასზე მუშაობა. ნოუდზე კიდე თითქმის არასდროს არ მუშაობს NPM-ით წამოღებული რაღაცეები თან არაცაა უსაფრთხო. ვისააც რაუნდა ის შეუძლია შეტენოს დიპენდენსიში. https://www.typescr1ptlang.org/docs/handbook/typescr1pt-in-5-minutes.html + კლასების და პუბლიქ პრავეტ ინტერფეისების მხარდაჭერაცააქვს. ჯავას პონტში. ინტერფეისებიც სიშარპივით. მოკლედ ფრანკენშტეინაა. სწავლა ღირს ნამდვილად. ამდენი რო ვიბოდიალე არცერთი არ ვიცი სრულყოფილად. მაგრამ ჩემთვის ეგ ტრაგედი არაა. პითონი მაინც ყველას მირჩევნია მივაწვეთ პითონს |
Posted by: Datvlas-vin-gtxovs 15 Jan 2020, 10:52 | ||||||||||
DoomDev
გასაგებია მარა რატო ეს
და არა ეს
NinjaRacer Machine Learning მინდა მარა ჯერ შორია ტოტენჰემივით ვარ როცა არც კარგი ხარ და არც ცუდი ეხლა რაღაც ელემენტარულ თამაშებს ვწერ 'პროექტებს' პითონი ჩვენი არსობისა |
Posted by: DoomDev 15 Jan 2020, 13:08 |
Datvlas-vin-gtxovs typed ენებთან არ გქონია საერთოდ შეხება? ეგ signature ამბობს რომ ფუნქცია იღებს ერთ არგუმენტს letters -ს და მისი დატა თაიფი უნდა იყოს List თუ სხვა თაიფის დატას გადასცემ დაგაერორებს და -> None ნიშნავს რომ შეიძლება ეგ თაიპ დააბრუნოს თუ არ ვცდები კარგად არ ვიცნობ პითონცებს თაიფსქრიპტში იგივე იქნება -> void რაც ნიშნავს რომ შეიძლება nებისმიერი ტიპი დააბრუნოს და ფუნქციას აქვს side effect ი(უფრო კომპეტენტური გეტყვის ალბათ) თაიფედ ენების აზრიც ეგ არის თაიფსკრიპტი ახსენეთ ზევით უბრალოდე ხელსაწყოა რა და სინტაქსი კომპილერი გაიძულებს სწორი კოდი წერო ბოლოს ისევ ჯავასკრიპტში გადაკატავდება ეგ კოდი იგივეა elm ი ეგეც ტაიპედ ენაა და ჯს ში კომპილირდება იგივე clojure ფრონტზე ჯა ში კომპილირდება ფრონტე ძირითადად ეგრეა რა ჯს ბევრი ხარვეზი აქვს ყველა თანხმდება მაგრამ არსებობს უამრავი ენა რომელიც ამის გამოსწორების საშუალებას იძლევა რაც ზევით ვახსენე და კიდე არის უამრავი ენები ფრონტს თუ მიყვები sveltejs ზე მიდი მომავალია მაგრად დაუბაბანა სხვა ფრეიმვორკებს სორი offtopic ისთვის |
Posted by: Datvlas-vin-gtxovs 15 Jan 2020, 22:46 |
კაი ჯიგრული 9 სავარჯიშო https://codingbat.com/python/Warmup-2 DoomDev |
Posted by: Datvlas-vin-gtxovs 22 Jan 2020, 12:39 |
პითონცი Try და Except ს აქ რამე პრაქტიკული გამოყენება? მგონი უბრალოდ შეცდომის ახსნაა და მეტი არაფერი |
Posted by: Definitely_Maybe 23 Jan 2020, 15:14 |
Datvlas-vin-gtxovs თუ გინიდა input -ით მომხმარებლისგან მიიღო მხოლოდ ციფრები, except ში დააყენებ რომ სტრინგის შემთხვევაში პროგრამამ რაღაც რეაგირება მოახდინოს. შედეგად პროგრამა ერორს არ ამოაგდებს. მე ასე მივხვდი |
Posted by: Lilith 24 Jan 2020, 07:01 |
გუშინ გადავაწყდი ამ ვიდეოს, არადა საკმაოდ ძველია და რაღაცეები აღარაა ისე როგორც ვიდეოში ხსნის, მაგრამ მაინც ღირს საყურებლად როგორც იტყვიან ხოლმე - highly recommended |
Posted by: Definitely_Maybe 25 Jan 2020, 00:16 |
Lilith მადლობა საჭირო ვიდეოა. ვისიამოვნე. ჩემი მოუცლელობიდან გამომდინარე უკვე მე-3 ჩავუჯექი პითონს და ამჯერად ვაპირებ გავიდე ბოლომდე და არ შევეშვა. ყოველ ჯერზე ეს ობიექტები მიშ₾ის ნერვებს. ბოლომდე ვერ გავიაზრე და დაზეპირება არ მინდა. უფრო ეს ინგლისური ტერმინები მირევს. instance of a class. method. კიდე ეს ინიტ კონსტრუქტორი. ინტუიციით კი ვხვდები მაგრამ კარგი ახსნა სადმე ჰომ არ მოგეპოვებათ? მადლობა. ბევრი მეუბნება გაატარე ნელ ნელა დაამუღამებო მაგრამ მე მირჩევნია ბოლომდე გავშიფრო რა რას აკეთებს, არ მიყვარს გაუგებრობაში ყოფნა |
Posted by: Lilith 25 Jan 2020, 00:34 |
Definitely_Maybe ეგ ზოგადად OOP (Object Oriented Programming) თემაა, მთლად პითონს ნუ დაუკავშირებ. აგერ ამ ვიდეოებს უყურე, ბევრი არაა და ძალიან გასაგებადაა მაგალითების(პითონზე) დონეზე ახსნილი: ნაწილი I » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « ნაწილი II » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « ნაწილი III » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « ნაწილი IV » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « ნაწილი V » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « ნაწილი VI » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « ესეც ბონუსი » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « |
Posted by: Definitely_Maybe 25 Jan 2020, 12:51 |
Lilith მადლობა. II ნაწილზე ცოტა გავჭედე. დავუბრუნდები კიდევ ბონუსმა გაასწორა |
Posted by: პითონი 31 Mar 2020, 11:27 |
age1 = 12 age2 = 18 age1%age2 12 age2%age1 6 ეს ვერ გავიგე... ანუ ეს % რას შვრება? |
Posted by: Definitely_Maybe 31 Mar 2020, 11:52 | ||
პითონი
ეგ აბრუნებს ნაშთს. როდესაც 18%12 -ზე ნაშთი არის 6. მაგრამ 12%18 ის შემთხვევაში რადგან 12<18 ამიტომ აბრუნდებს 12-ს. |
Posted by: პითონი 31 Mar 2020, 13:26 |
Definitely_Maybe გასაგებია. მადლობა დიდი |
Posted by: Svani91 5 Apr 2020, 07:32 |
|
Posted by: Freestyle 14 Apr 2020, 15:13 |
Svani91 კარგად ხსნის რაღაცეებს მაგრამ ზოგში ძაან ავიჭერი, ალბათ ცემი ინგლისურის ბრალია |
Posted by: Svani91 15 Apr 2020, 03:37 |
დაწერე რაში და ერთად გავარჩიოთ |
Posted by: CheshireCatt 7 Jun 2020, 11:08 |
სადღესასწაულო ცენტრის აქცია მდგომარეობს შემდეგში: 29%-იანი ფასდაკლებით სარგებლობს მომხმარებელი, რომელსაც 29 თებერვალს შეუსრულდა 29 წელი (ოქროს დაბადების დღე). დაწერეთ პროგრამა, რომელიც კლავიატურიდან მითითებული თარიღისთვის, განსაზღვრავს ეკუთვნის თუ არა ფასდაკლება კონკრეტულ მომხმარებელს. რას იტყვით? |
Posted by: Definitely_Maybe 7 Jun 2020, 16:22 | ||
CheshireCatt ინებე
|
Posted by: CheshireCatt 7 Jun 2020, 21:23 |
Definitely_Maybe ხოო ასე გაცილებით ჭკვიანურია, გაიხარე <3 * * * ა) შექმენით ექიმის კლასი, რომელიც შეიცავს დაფარულ ველებს: პირად ნომერს და დაბადების თარიღს, ხოლო ღია ველებია: გვარი, სახელი, სქესი, ექიმის ასაკი (გამოითვლება დაბადების თარიღის მიხედვით), განყოფილების დასახელება, თანამდებობა, საავადმყოფოს დასახელება, სამუშაო სტაჟი. ბ) გადატვირთეთ __str__ მეთოდი. ამაზე რას იტყვით? ღია/დაფარული ველების განმარტებასაც თუ მოაყოლებთ მთლად უკეთესი |
Posted by: Definitely_Maybe 8 Jun 2020, 10:14 |
CheshireCatt საიდან ეს დავალებები? მოვიცლი და გადავხედავ ობიექტებს, გახსენება მინდა ქართულ ტერმინებში ვერ ვერკვევი. ისე არ უნდა იყოს რთული. |
Posted by: Dirac 15 Jun 2020, 19:36 | ||
ღია და დაფარული ალბათ public და private არის. პითონში ყველაფერი არის public. ამიტომ ეს დავალება უაზრობაა. მიღებულია რომ თუ ცვლადი private-ად მიგაჩნია, წინ_ დაუწერო, მაგალითად self._tanamdeboba მაგრამ კლასის გარედან ამაზე წვდომა მაინც გაქვს და სინამდვილეში არაა private. |
Posted by: Definitely_Maybe 16 Jun 2020, 16:49 | ||
Dirac https://www.tutorialsteacher.com/python/private-and-protected-access-modifiers-in-python?fbclid=IwAR2Ww61Ndz9xZY4zLsNjJDrmyV2-ZtbHfTlh09WwCOs-_57l-SOOAR2qizQ თუ ამ სტატიას დავუჯერებთ _ ნიშნავს დაცულს, და __ ნიშნავს დახურულს. თუმცა პირველად გავიგე არსად შემხვედრია ჯერ.
|
Posted by: ტყნაჩო 16 Jun 2020, 16:59 |
Python-ის სწავლა 0-დან : Definitely_Maybe |
Posted by: Definitely_Maybe 16 Jun 2020, 19:54 |
ტყნაჩო ?................................................... |
Posted by: Datvlas-vin-gtxovs 30 Jun 2020, 14:38 |
Machine Learning ს ვინ სწავლობთ? რამე ცოდნა გაგვიზიარეთ |
Posted by: CooL_ 11 Jul 2020, 11:03 |
პითონი რა ენაა ან რაში გამოიყენება საერთოდ, ჯავასკრიპტს გავს ხო რაღაც? C#, javascr1pt და Html/css ის სწავლის პროცესში ვარ(მგონი დავამთავრე უკვე) და ვფიქრობ შემდეგში რა ვისწავლო |
Posted by: Dirac 16 Jul 2020, 20:06 |
CooL_ პითონი რა ენაა და უმაგრესი ენაა. ჯავასკრიპტი არ ვიცი, მაგრამ პითონის სინტაქსი არის უმარტივესი, თითქოს ფსევდოკოდია. გამოიყენება ყველაფერში. მე ადრე ფიზიკაში ვიყენებდი, ახლა ფინანსებში და მაშინ ლერნინგში. ვებშიც გამოიყენება. მონაცემებთან მუშაობისთვის, სტატისტიკური ანალიზისთვის ნომერ პირველი ენაა. ერთადერთი ნაკლი აქვს რომ ნელია, მაგრამ ეგ დიდი პრობლემა არაა თუ სწორად იყენებ. მაგალითად მაშინ ლენრინგის ბიბლიოთეკების რთულად დასათვლელი ნაწილი დაწერილია C++ში. პითონი გამოიყენება როგორც ინტერფეისი. პითონში აგებ ნიურალ ნეთვორკს, იძახებ ბიბლიოთეკებს და მთლიანობაში ძალიან სწრაფი გამოდის. |
Posted by: CooL_ 19 Jul 2020, 02:30 |
Dirac მადლობა ვრცელი ახსნისთვის ანუ ღირს სწავლა, ჯერ C++ მინდა ვისწავლო და პითონს მერე ჩავუჯდები )) |
Posted by: Dirac 7 Sep 2020, 03:56 |
კაი ვიდეოა გენერატორზე |
Posted by: GeorgeSword 15 Oct 2020, 17:23 | ||
ვერ ვაინსტალირებ ჩემს მაკზე იმიჯი დაზიანებულიაო მიწერს გახსნას როცა ვცდილობ ვერავინ დამეხმარებით pycharm ის ინსტალაციაში? |
Posted by: გიორგი XII 15 Oct 2020, 18:00 | ||
დასაქმებისთვის ნაკლებად |
Posted by: Lilith 15 Oct 2020, 19:28 |
GeorgeSword მაკი არასოდეს მქონია აი ეს ვიდეო ვიპოვე უცბად, იქნებ დაგეხმაროს რამეში |
Posted by: GeorgeSword 15 Oct 2020, 21:15 |
Lilith მადლობა გამოხმაურებისთვის გადმოწერილ dmg ფაილს საერთოდ ვერ ხსნის, დაზიანებულიაო მიწერს არადა ოფიციალური საიტიდან ვიწერ აზრზე არ ვარ მუშა ფაილი როგორ დავითრიო რომელსაც გახსნის პაითონის ტუტორიალებს ჩავუჯექი, დაინტერესებული ვარ და სავარჯიშოდ მინდოდა ჩემთვის ძაან კაი თემაა რისპექტ |
Posted by: გიორგი XII 15 Oct 2020, 21:32 | ||
GeorgeSword
safe mode თი ჩატვირთე აბა OS და ისე ცადე გახსნა. სიერას ჩვევია ეგეთი პრობლემები, თუ არ ქნა ბოლო გაჩერეება რეინსტალია OS_ის. |
Posted by: GeorgeSword 15 Oct 2020, 22:02 |
გიორგი XII yosemite მაქვს :დ ვინდოუსს ვიყენებდი ხოლმე სამსახურის საქმეებზე, მაკი სახლისთვის მქონდა ფილმები და ნეტში ბრაუზინგი, სერიოზულად არასოდეს გამომიყენებია დაჟე ეკლიპსიც ვცადე , კი დავაინსტალირე მაგრამ გახსნით ვერ გავხსენი, virtual java პრობლემა ამოაგდო მერე ჯავაც (ვერსია 15 მგონი) დავააფდეითე მაინც ვერ გახსნა პაითონის ფორუმზე ერთი წერდა ბოლო ვერსია წაშალეთ და რაღაცა 8 ნომერი ჯავა დააყენეთო და გახსნისო მაგ 8 ნომერი ჯავას გასახსნელად ორაკლმა მომთხოვა ავტორიზაცია უკვე, მაშინ როცა 15 ვერსიაზე არ მოუთხოვია და მოკლედ ასე რა ყველა ფეხის ნაბიჯზე დაბრკოლებები დამხვდა :დ pycharm ის მსგავსი რამე კარგი IDE ხომ არ გეგულებათ იქნებ ის დავაინსტალირო მაკზე? ეკლიპსის გარდა სპაიდერი ვცადო ვითომ? თუ ეგ ძაან advanced დეველოპერებისთვისაა? |
Posted by: გიორგი XII 15 Oct 2020, 22:17 |
GeorgeSword მე გირჩევ რომ MS Code დააყენო ექსტენშენს დააყენებ და ინტერპრეტერსაც უამრავი ექსტენშენები აქვს ძალიან მაგარი რამეა ეს გამოიყენე სახელმძღვანელოდ: |
Posted by: GeorgeSword 15 Oct 2020, 22:56 |
გიორგი XII ოკეეი MS code არის IDE? აზრზე არ ვარ, პირველად მაქვს შეხება :დ |
Posted by: dinamosfan 15 Oct 2020, 23:05 |
კაი თემაა წარმატებები ყველას მაგრამ ვინც აზრზე არაა პროგრამირების იმისათვის წარმოუდგენელია ისწავლოს რას წერთ ან რატო ან რა არის )) ან რომ დაწერ რა გამოდის |
Posted by: გიორგი XII 15 Oct 2020, 23:05 | ||
GeorgeSword
Visual studio არის ფულლ IDE ლინკი : https://visualstudio.microsoft.com/ ძალიან ძლიერი სოფტია, (ნებისმიერი სინტაქსზე შეგიძლია იმუშავო მათ შორის pythonზე.) community ვერსია აქვს მხოლოდ უფასო და ასევე არის ექსკლუზიურად ვინდოუსისთვის. .NET Framework ში სამუშაოდ არის შექმნილი. Azure . ASP.NET და სხვადასხვა პლატფორმებზე პროექტებს ასაწყობად. Visual Studio code ანუ რაც გითხარი ეგ არის უფრო code editor და ასევე დებაგერი. კოდის კოფმორტულად საწერად და დებაგინგისთვის 2020წელს შეუდარებელი ედითორია. შეგიძლია ჩააშენო უამრავი ექსთენშენი რაც ძალიან აადვილებს მუშაობის პროცესს. |
Posted by: GeorgeSword 15 Oct 2020, 23:37 | ||
გიორგი XII
ხო ძაან მაგარი რამე ჩანს დავაინსტალირე , ექსტენშენებშიც პაითონი დავამატე მაგრამ ცოტა დავიბენი , სავარჯიშო კოდის დაწერა მინდა და გაშვება და შემდეგი ნაბიჯი რა უნდა გავაკეთო პაითონში სამუშაოდ ? პაითონ 3 იც დაყენებული მაქვს მაკი მაქვს თან რაც ალბათ ართულებს ხომ? აჰა, მაკზე აცრილია როგორც ვვარაუდობდი |
Posted by: გიორგი XII 16 Oct 2020, 13:41 |
GeorgeSword რა მალე ნებდები კაცოოუ სხვა ინტერპრეტერი გამოიყენე და ეგაა. ტერმინალში გადადი და მანდ მიხვდები ასარჩევადაა 10 წუთიდან ნახე ინტერპრეტერი არის რითიც შენი დაწერილი კოდი outputs აკეთებს |
Posted by: Dirac 16 Oct 2020, 15:37 |
ვიჟუალ სტუდიო არის უშველებელი ნაგავი. სამსახურში მიწევს ყოველდღიურად გამოყენება. პატიოსანი ხალხი იყენებს ატომს (დამწყებები), იმაქსს (ჭკვიანი ხალხი რომლებსაც თითების გაწელვა პიანისტებივით შეუძლიათ), ვიმს (ჭკვიანი ხალხი რომლებმაც იმაქსზე ბეჭდვისას თითები მოიტეხეს). |
Posted by: GeorgeSword 16 Oct 2020, 17:14 |
გიორგი XII ვინდოუსზე დავაყენე pycharm ბოლოს და მუშაობს დამტანჯა მაკმა :დ მერე მაკზეც ვიზამ რამეს, ჯერ სავარჯიშოდ მინდა მაინც * * * დამწყებებისთვის მშვენიერი ლექციათა კურსია ვეცნობი ნელნელა |
Posted by: გიორგი XII 16 Oct 2020, 17:31 |
GeorgeSword შენ პონტში სწავლობ თუ მუშაობა გინდა? |
Posted by: GeorgeSword 16 Oct 2020, 20:17 | ||
გიორგი XII
პრინციპში ორივე phd ხარისხი მაქვს ფიზიკაში და პოსტდოკის ვაკანსიაზე ძაან გამომადგება პაითონი კონკურენციის ამბავში , ექსპერიმენტული მონაცემების დამუშავებისთვის და არამარტო, მშვენიერი კოდების დაწერა შეიძლება გარდა ამისა თუ ძაან შევედი მუღამში და ალღო ავუღე დამოუკიდებელ დეველოპერადაც შეიძლება მომავალში გააჩნია მოკლედ, როდესმე უნდა დამეწყო და მეც დავიწყე სჯობს გვიან ვიდრე არასდროს |
Posted by: Lilith 16 Oct 2020, 20:36 |
სამომავლოდ თუკი ვინმეს გაუჭირდება ლოკალურად პითონის გამართვა თავის IDE-თი შეუძლია ონლაინ წეროს კოდი, პატარა მაგალითებისთვის IDE-ალური ვარიანტია https://repl.it/languages/python3 GeorgeSword წარმატებები, რაიმე საინტერესო ამოცანები თუ გექნება გაგვიზიარე, ერთად გავარჩიოთ |
Posted by: GeorgeSword 16 Oct 2020, 20:53 | ||
გიორგი XII
ვცადე და მაკზეც გამომივიდა ვიჟუალ სტუდიო pycharm ვერ დავაყენე მხოლოდ Lilith მადლობა ჯერ მაგ ლეველამდე მივიდე საამოცანოდ რომ მქონდეს საქმე და დავდებ აუცილებლად :დ |
Posted by: Dirac 17 Oct 2020, 00:08 | ||||
მაკზე მე brew-თი ჩავწერდი პითონს, მაგრამ anaconda უფრო ადვილია. ასევე გჭირდება pip პაკიჯების დასამატებლად, ალბათ ანაკონდას მოყვება. მერე ქმნი virtual enviroment-ს, ძალიან მნიშვნელოვანია და არ უნდა გამოტოვო. ვირტუალურ ენვაიერმენთს ქმნი ტერმინალზე conda create --name myenv ააქტიურებ conda activate myenv. სანამ პიპით რამეს ჩაწერ, ყოველთვის გააქტიურე ენვაიერმენთი რომელშიც გინდა ჩაწერა. პაიჩარმის გახსნის მერე ქმნი პროექტს. File-> New Project მანდვე Project Interpreter, რომელშიც უთითებ შენი ენვაერემენთის პათს. Project Interpreter-ის ბოლოში აჭერ ხრახნილს, გამოხტება ახალი ფანჯარა და უთითებ base interpreter-ს, მაგრამ ეს ბოლო არ მახსოვს საჭიროა თუ არა. შეიძლება ავტომატურად ხდება. კიდე, პატარა პროექტებისთვის და ნოუთბუკების შესაქმნელად, ეს ძალიან კარგია. https://colab.research.google.com/ |
Posted by: GeorgeSword 17 Oct 2020, 10:26 | ||
Dirac
პაიჩარმს საერთოდ ვერ ვხსნი გადმოწერის მერე დაზიანებულიაო მიწერს არადა ვინდოუსზე თავისუფლად დავაინსტალირე და პაითონშიც დავიწყე ვარჯიში მაკი არის სისხლის გასაშრობად მოგონილი ) |
Posted by: გიორგი XII 17 Oct 2020, 16:07 |
GeorgeSword წარმატებები შენთვის არ უნდა იყოს პრობლემა არაფერი |
Posted by: Datvlas-vin-gtxovs 18 Oct 2020, 12:11 | ||
მახსოვს, ერთერთი პირველი დავალება იყო კალკულატორის დაწერა |
Posted by: lepori 18 Oct 2020, 14:42 |
GeorgeSword ჩემი აზრით, შეთვის ოპტიმალური დასაწყისია>> Matplotlib ორიჯინში და მათლაბში რა გრაფიკიც ამიგია, ავდექი და მოცალეობის ჟამს პითონში ავაგე მერე ავტომატურად გიწევს ნამფაი, საიფაი და ეგეთების დაძახებაც ფიტირებები და რამე >> თავისთავდ თან იმას აკეთებ რაც იცი, თან გარემოსაც ეჩვევი, ენასაც და რო რამე უცებ დაისწავლი სხვა რამეებსაც |
Posted by: GeorgeSword 18 Oct 2020, 16:30 | ||
გიორგი XII მადლობა დავრწმუნდი რომ ჩემით თუ არ ვისწავლე კურსებს აზრი არ აქვს მაინც ძირითადი ბაზისი უნდა გავიარო რაც უფასოდაა ნეტში ტუტორიალების სახით მერე ალბათ შეიძლება უკვე პროფესიონალურ დონეზე კურსების გავლა როვა ბაზისი მექნება lepori
ეს პაითონის ბიბლიოთეკაა ხომ? სპეც ფუნქციებით ალბათ გრაფიკებისთვის და აშ? დატა ფაილების იმპორტი და მერე დამუშავებას უნდა ჩავუჯდე იქამდე ბაზისურ რაღაცეებს ვამუღამებ, ანი ბანის დონეზე, ფუნქციები, ცვლადები , ლისტები ,ციკლები და აშ რის გარეშეც წარმოუდგენელია ნაბიჯის გადადგმა პაითონში და ზოგადად პროგრამირებაში |
Posted by: lepori 18 Oct 2020, 19:16 | ||||
GeorgeSword
მატლაბში თუ გიმუშავია მსგავს რამეებზე ადვილად გადაეწყობი
აგი თავისთავად .. |
Posted by: GeorgeSword 18 Oct 2020, 22:09 | ||
lepori
ძაან ლაითად მიმუშავია ორიჯინში ვაკეთებდი ძირითადად :დ ნუ აი სამუშაოს სპეციფიკიდან გსმომდინარე, არ მქონია შეხება ერთდროულად ასობით და ათასობით მონაცემებთან, გარდა ბიმთაიმებისა რა დროსაც პაითონის კოდს ვიყენებდით რომელიც სხვისი დაწერილი იყო და უბრალოდ ამ კოდის უზერი ვიყავი მე :დ ბიჭო წარმოიდგინე ფიზიკოსი რომ ხარ და კარგი პროგრამისტი ერთდროულად , იმენა კანფეტია, შანსი არაა რამე მაგარ სამსახურს ვერ გაარტყა :დ |
Posted by: გიორგი XII 18 Oct 2020, 22:34 | ||
10 000+ თვეში |
Posted by: lepori 19 Oct 2020, 10:36 | ||
GeorgeSword
მეც ბიმთაიმებმა მიმაბრუნეს მატლაბისკენ, ჩემს ბიმლაინზე მატლაბს იყენებდნენ თურე ისე ორიჯინს არ გავცდებოდი |
Posted by: C17H19NO3 19 Oct 2020, 11:44 | ||
თქვენ გახარებას ეს პითონზე შეგიძლიათ დამიწეროთ? |
Posted by: GeorgeSword 19 Oct 2020, 11:57 | ||||
აჰა აი ერთი ამოცანა მომივიდა თავში, და განვიხილოთ მოკლედ გვაქვს რაღაც ტექსტი :
ამოცანა მდგომარეობს შემდეგში, ტექსტის აკრეფვის პროცესში შეიძლება დაგვჭირდეს ახალი ციტირებების მოყვანა მაგალითად სადღაც შუაში ან ნებისმიერ ადგილას, ამ შემთხვევაში შუაში გავაკეთებ უფრო თვალსაჩინო რომ იყოს , მინდა პაითონის ისეთი კოდი რომელიც ამოიცნობს [] კვადრატულ ფრჩხილებში მოთავსებულ ნომერს და ავტომატურად გადანომრავს ზრდადობით 1 და 11 მდე უკვე, ასევე ბიბლიოგრაფიაში დაამატოს და იქაც გადანომროს როგორც ეს ქვემოთაა საბოლოო შედეგში :
თუ ძაან საჩალიჩოა, ბიბილიოგრაფიამდე რაც წერია მხოლოდ იქ რომ გადანომროს ახალი სტატიები [] -ში მოთავსებული ნომრების მიხედვით , ანუ ბიბლიოგრაფიაში გადანომრვის და ახალი სიმბოლოს ჩამატების გარეშე, მგონი ეს უფრო მარტივი მაგალითი იქნება გასარჩევად იმედია გასაგებად ავხსენი ამოცანის არსი მინიშნებებს მაინც თუ დაწერთ მაგ. რა მეთოდებია საჭირო ვფიქრობ საინტერესო ამოცანა გამოვა თანაც პრაქტიკაშიც გამოყენებადია ტექსტებზე მუშაობისას |
Posted by: არწივი9 19 Oct 2020, 18:01 |
გაუმარჯოს ხალხს მე Python-ის შესწავლა ერთი წლის წინ დავიწყე, ვიდეოგაკვეთილებით, წიგნებით, ლექციებსაც ვესწრებოდი თავისუფალი მსმენელის რანგში და ცოტათ აზრზე მოვედი და აი ახლა განვაახლე. მე რაკი პროგრამისტი არ ვარ ამიტომ ამ ენის შესწავლა მჭირდება გარკვეული მიზნისათვის მხოლოდ (გამოთვლითი ნეირომეცნიერება). აი ამწამს ასეთი შეკითხვა მაქვს: ვწერთ ასეთ რამეს: 'kai nu gaaxure'.split() და გამოდის ასეთი რამე: ['kai', 'nu', 'gaaxure'] ანუ ჯერ ტექსტი დავწერეთ 'kai nu gaaxure' და მერე ოპერატორი split მივუწერეთ და გამოვიდა შედეგი, ეს გავიგე. ახლა ამას რომ ვწერ: ', '.join(['aeee', 'uiiiiiii', 'ooooooh']) ეს შეაერთებს ამეებს და გამოდის: 'aeee, uiiiiiii, ooooooh' ჩემი შეკითხვა ისაა რომ პირველ შემთხვევაში რატომ იწერება ჯერ დასამუშავებელი ტექსტი და მერე ოპერატორი (თუ რაცაა) და მეორეში პირიქით რატომაა? სადაა ლოგიკა? მოქმედების თანამიმდევრობა ამ ენას როგორი აქვს ასეთ შემთხვევებში? მე თვითოეული ფუნქციის/ოპერატორის შემთხვევაში ზეპირად უნდა დავიმახსოვრო რომელი სად იწერება და რა თანამიმდევრობით? ცოტა მოუხერხებელია |
Posted by: Dirac 20 Oct 2020, 01:17 | ||
არწივი9 ელემენტარულია ვატსონ. სპლითიც და ჯოინიც არის სტრინგის ფუნქცია. მარცნივ უნდა იყოს სტრინგი, მარჯვნივ სტრინგი ან სხვა რამე. პირველ შემთხვევაშიც და მეორეშიც მარცხნივ არის სტრინგი. '.' ესე სტრინგია. პირველ შემთხვევაში მარჯვნივაც სტრინგია, მაგრამ მეორე შემთხვევაში სტრინგების ლისტი. უფრო წესიერად გაიგო, უნდა ნახო როგორ მუშაობს კლასი. დაახლოებით ასეთი რაღაცა იქნება
self არის მაცხვინ მდებარე სტრინგი. სტრინგების ლისტი მარცხნივ ვერ იქნება, იმიტომ რომ ლისტი სტრინგი არაა. |
Posted by: GeorgeSword 22 Oct 2020, 13:56 |
ჩემს ამოცანაზე რაღაც მიმართულება მაინც მსტყორცნეთ , რაღაც სინტაქსი დანარჩენს ვეცდები ვიდეო ტუტორიალებში აღმოვაჩინო ანუ მინდა ისეთი ალგორითმი სადაც ტექსტში "[int]" - იპოვის ამ სტრინგს, როგორც ობიექტს, ხოლო ამ ობიექტის ქვე-ობიექტად წაიკითხავს მთელ int რიცხვს მასში და დაალაგებს ამ რიცხვს ზრდადობით ყველგან ტექსტში რაღაც დისკუსიის დონეზე იქნებ წამოვწიოთ ეს ამოცანა |
Posted by: Dirac 22 Oct 2020, 21:45 |
GeorgeSword regex ნახე import re |
Posted by: GeorgeSword 23 Oct 2020, 00:01 | ||
Dirac
ოკ ............................................. |
Posted by: Liebermann 24 Oct 2020, 13:45 |
საინტერესოა, ჩავუჯდები |
Posted by: GeorgeSword 25 Oct 2020, 15:36 | ||||
რაც მე ამაზე ვიჩალიჩე :დ, ეჭვი მაქვს უფრო გამარტივებაც შეიძლება მაგრამ მთავარია მუშაობს წვალებაში საკმაოდ ბევრს სწავლობს ისე ადამიანი და ასწორებს მოკლე რეზიუმე ამ ალგორითმის შესახებ : გახსნის txt ფაილს და ტექსტში მყოფ [2] კვადრატულ ფრჩხილებში მოთავსებულ ციფრებს გამოიტანს მაგ: [2] , ასევე თუ მძიმითაა გამოყოფილი მაგ: [1,23] ასევე გამოიტანს იგივე პრინციპით [1,23] დანარჩენ ციფრებს დააიგნორებს რაც კვადრატული ფრჩხილების მიღმაა. მაქსიმუმ 3 ნიშნა ციფრები ავიღე [] ფრჩხილებში, ანუ სულ შესაძლო 12 კომბინაცია დგება: 1 ნიშნა ციფრი -[7] (ციფრი 7 პირობითადაა აღებული ყველგან, ცხადი რომ იყოს უფრო) 2 ნიშნა ციფრი -[77] 3 ნიშნა ციფრი - [777] + ასევე შესაძლო კომბინაციები იმ შემთხვევაში თუ მძიმითაა გამოყოფილი ეს ციფრები კვადრატულ ფრჩხილებში: 1-1 - [7,7] 1-2 - [7,77] 1-3 - [7,777] 2-1 - [77,7] 2-2 და აშ 2-3 3-1 3-2 3-3 ვისაც სტატიებთან ან ნაშრომებთან ქონია შეხება მიხვდება რომ ეს ალგორითმი ვიტყოდი რომ საკმაოდ პრაქტიკულიც კი შეიძლება გამოდგეს , ანუ რეალურ ამოცანაზეა დაფუძნებული ვინც წერს სტატიებს , მონოგრაფიებს და აშ მთავარია ალგორითმი უკვე აღიქვამს მხოლოდ და მხოლოდ იმ ციფრებს რომელიც კვადრატულ [ ] ფრჩხილებში არის მოთავსებული ახლა ჩემი შემდეგი მიზანია და ამოცანაა რამენაირად ეს სტრინგი-ციფრები მთელ რიცხვებად ვაქციო და ზრდადობით დავალაგო ტექსტში და ეგაა * * *
ან ასეც შეიძლება სავარჯიშოდ, ნებისმიერი ტექსტი რომ ჩავსვათ კოდი მუშაობს და კვადრატული ფრჩხილების მიღმა ციფრებს აიგნორებს , დამატჩავს მხოლოდ მის შიფნით ციფრებს და თუ მძიმითაა გამოყოფილი მათაც დამატჩავს |
Posted by: Datvlas-vin-gtxovs 5 Nov 2020, 08:08 | ||
ფაქტორიალების ჯამი
|
Posted by: GeorgeSword 9 Jul 2021, 10:47 |
ეს თემა ამოვწიოთ ............ |
Posted by: Dirac 12 Jul 2021, 06:14 |
დამწყებ პითონისტებს ვურჩევ სპაიდერი გამოიყენონ. ბევრი წვალება არ უნდა, პირდაპირ გამზადებულია ყველაფერი. მათლაბი ან R Studio-ს მსგავსია. ჯუპიტერ ნოუთბუკის პლაგინიც აქვს. |
Posted by: lepori 17 Jul 2021, 08:45 | ||||
სპაიდერ ვცადე და ვერ დავუმუღამე პაიჩარმს უფრო მივეჩვიე არადა, მატლაბის გამოცდილებით თითქოს უფრო უნდა მომერგო შეიძლება მაშინ ძაან დამწყები ვიყავი და იმიტომ ახლა რო ვცადო ალბათ უფრო გავერკვევი ისე, რამე განსაკურთრებული უპირატესობა აქვს თუ რატომ გვირჩევ სპაიდერს? * * * GeorgeSword
რას შვები, დაამხეცე პითონი? მე პერიოდებში ჩავარდნები მაქვს ხოლმე, და რო მოვუბრუნდები თავიდან მიწევს რაღაცების ამოქაჩვა ამიტომ, როგორც იტყვიან, ვბუქსაობ |
Posted by: GeorgeSword 17 Jul 2021, 10:30 |
lepori ბიჭო რავი დიდი პაუზა გამომივიდა პაითონში და ეხლა თავიდან მიწევს გახსენება უკვე ბევრად მაღალ დონეზე მესმის რაღაცეები ვიდრე თავიდან როგორც დამწყებს ტუტორიალებს ვუყურებ ისევ პრაქტიკაში მინდა ვცადო მაგრამ არ ვიცი ეგეთი კურსი ვაბშე არის თუ არა ჯანგოსთან კომბინაციაში ვებ დეველოპმენტის კუთხით ვისურვებდი პრაქტიკის გავლას |
Posted by: Essiittaaa 18 Jul 2021, 21:58 | ||
GeorgeSword
თუ პითონის პრაქტიკა გინდა www.codewars.com ჯანგო ისედაც შეგიძლია დაწერო https://www.youtube.com/watch?v=SIyxjRJ8VNY&list=PLsyeobzWxl7r2ukVgTqIQcl-1T0C2mzau |
Posted by: GeorgeSword 19 Jul 2021, 08:29 |
Essiittaaa CS Dojo(არხი) ხსნის კიდევ მაგრად, დამწყებებისთვის (და მგონი არამარტო) აქვს მაგარი ტუტორიალები https://youtube.com/playlist?list=PLBZBJbE_rGRWeh5mIBhD-hhDwSEDxogDg ******* ერთი მოსაზრება მინდა გამოვთქვა, ვინც უკვე მუშაობს და შემდგარი პროგრამისტია მაინტერესებს თუ დამეთანხმებიან მოკლედ პროგრამირება არ მგონია ის სფერო აი რაც არ უნდა ისწავლო კურსები გაიარო ან ტუტორიალებს უყურო იუთუბზე , შეიძლება ეს პროცესი უსასრულოდ გაგრძელდეს, ვერასოდეს ვერ იტყვი რომ ვსო აი მე უკვე ვისწავლე და წავედი სამსახური მოვნახოო, იქამდე სანამ გამოცდილ პროგრამისტების ჯგუფში არ მოხვდები სადაც სტაჟიორად აგიყვანენ და თავიდანვე არ დაგაჭერენ რომ აი ეს რა პონტში არ იციო ანუ იმის თქმა მინდა რომ უშუალოდ რეალური დამკვეთის ტასკებზე თუ ჩამოყალიბდება ადამიანი პროფესიონალ პროგრამისტად და ისიც გამოცდილ ჯგუფში სადაც ცოდნას გაუზიარებენ, გამართლება უნდა მანდაც, რამოდენიმე კომპონენტს გამოვყოფდი : 1. ისეთ ხალხში მოხვდეს რომლებიც მზად იქნებიან ან აწყობთ კარგად ,,დააპროგრამონ" ეს ტიპი როგორც ე.წ ჭკვიანი რობოტი, რათა შემდგომ თავად ისწავლოს და გააკეთოს ხოლმე სხვადასხვა ტასკები 2. მოხვდეს ისეთ წრეში სადაც კარგი გადმოცემის უნარები ექნებათ მის კოლეგებს 3. იქნებიან პროფესიონალი კარგი დონის პროგრამისტები 4. ექნებათ ისეთი მრავალფეროვანი და მაღალი დონის შეკვეთები სადაც ეს ჩვენი სტაჟიორი ტიპი განვითარდება პროფესიულად პარალელურ რეჟიმში ყოველდღიურად რომ უნდა იმეცადინოს , ლექციებს უყუროს, აკეთოს სავარჯიშოები და აშ ეგ თავისთავად ეს ყველაფერი იმიტომ დავწერე რომ პროგრამირებაში ალბათ უფრო მაღალი ანაზღაურების გამო მიდიან, რადგან კარგად იხდიან დამკვეთები ბუნებრივია ეს ხდება სტიმული დამწყებისთვის რომ ისწავლოს პროგრამირება რათა შემდეგ დასაქმდეს ხოდა ვერ წარმომიდგენია ტიპმა ,,აძინოჩკაში" ისწავლოს რომელიმე ენა თან იმ დონეზე რომ სამსახური იშოვოს და დამოუკიდებლად გაქაჩოს სანამ ჯგუფში არ მოხვდება ის რაც ზემოთ დავწერე იმ პუნქტების შესრულებით, სადაც ნელნელა განვითარდება მოვისმენდი პროგრამისტების აზრს ვინც დასაქმებულია, თქვენი გამოცდილება რომ გაგვიზიაროთ როგორ დაიწყეთ სულ სულ თავიდან და როგორ ჩამოყალიბდით ე.წ შემდგარ პროგრამისტად? ჩემი ინტუიცია თუ ცდება მითხარით პს. ჩემს ირგვლივ ვისაც ვიცნობ ან ვიცნობდი პროგრამისტებს ,აძინოჩკას' ნიღბებით მოძრაობენ რო აი თავისით ისწავლა ვითომ ბავშვობიდან მოზგი ტიპია და თან სოციალურად დისტანცირებულის იმიჯით :დდ უკვე აღარ მჯერა ეს რაც უფრო ჩავიხედე სფეროში ხმამაღლა არ ლაპარაკობენ ამაზე და არ ვიცი რატომ |
Posted by: levan88 19 Jul 2021, 10:05 |
GeorgeSword პრაქტიკა ყველა სფეროში მნიშვნელოვანია და მითუმეტეს პროგრამირებაში , განვითარებისთვის მისწრებაა კარგ წრეში მოხვდე , მაგრამ არა სავალდებულო . ახლა ასე შეხედე , ვის რათ უნდიხარ კარგ წრეში ? როდესაც კონკურენცია ამხელაა ბაზარზე . იმის თქმა რომ ვერ განვვითარდები მარტო , უფრო იმას გავს შრომა რო გეზარება და მიზეზებს სხვა ვინმეში ან რამეში ეძებ . კარგ პროგრამისტად რო ჩამოყალიბდე მარტო პროგრამირება არაა საკმარისი , ეგ დაახლოებით იგივეა წერა იცოდე და გრამატიკა არა . ალგორითმები უნდა გესმოდეს , კომპიუტერის არქიტექტურა და ა.შ. შეიძლება ეს პროცესი უსასრულოდ გაგრძელდეს, ვერასოდეს ვერ იტყვი რომ ვსო აი მე უკვე ვისწავლე მაგას ვერც კომპანიაში მოხვედრის შემდეგ იტყვი , უმეტესს შემთხვევაში კომპანიები ერთი მიმართულებით მუშაობენ და შენც იმ მიმართულებით ვითარდები სულ რო განვითარების პიკს მიაღწიო კომპანიაში , რეალურად პაითონის მაქსიმუმ 15 % იცი მაინც გარდა ამისა აუცილებელია გესმოდეს ინგლისური ენა , საერთოდ პროგრამირების სწავლის დაწყებამდე ადამიანმა ჯერ ინგლისური უნდა ისწავლოს მე ასე ვფიქრობ . უნდა იკითხო დოკუმენტაცია , ვიდეოებს რო უყურებ პარალელურად შენც უნდა იმუშაო , ცვლილელები შეიტანო კოდში , კითხვები უნდა გაგიჩნდეს და პასუხები მოიძიო როდესაც Google , You tube და Stack Overflow არსებობს ძალიან მეეჭვება ვინმე პიროვნებამ უფრო სრული პასუხი გაგცეს რაიმე კითხვაზე . სხვათაშორის საძიებო სისტემების სწორი გამოყენება , კარგი პროგრამისტის აუცილებელი და განუყოფელი შესაძლებლობაა . მოკლედ თუ იშრომებ ნადმვილად შესაძლებელია ,,აძინოჩკაში" ისწავლო და სადაც არ უნდა მოხვდე მაინც ,,აძინოჩკაში" უნდა ისწავლო . უბრალოდ რაც შენ თქვი მაღალი ანაზღაურება სტიმულია და ალბათ მაგიტომ მიდიან პროგრამირებაშიო , ძალიან სამწუხარო სიმართლეა . სამწუხარო იმიტომ , რომ დამიჯერე 80 % ზე მეტს არ აქვს გაანალიზებული რას კიდებს ხელს და რამხელა შრომა უნდა ჩადოს . თუნდაც უნივერსიტეტებში ძალიან ცუდი სიტუაციაა , ხალხი ისე ამთავრებს OOP ძირითადი პრინციპებიც კი არ იციან . და თვითნასწავლების სიამაყის მიზეზი ის კი არაა რომ თვითნასწავლები არიან , ის არის რომ იციან რამხელა შრომა ჩადეს თავიანთ საქმეში . მოკლედ შრომა არავის უნდა , კარგი სამსახური , ფული და გუგუნი კი ყველას |
Posted by: GeorgeSword 19 Jul 2021, 11:32 | ||||||||
levan88 სიზარმაცე არც განიხილება, მით უმეტეს პროგრამირებაში, შანსი 0 აქვს ზარმაცს მე სხვა რამეს ვამბობ
რავი რამოდენიმე მიზეზი შეიძლება იყოს: თუ დაანახე რომ ჭკვიანი პერსპექტიული რობოტი ხარ მომავალში რომ გამოადგებათ რა თქმა უნდა საერთოდ გარტყმაში რომ არაა მასეთის მიღებაზე არ ვამბობ ანუ ინთერმედიეითის კურსი რომ აქვს გავლილი და არ იცის ცოდნა პრაქტიკაში როგორ გამოიყენოს , აქვს ნორმალური ბაზისი. დაახლ ასეთი ტიპი ან უბრალოდ კარგი სანაცნობო გყავს და ხელს გიწყობენ რომ ამ სფეროში მიაღწიო რამეს ის რაც გაინტერესებს სანაცნობო კაი გაგებით და არა დარმავოი პონტი :დ ან რავი სხვა მიზეზით
განვითარებაზე არ ვამბობ, დასაქმებაზე და სამუშაოს შესრულებაზე ვთქვი რავი ისეთი ადამიანი ვინც მარტომ ისწავლა და მერე მარტომ იშოვა სამსახური, მივიდა და ეგრევე დავალება შეუსრულა სხვების დახმარების გარეშე ძნელად წარმომიდგენია ცოტა. იმედია მიმიხვდი რასაც ვგულისხმობ თორემ ეგრე საბოლოოდ ყველა მარტო ვსწავლობთ იდეაში, სხვა ვერ შეიმეცნებს შენს მაგივრად
სამწუხარო რატომ? ძალიან ბევრ სფეროში მატერიალური სტიმული ხდება განმსაზღვრელი განვითარების არ მგონია რომელიმე პროგრამისტის მოწოდება იყოს უბრალოდ კოდების წერა შიშველ ენთუზიაზმზე
ნაკლები ინფუთით დიდი აუთფუთი ყველას უნდა და ეს დაჟე კანონზომიერიცაა ბუნებაც მასეა მოწყობილი ატომის დონეზე, ცდილობს ეგერგეტიკული მინიმუმის მდგომარეობა დაიკავოს if not in excited state რიგში რომ ველოდებით ვცდილობთ სკამზე ჩამოვჯდეთ დავისვენოთ კოდს როცა წერს პროგრამისტი არ მგონია მარტივ გადაწყვეტას არ ცდილობდეს ამოცანის და ამით შრომის შემსუბუქებას დარმავოი პონტზე თუ დაწერე ოკ მაშინ თუმცა ყველა ისე ცხოვრობს რისი გაქანების საშუალებაც აქვს ზოგი არაფერში იღებს ათასებს და ზოგი ტვინს ანთხევს მაგრამ იმ დონეზე ვერ უფასდება როგორც საჭიროა |
Posted by: levan88 19 Jul 2021, 12:47 |
GeorgeSword მოდი ცოტა დავკონკრეტდეთ მაშინ აი რა ცოდნაზეა საუბარი რასაც შენით ვერ მიიღებ და თვლი რომ რომელიმე კარგ კომპანიას შეუძლია მოგცეს . ან პროგრამირების რა მიმართულებას მიყვები ? ანუ სად შეგექმნა პრობლემა თუ ზოგადად დაწერე |
Posted by: GeorgeSword 19 Jul 2021, 13:29 |
levan88 ოკ დავკონკრეტდეთ მე ვარ დამწყები, ანუ პაითონს ვამუღამებ არ ვარ პროგრამისტი ჯერ, თუმცა მაქვს ინტერესი გავხდე ბექგრაუნდი მაქვს ექსპერიმენტული ფიზიკის, დოქტორის ხარისხი ამას იმიტომ ვაკონკრეტებ რომ ჩემთვის ძალიან უცხო არაა ეს სფერო, ანუ კოდს რომ ვხედავ არ მაჟრიალებს :დ გამოვთქვი უბრალოდ ზოგადი აზრი რომ აბსოლუტურად დამოუკიდებლად ნასწავლი ეგრევე ვერ იქნება იმ დონეზე მომზადებული მივიდეს და გააკეთოს საქმე დამოუკიდებლად, შეკვეთა აიღოს და აშ, იქამდე სანამ სტაჟირებასავით არ გაივლის კარგ გუნდში. ამ მოსაზრებაზე 100% არ ვდებ თავს, შეიძლება ყოველთვის არც ხდებოდეს ასე, თუმცა უფრო აქეთკენ ვიხრები, ინტუიციურად ასე ვგრძნობ კონკრეტულად ვებ დეველოპმენტში ვთქვად ან თუნდაც იყოს კომპანიის რაღაც შიდა დაკვეთა და აშ ანუ გუნდური მუშაობისკენ უფრო ვიხრები სადაც ცოდნის გაცვლა ხდება უფრო მაღალ დონეზე ასასვლელად ვიდრე ოთახში ჩაკეტვა და ლექციების ყურება ან წაკითხვა სამუშაოს შოვნის თვალსაზრისით ვიძახი თუმცა ლექციების ყურების გარეშეც არ გამოდის მაგრამ უფრო მგონია პრაქტიკა+გუნდი გაცილებით მეტს ასწავლის ადამიანს როცა უშუალოდ ეჭიდება დავალებას რაშიც ფულს გადაუხდიან |
Posted by: levan88 20 Jul 2021, 14:23 |
GeorgeSword ალბათ პიროვნებიდან გამომდინარეა მაშინ , მაგრამ დამიჯერე შესაძლებელია ადამიანი მარტო ჩაუჯდე და საკმაოდ განვითარდე პროგრამირებაში მსგავსი რამ საკმაოდ პოპულარული და ნაცადი მეთოდია (და ბავშვობიდან მოზგაობაც ნადმვილად არ ჭირდება ) საკმაოდ ბევრი საიტია სადაც შეგიძლია ივარჯიშო სხვადასხვა პროექტებზე ან თუნდაც გატესტო რამდენად კარგია შენი კოდი . უბრალოდ ყველა კომპანიას თავისი მიდგომა აქვს , შეიძლება შენ საკმაო ცოდნა გაგაჩნდეს მაგრამ ინტეგრაცია მაინც გაგიჭირდეს (დრო დაგჭირდეს). საბოლოოდ რაზეც მე და შენ ვსაუბრობთ უფრო პიროვნულობაზეა დამოკიდებული ალბათ. შენთვის შეიძლება ბევრად მარტივი აღსაქმელია როდესაც გუნდში ხარ და პირდაპირ ხდება ინფორმაციის მიმოცვლა ზოგი საერთოდ ისე აღწევს მაღალ საფეხურს დოკუმენტაცია რა არის არც კი იცის . გეთანხმები დამწყებისთვის ბევრად კარგია გუნდში მოხვდეს , მაგრამ ცოტა რთული გზითაც შეიძლება წასვლა და მინიმუმ ჯუნიორის საფეხურამდე მიხვიდე შენით (რაც საკმაოდ გაგიზრდის კარგ გუნდში მოხვედრის შანსს) P.S. ჯუნიორ დეველოპერი "სტაჟიორი" არ არის . ჯუნიორს შეუძლია ამოცანის ამოხსნა და პროექტზე მუშაობა . მაგრამ უმეტესს შემთხვევაში მის კოდს ოტპიმიზაცია ჭირდება ან რაიმე მხრივ არის დასახვეწი |
Posted by: GeorgeSword 20 Jul 2021, 17:39 |
levan88 იქნებ თავად გაგეზიარრბინა 0 - დან როგორ დაიწყე და როგორ იშოვე პირველი სამსახური რა ეტაპის მერე გაგიჩნდა თვითრწმენა რომ გაგეყიდა ასე ვთქვად საკუთარი ცოდნა და გამოგეტანა გარეთ? ან გეცადა სამსახურის შოვნა და როგორი იყო შენი პირველი ნაბიჯები ამ სფეროში აი როცა უკვე რეალურ ამოცანების წინაშე დადექი? თუ საიდუმლო არაა რა თქმა უნდა |
Posted by: lepori 20 Jul 2021, 18:29 | ||
GeorgeSword
შენც ჩემსავით ყოფილხარ კი მოვიგონე რაღაც ამოცანები და ჩემთვის ვჩალიჩბდი მაგრამ ალგ-ალაგ დიდი პაუზები მაქვს და მერე სულ მავიწყდება და თავიდან ვსწავლობ |
Posted by: levan88 20 Jul 2021, 21:40 |
GeorgeSword დავიწყებ იმით , რომ ერთი წლის წინ ფუნქციაში return მნიშვნელობაც არ მესმოდა . დაახლოებით ერთი წლის წინ დავიწყე . html / css შემდგომ native JS , ამის შემდეგ php , Laravel ზე გადავედი . თამამად ვიტყვი დაახლოებით 8-9 თვეში ჯუნიორის შესაძლებლობებს ვცდებოდი . და ხო ამ პერიოდში Oracle mysql შესწავლა მომიწია კიდე საქართველოში არ მიმუშავია , სამეგობროს დახმარებით მიწევს სხვა და სხვა პროექტებზე მუშაობა , მაგრამ იმიტომ ნამდვილად არა , რომ მეგობრები არიან ჩემი და სანამ არ ჩავთვალე რომ "სათრევი" აღარ ვიყავი , არც შემიწუხებია ვინმე . ერთადერთი რაშიც ხელი შემიწყვეს , ალბათ ისაა , რომ ზუსტად ვიცოდი რა უნდა მესწავლა და რა მიმართულებით განვვითარებულიყავი . პაითონი დავიწყე ერთი 3 თვეა , Flask ს ვითვისებ ახლა მიუხედავად იმისა , რომ ძირითადად Laravel თან მიწევს შეხება . Html/ Css JS Youtube ს დახმარებით შევისწავლე , Freecodecamp , Udemy კურსები . Laravel ზეც Udemy კურსები დამეხმარა და დოკუმენტაცია , რომელიც "დაღეჭილია" ისეა ახსნილი . Laravel.com ზე ბევრ რამეზე ვთქვი უარი ამ ერთი წლის განმავლობაში . რაღაცის გატესტვის სურვილით არაერთხელ ავმდგარვარ შუაღამეს არ ვიცი ვიღაცა შეიძლება მართლა გენიოსია , მაგრამ ვთვლი მე საკმაოდ დიდი შრომა ჩავდე ამ ყველაფერში . და ხო მოტივაციისთვის ზოგისთვის ეს ყველაფერი 25 წლის ასაკში დავიწყე . |
Posted by: Not_Bono 20 Jul 2021, 21:52 | ||
levan88
ტელეფონში მქონდა გადმოწერილი აპი და ეგრე ვტესტავდი ხოლმე კოდს შუაღამით თუ საიდანღაც რაღაც დამარტყავდა თავში რეები მაქვს გამოვლილი, ღმერთო |
Posted by: levan88 20 Jul 2021, 22:04 |
Not_Bono კი ბატონო , ასევე . რამდენჯერ მინატრია მეთქი არსებობდეს რაიმე ნორმალური IDE ტელეფონისთვის . Laravel ის გამო დომენიც კი მაქვს ნაყიდი , რათა მენახა რეალურად რა როგორ ხდებოდა . |
Posted by: GeorgeSword 21 Jul 2021, 17:03 |
levan88 აი მაგ სამეგობროზე ვთქვი კარგი გაგებით, ვიღაც რაღაც ეტაპზე თუ არ წაგეხმარა ან ცოდნის გაზიარების მხრივ ან გეზის მოცემის და აშ. სრულიად მარტო ეჭვი მეპარება გავიდეს კაცი ფონს ჩემს ირგვლივ არავინაა სწორი მიმართულება მაინც რომ მომცეს პროგრამირებაში, მაგრამ არ ვეპუები მაინც....თან 36 წლის ვარ რავი იმედს ვიტოვებ იქნებ გამეხსნას იღბლიანი პორტალი და პროფესიონალების წრეში აღმოვჩნდე უნდა მივაწვე, თან აზარტში შევდივარ და მაინტერესებს რაც უფრო ვსწავლობ |
Posted by: levan88 21 Jul 2021, 18:52 |
GeorgeSword ისეთი წინაპირობა გაქვს წესით საკმაოდ ადვილად აითვისებ . თან ერთ ენას როდესაც ისწავლი , მეორე და მესამე საკმაოდ გაგიადვილდება , საფუძვლები ერთი აქვს ყველას . მითუმეტეს ჩვენს დროში პროგრამირების ენები საკმაოდ დახვეწილია და ადამიანურ ენასთან საკმაოდ მიახლოებული . ჩემი რჩევა იქნება ჯერ გადაწყვიტო რა გინდა , ანუ რა მიმართულებით გინდა განვითარება . თუ Web Development გაინტერესებს , ყველა ვარიანტში html/css JS დაიწყე . html/css დაახლოებით 1 თვეში დაფარავ ძირითად საკითხებს . ძირითადად რაც მახსენდება არის : ატრიბუტები , თაგები , display პარამეტრები (Flex უფრო , Grid გამოტოვო შეგიძლია საწყის ეტაპზე ჩემი აზრით ) ასევე responsive და ანიმაციებზე ტყუილად ნუ დახარჯავ დიდ დროს , თუ Front არ გაინტერესებს მაინც და მაინც . ამის მერე JS ზე როცა გადახვალ ნელნელა ბევრ რამეს შენით გატესტავ და მოიგონებ . თან https://www.w3schools.com/ ზე ყველა მეთოდი საკმაოდ კარგადაა აღწერილი . ცოტა რო გაერკვევი მერე პაითონსაც ბევრად მარტივი თვალით შეხედავ . |
Posted by: GeorgeSword 21 Jul 2021, 21:58 |
levan88 მადლობა რჩევებისთვის პაითონს ვაწვები და მერე გადავალ JS ში რაღაც ბაზისის დონეზე მაქვს უკვე : ციკლები, ლისტები, ფუნქციები , კლასები, კონსტრუქტორი და აშ ადვილ ამოცანებს ვართმევ ხოლმე თავს მაგრამ რთულებს ვერა ჯერ, ვუყურებ ხოლმე ვიდეოებს და ისე მოიხელთებენ ხოლმე ხანდახან , მიკვირს მე რატომ ვერ შევძელი თქო ) რავი არ ვნებდები მაინც html/css -ის არ მეშინია რო რამე, ვფიქრობ მაგას მალევე ვისწავლი რაც შეეხება სფეროს, აი აზრზე არ ვარ მართლა სად მინდა სადაც გავქაჩავ ალბათ იქ მინდა თუმცა აზრზე არ ვარ სად უფრო გამომივა ეხლა კიდე ისე გამარტივდა web development ში თუ მხოლოდ საიტების გამართვა/დიზაინი მოიაზრება, მაგალითად wix ზე ჩემით ავაწყე საიტი შარშან ისე რომ საერთოდ არც ერთ ენაში არ მქონია წარმოდგენა ანუ შედარებით მარტივ საიტს ვგულისხმობ რა თქმა უნდა ამიტ იმის თქმა მინდა რომ უდიდესი კონკურენციაა ალბათ მაგ სფეროში, ნებისმიერ ოდნავ სმარტ ტიპსაც შეუძლია ააწყოს ნორმალური საიტი ყოველგვარი კოდის გარეშე და დაზოგოს თანხა რასაც პროგრამისტს გადაუხდიდა აქედან გამომდინარე ვფიქრობ ხომ არ ჯობია რაიმე სფეციფიკურ სფეროში წავიდე-მაგალითად თუნდაც ისევ ჩემ სფეროში ფიზიკაში ფიზიკური ინფორმატიკით, ფიზიკური პროცესების მოდელირება სიტყვაზე ან მონაცემთა ანალიზი და აშ. იქ სადაც ასეთი მზა შაბლონები არ იდება და ვერ იდება ასე ბაზარზე პაითონი ზოგადად მაგრად მეხმარება პროგრამირების ნიუანსებში ჩასაწვდომად გამომდინარე მისი უმარტივესი სინტაქსიდან და მგონი ყველაზე ახლოს ეგაა ადამიანურ ენასთან |
Posted by: Dirac 21 Jul 2021, 23:08 |
GeorgeSword ფიზიკა თუ იცი მაშინ machine learning/data science-ს მიაწექი. გააჩნია სად ცხოვრობ. ამერიკაში თუ ხარ, დატა საიენსში თავზე საყრელადაა სამსახურები. საიტების აწყობა ფიზიკოსის საქმე არაა. ჰუმანიტარები უკეთ გააკეთებენ. |
Posted by: levan88 22 Jul 2021, 00:08 |
machine learning/data science მარტო შესწავლა ძალიან გაუჭირდება და მითუმეტეს კარგ გუნდში მოხვედრა საერთოდ . გარდა იმისა რომ ფიზიკა აუცილებელია ,(უფრო მათემატიკა, სტატისტიკა , ანალიზი ...) საკმაოდ სიღრმისეული სწავლა გჭირდება პროგრამირების , ალგორითმების , კომპიუტერის არქიტექტურის და ა.შ უნდა იცოდე C , C++ , Java რომელთა მუშაობის სტრუქტურა თითქმის რადიკალურად განსხვავდება პაითონისგან . თან საქართველოში ეგ სფერო მკვდარია და არც ევოპაში გამოირჩევა პოპულარობით . სწორედ აღნიშნეს მხოლოდ ამერიკაში თუ წაგადგება კი ძალიან მაგარი განხრაა და სავარაუდოდ ერთი დღე ვერ მოიწყენ შენი საქმის კეთებაში მაგრამ სერიოზული მუშაობა გჭირდება და ასევე რეპეტიტორები საკმაოდ ძლიერი (რაც გულისხმობს დიდ ხარჯებს და მრავალ წელს) საიტების აწყობა კი ორი განხრით იყოფა თუ არ იცი : Front და Back რომელსაც მეეჭვება მაღალ დონეზე ჰუმანიტარმა გაქაჩოს . შენ რასაც ამბობ აწყობაში Front მოიაზრება . მაგალითად მთელი Facebook როგორც გამოიყურება Front ის მხარეა მაგრამ როგორც მუშაობს Back , ანუ სიტყვაც გეუბნეა უკანა მხარეს რაც ხდება და ვერ ხედავ . (რამხელა განსხვავებაა ხვდები ალბათ ) "იმენა" ფიზიკის ცოდნა ალბათ Game Development გამოგადგება , არ ვიცი როგორ სფეროა არ მქონია შეხება . არ გეგონოს მოტივაციას გიგდებ , რეალურად ამ სფეროში მეც machine learning გამო მოვედი , მაგრამ ჯერ სხვა საფეხურებია გასავლელი . მაგრამ რაიმე ისეთით დაიწყე რო განვითარება შედარებით "ადვილად" შეძლო . გარდა ამისა შეგიძლია დაძებნო ეს თემა და საკმაოდ ბევრგან გადააწყდები რომ Back End Developer ის სკილები საკმაოდ კარგი წინაპირობაა machine learning ში გადასასვლელად . |
Posted by: Dirac 22 Jul 2021, 03:14 |
levan88 პირიქითაა, მაშინ ლერნინგში და დატა საიენსში პროგრამირების ღმა ცოდნა არაა საჭირო. ჩემი თანამშრომლებიდან ერთმა ორაკლში დაიწყო მუშაობა, მეორემ ამაზონში. არცერთი არ იყო სერიოზული პროგრამისტი. მეთოდები იმ დონეზე უნდა იცოდე რომ გესმოდეს როდის რა უნდა გამოიყენო. მთავარია მონაცემების წინასწარ დამუშავება სანამ რომელიმე მეთოდს გამოიყენებ (გრაფიკები უნდა ააგო, ინტუიციურად უნდა გაიაზრო ამოცანა). მეცნიერულ კვლევასავითაა და ამიტომაა ფიზიკოსისთვის უფრო ადვილი. ძირითადად პითონი უნდა გესოდეს კარგად. C++ში ძირითადი ბიბლიოთეკები უკვე დაწერილია და მცირე შანსია რომ რამის ფუნდამენტრად შეცვლა მოგიწიოს. ინტერნეტში რესურსები ოხრად ყრია. რაც მინახავს ერთერთი საუკეთესო კურსია ნიურალ ნეთვორკზე. https://www.coursera.org/learn/intro-to-deep-learning/home/welcome udacity, udemy-ზეც ყრია კურსები. კონკრეტული პროექტები აქ შეგიძლიათ ნახოთ. https://www.kaggle.com/ ქაგლზე ერთხელ დავიწყე რაღაცა ფიზიკის პროექტის გაკეთება (მაგნიტური მომენტის დათვლა იყო საჭირო თუ იცი ატომების მდებარეობები), მერე ახალ სამსახურში მომიწია გადასვლა და დავიკიდე. ახლა რაღაცა დავიწყე ჩემთვის გასართობად ნიურალ ნეთვორკის გამოყენებით. https://www.deeplearningbook.org/ https://d2l.ai/index.html |
Posted by: GeorgeSword 22 Jul 2021, 11:41 |
Dirac მოკლედ ნაბიჯ ნაბიჯ მივყვები ბაზისს და მერე ვნახოთ ისე levan88-ს აზრს ვიზიარებ , ჯობია ალბათ ვებ დეველოპმენტით დაწყება მაშინ ლერნინგი გაცილებით კომპლექსურად მეჩვენება ინტუიციურად, მიუხედავად იმისა არ ვიცი როგორ მუშაობს პროგრამისტის სქილების გამომუშავება ჯობია ჯერ შედარებით მარტივი მიმართულებით თუმცა მარტივიცაა და მარტივიც ზოგი საიტი ისეთი დახვეწილია გინდ ფრონტი ან ბექის მხრივ, არც ეგაა მარტივი, ნეტა ვიყო ეგეთ დონეზე და გაუშვი დავრჩე ვებში :დ |
Posted by: GeorgeSword 23 Jul 2021, 13:20 |
ტიპი რა მხეცია |
Posted by: levan88 23 Jul 2021, 19:53 |
GeorgeSword არც ისე სასწაული რამე გააკეთა როგორც ახლა შენ გგონია ეს ნახე მართლა , ლექტორია თან ერთ-ერთ უნივერსიტეტში , ბევრი რამის გაგებაში საკმაოდ დაგეხმარება https://www.youtube.com/watch?v=ijZSdmWb2t8&list=PLbZtgfvYfOp1s7Ej83hV2gN87rnLbzAIe |
Posted by: GeorgeSword 24 Jul 2021, 09:33 |
levan88 ინგლისურ ტუტორიალებს ისე მივეჩვიე ქართულად ვეღარ ვუსმენ, ჩანგე ლაგუნგესავით ჩამესმის :დ დამწყებისთვის ჩემი აზრით ცოტა ზედმეტად წვრილმანებში შედის, ერთი ორ ლექციას გადავავლე თვალი ნუ იმის ფონზე რომ ქართულად არ ვართ განებივრებულები ცუდი არაა, მაგრამ დასახვეწია აშკარად, როგორც ვიდეოს ხარისხი ასევე შინაარსის სტრუქტურა რაღაც პონტში საბაზისო საკითხები გავიარე უკვე, უფრო ედვანსდ ტუტორებს ჩავუჯექი მაგალითად ამას, ვისაც ცოტა შემდეგ საფეხურზე უნდა წაიწიოს პაითონში იდეალური ნაკრებია ლექციების, თან ლაივში აქვს ჩაწერილი და დინამიკაში ხსნის საინტერესო ამოცანებს: https://youtube.com/playlist?list=PLWKjhJtqVAbkmRvnFmOd4KhDdlK1oIq23 და ეს ინთერმედიეით კურსიც ძაან კაია : https://youtu.be/HGOBQPFzWKo CS Dojo ს არხიც მაქვს გამოწერილი გენიალურად ხსნის ეს ბიჭი, რთულ რაღაცეებს უმარტივესად შლის და აწვდის აუდიტორიას https://youtube.com/c/CSDojo |
Posted by: GeorgeSword 30 Jul 2021, 20:28 |
რამე ამოცანები დავდოთ არ გავაპასიუროთ ეს კარგი თემა მოდი მე დავდებ ადვილს: გვაქვს ორი თანაბარი რაოდენობის ელემენტებიანი მთელი რიცხვების ლისტი პირობითად a=[2, 3, 25, 7, 8] და b=[34, 5, 7, 9, 17] დაწერეთ კოდი რომელიც გამოიტანს ახალ c ლისტს შედგენილს a და b ლისტების ჯამისა შემდეგი პირობით: a-ლისტის პირველი წევრი + b-ლისტის პირველი წევრი= c-ლისტის პირველ წევრი: c[0]=a[0]+b[0] ასევე მეორე წევრზეც c[1]=a[1]+b[1] ანუ c=[2+34, 3+5, 25+7, 7+9, 8+17]=[36, 8, 32, 16, 25] ანუ მოცემულია a=[1,2.....n] b=[1,2.....n] კოდმა უნდა გამოიტანოს: c=[a[0]+b[0], a[1]+b[1],.......a[n-1]+b[n-1]] ე.ი c=[2,4,6,8.......2n] რიცხვები 1,2.....და აშ პირობითადაა აღებული, ნებისმიერ მთელ რიცხვებზე რომ იმუშავოს კოდმა კიდევ ერთი დამატებითი პირობა ჩავდოთ რომ სახალისო იყოს, კოდი რაც შეიძლება კომპაქტურად უნდა იყოს ჩაწერილი აბა იმედია არ ჩავძირავთ თემას |
Posted by: george993 30 Jul 2021, 21:30 | ||
ზუსტად სამ ხაზში დავწერე Go-ში. აბა პითონში უფრო მოკლედ თუ დაწერთ ყველაზე მარტივ ენას ვინც ეძახის და მერე ჩემ კოდს დავდებ |
Posted by: აბიტურიენტი 30 Jul 2021, 22:00 | ||
|
Posted by: GeorgeSword 30 Jul 2021, 23:33 | ||
george993 დადე აბა საინტერესოა აბიტურიენტი მაგ კოდში ორი რამ ვერ გავიგე 1. a+b ანუ ეგრევე ერთ ლისტს უმატებ მეორეს? 2.a და b ხომ ლისტებია ხოდა for (a,b) in zip(a,b) ანუ ლისტებითვე a,b იტერაციას როგორ ვაკეთებთ a,b ლისტებშივე? როგორც აქამდე მხვდებოდა ყველგან i & j ანუ 2 დამატებითი ცვლადით არ ხდებოდა ლისტების იტერაცია? მაგალითად for i in a და for j in b == for(i,j) in zip(a,b) , ესეც ხომ სწორი ჩანაწერი იქნებოდა? ეს ვერ გავიგე და იქნებ ახსნა მე ასე დავწერდი:
ახალი ნასწავლი მაქვს და რავი ძაან არ დამცხოთ )) დამუღამების პროცესში ვარ თან მობით ვწერ და კოდი არ შემიმოწმებია მუშაობს თუ არა not sure ))) |
Posted by: აბიტურიენტი 30 Jul 2021, 23:47 | ||
GeorgeSword კომპრეჰენსიას ვუკეთებთ zip(a, b) -ს მოცემულ სიას, რომელიც არის ტუპლებისგან შემდგარი: [(a0, b0), (a1, b1) ... (an, bn)] თითოეულ ელემენტზე გადავლისას დესტრუქტურიზაციას ვახდენთ ტუპლის in (a, b) რის შემდეგაც იქმნება ცვლადები a და b, რომლებიც ფარავენ (variable shadowing) გარეთა სკოუპში არსებულ იგივე სახელების ცვლადებს(a და b ლისტებს), და ენიჭებათ ტუპლის შემადგენელი მნიშვნელობები. შემდეგ უბრალოდ ვკრებთ ორ რიცხვს a + b.
სხვადასხვა მნიშვნელობის კოდია. პირველ შემთხვევაში პირველი სიის ყველა წევრი წყვილდება მეორე სიის ყველა წევრთან. მეორე ვარიანტში ინდექსების მიხედვით ხდება, პირველი პირველთან, მეორე მეორესთან და ა.შ. |
Posted by: GeorgeSword 31 Jul 2021, 03:01 | ||
აბიტურიენტი
სიმართლე გითხრა ეს ტერმინები პირველად გავიგე მაგ. variable shadowing ანუ ეს ტუპლები რატომ ფარავენ იგივე სახელების ცვლადებს(ლისტებს)? ანუ ფაქტიურად როცა წერ for(a,b) აქ a და b ში ლისტები ჯერ არ იგულისხმება, არამედ რაღაც ცვლადები რომელიც გადაფარავს ამ ლისტებს? სწორად გავიგე თუ სხვაგან გავიჭერი? |
Posted by: აბიტურიენტი 31 Jul 2021, 09:30 | ||
კი. მანდვე იქმნება a და b ცვლადები დესტრუქტურიზებით. |
Posted by: GeorgeSword 1 Aug 2021, 19:06 | ||
აბიტურიენტი მადლობა ჩემ კოდს შეგიძლია გადახედო? ამ მეთოდით ვცდილობ და სადღაც შეცდომას ვუშვებ
მოკლედ ვიცი უაზრობას ვწერ, i და j გამოიტანს რიცხვებს ლისტებში ანუ დაიკიდე ეს კოდი ანუ საბოლოო მიზანია ასეთი მეთოდით შევყარო ც ლისტში და არ გამოვა ხომ? c.append[a[i]+b[j]] |
Posted by: აბიტურიენტი 1 Aug 2021, 19:31 | ||
შეგიძლია დაწერო c.append(i + j), i და j უკვე ის რიცხვებია რომლებიც გინდა ამოიღო. თუ საჭიროა ინდექსი შეგიძლია while ლუპი გამოიყენო, ან enumerate. |
Posted by: lepori 1 Aug 2021, 19:45 |
GeorgeSword მე ესე ვქენი>>> a=[1,2,3,4] b=[5,6,7,8] c=[] for i in range (0, len (a)): c.append( a[i] + b[i]) |
Posted by: GeorgeSword 1 Aug 2021, 22:20 |
აბიტურიენტი lepori გაიხარეთ ჯიგრები ხართ რამე ამოცანები დადეთ არ გინდათ? |
Posted by: Dirac 3 Aug 2021, 06:00 | ||||||||
აგერ ერთ ხაზში დაგიწერა აბიტურიენტი
აგერ კიდო მეორე ვერსია c = list(np.array(a) + np.array(b)) თუ სისწრაფე გადარდებს, numpy უნდა გამოიყენო. თუ მათემატიკური ოპერაციები გაქვს, დიდ ერეიზე მოქმედებები, ნამპაით ვექტორიზაცია უნდა მოახდინო, ანუ ციკლის ნაცვლიად np.dot(a, b), a+b და ეგეთები. numpy c-ზე არის დაწერილი, დაფრინავს. * * * lepori
ის უპირატესობა აქვს რომ ჩართავ და ეგრევე დაწერ კოდს რამე სეთინგების გარეშე. |
Posted by: GeorgeSword 18 Aug 2021, 07:09 |
ერთი შეკითხვა მაქვს კლასის შექმნას აზრი თუ აქვს კონსტრუქტორის გარეშე თუ გსმენიათ ან თავად გქონიათ ასეთი პრაქტიკა? მე პირადად ვერ წარმომიდგენია თუ ეს კლასი სხვა კლასის ქვეკლასი არაა რომელშიაც უკვე არის კონსტრუქტორი თქვენ რას იტყვით? |
Posted by: Dirac 19 Aug 2021, 06:33 | ||||||
GeorgeSword
კი
კი. ხშირად ვწერ ასეთ კოდს
დიქშიონარიც იგივეს იზამდა, მაგრამ მე კლასი მირჩევნია. ასევე, staticmethod დეკორატორს თუ ვიყენებ. https://pythonbasics.org/static-method/ ამ შემთხვევაში კლასი არის უბრალოდ მსგავსი ფუნქციების ერთობლიობა. |
Posted by: GeorgeSword 20 Aug 2021, 09:44 | ||||
Dirac
უბრალოდ დიქშენარიში ისეთ მანიპულაციებს უკეთებ ქი, ველიუ:აითემებს იტერაციას და აშ. რომ კლასში ასე როგორც დაწერე ამას მგონი ვერ გააკეთებ ხომ?
აუ ესენი უნდა გადავიმეორო, სულ მავიწყდება :დ , სტატიკმეთოდ კლასმეთოდ დეკორატორები |
Posted by: levan88 20 Aug 2021, 15:58 |
GeorgeSword data = [1,2,3,4] result = [i for i in data] - ტრიალდება ციკლი და თითოეულ i ინახავს ლისტში . შედეგი გექნება [1,2,3,4] result = [i+2 for i in data] - ამ შემთხვევაში i+2 შეინახავს თითოეულ ელემენტად , შედეგი გექნება [3,4,5,6] result = [data[i] for i in range(0,len(data))] - აი ამ მაგალითადანაც მიხვდები მარტივ ენაზე ესეა რა უფრო გასაგებად რო ამოვხნათ ზედა ამოცანა : a=[1,2,3,4] b=[5,6,7,8] c = {} for i in range(0,len(a)): c[a[i]] = b[i] d = [i+j for i,j in c.items()] - .items() tuple სახით დაგიბრუნებს Dictionary_ს key,value მაგალითად : [ (key,value), (key,value) ] შორი გზაა მაგრამ საწყის ეტაპზე მგონი გირჩევნია მსგავსი მანიპულაციები ცადო ხოლმე |
Posted by: GeorgeSword 21 Aug 2021, 10:36 | ||
levan88
ანუ რამდენადაც მივხვდი ასეთ რაღაცას დააბრუნებს -d= [(1+5), (2+6), (3+7), (4+8)] ანუ ჯერ დიქშიონარიში დააწყვილე ქი:ველიუ წყვილებად 1:5, 2:6 და აშ.. და მერე ცარიელ ლისტში იმ წყვილების ჯამი შეყარე იტერაციით : i+j იმედია სწორად მივხვდი, არ შემიმოწმებია კოდი |
Posted by: levan88 21 Aug 2021, 10:53 |
GeorgeSword კი სწორედ გაიგე . items() ფუნქცია რას აკეთებს გადახედე თუ არ იცი საკმაოდ მარტივი და გამოსადეგარია . ერთ ხაზიან For ს რაც შეეხება , ზუსტად ამას აკეთებს : d = [ ] for i,j in c.items(): d.append( i + j ) |
Posted by: GeorgeSword 22 Aug 2021, 16:48 |
levan88 რა მაგის პასუხია და მოკლედ ცოტა სხვა ტიპის შეკითხვა, ოფტოპიკია ^^ თუ რამე მასალა მოგეპოვება უფრო ვიდეო ტუტორიალები რამე გამოსადეგი ძაან დამეხმარება რა , ლაკონური ჯობია :დ დავჰოსტე სატესტო პროექტი მოკლედ ჰეროკუზე, თან რეაქტს ვსწავლობ , მოკლედ ეს რეაქტის პროექტი დავჰოსტე გიტჰაბ რეპოზიტორით, გიტბაქეთის რეპოზიტორით მინდოდა მაგრამ მანდ ორმაგი ავტორიზაცია და მოკლედ უფრო საჩალიჩო იყო, ანუ გიტჰაბით მარტივად მივაბი რეპოზიტორი ჰეროკუზე და მარტივი მოქმედებებით დავჰოსტე ჩემი კითხვა მდგომარეობს იმაში ზოგადად ადვილად ხდება სინქრონიზაცია შენს ლოკალურ რეპოზიტორსა და გიტჰაბს შორის ანუ უფრო მარტივად : VS Code ზე ვთქვათ შევიტანე ცვლილება კოდში, მინდა რომ სინქრონიზაცია გავუკეთო გიტჰაბის რეპოზიტორზე(ალბათ git ტერმინალიდან კომანდებით) ამ ახალ კოდს და შემდეგ იმედია ამ განახლებულ ინფორმაციას უკვე ჰეროკუს(ჰოსტინგის პლატფორმა ამ შემთხვევაში) ჰოსტინგზეც უნდა განაახლოს ავტომატურად, რადგან ჰეროკუ ხომ თავისთავად გიტჰაბიდან მიიღებს განახლებულ ვერსიას კოდისას (იმედია). ეს ყველაფერი რომ გავაკეთო ძაან საჩალიჩოა? ანუ სინქრონიზაცია ამ ყველაფრის ? :დდ პირველად ვაკეთებ :უსერ: |
Posted by: c2h5oh 22 Aug 2021, 18:53 |
GeorgeSword არაფერი ჩალიჩი არუნდა. ჰეროკუ თვითონ უყურებტ როპოზიტორიას და ყველა კომიტზე ანახლებს. ვაბშე არაფერი არგინდა პროსტა დაფუჩე ცვლილება და ვსო თუ ეგეთი რამის გაკეთება custom სერვერზე მოგინდება git hooks ქვია |
Posted by: levan88 22 Aug 2021, 18:59 |
GeorgeSword აუ უბრალოდ vs code გინდა მიაბა Git ს ? ჰეროკუს Automatic Deploys ფუნქცია აქვს , რომელიც ყოველ ახალ push ზე თავად ანახლებს . (თუ სწორედ მახსოვს ) https://www.youtube.com/watch?v=3Tn58KQvWtU - წესით გითის და ვსკოდის ურთიობის მოგვარებაში უნდა დაგეხმაროს . VS Code დიდი მომხმარებელი არ ვარ ზოგადად , IntelliJ პროდუქტთან მიწევს ძირითადად შეხება . |
Posted by: GeorgeSword 22 Aug 2021, 23:04 |
c2h5oh levan88 მოკლედ გავერკვიე ვიეს კოდის სინქრონიზაციის თემა გითზე ძაან ადვილი ყოფილა და მეკიდე უფრო ძნელი მეგონა :დ მადლობა ენივეი მოკლედ ამ ჯახირობაში ისიც გამოვარკვიე რომ ნუბი როცა ხარ ამ საქმეში ჰეროკუზე გაცილებით ადვილად მიაბავ github რეპოზიტორიას ვიდრე bitbucket-ისას, რადგან bitbucket-ზე პაიპლაინებით ხდება და კაროჩე საჩალიჩო თემაა ხოლო როცა github რეპოზიტორიას აბავ ჰეროკუზე, ავტომატურად ჰეროკუ გთავაზობს ამას, ჩაშენებულივით აქვს, ჯასთ შენი github- უსერნეიმი და რეპოზიტორიის სახელი უნდა ჩააგდო და ეგრევე მიაბავ ^^ ბიტბაქეთის უპირატესობა ისაა რომ უფასო რეპოზიტორია პრივატული შეიძლება გქონდეს მაგრამ საკითხავია ჰეროკუზე როგორაა საქმე, იქაც გიტჰაბივით თუ უფასოს იყენებ აუცილებლად პაბლიქ რეპოზიტორია უნდა გქონდეს? თუ გაქვთ შეხება იქნებ იცოდეთ ჰეროკუზე როგორ ხდება ამ შემთხვევაში? * * * levan88 ცვეტში მეც მაგ ვიდეოს ვუყურე სანამ დამილინკავდი და ტიპი იმენნა იდეალურად ხსნის :დ ყოველგვარი რაღაც ზედმეტი გარტულებების გარეშე ზოგს რა უაზრო ახსნა აქვს, ცალკე მაგასთან მიწევს ჭიდილი :დ |
Posted by: levan88 22 Aug 2021, 23:29 |
GeorgeSword სიმართლე გითხრა მაგ საკითხში დიდი გამოცდილება არ მაქვს , მაგრამ როგორც მივხვდი ეს ვიდეო უნდა დაგეხმაროს : https://www.youtube.com/watch?v=SC2XzQ-tKKQ |
Posted by: GeorgeSword 24 Aug 2021, 15:53 |
levan88 მადლობა ცოტა კიდე გავაოფებ თემას და გკითხავ ვებ დეველოპმენტს როგორ ხედავ ზოგადად? არსებობს უამრავი შაბლონები, უამრავი მზა ფუნქციონალით, სიმართლე რომ ვთქვა დიდათ ეს არ მიწყობს ხელს მოტივაციაში ანუ რომ ვიცი რომ სიტყვაზე 5 წუთში სტატიკური საიტისთვის ავაწყობ მაგარ საიტს , რატომ უნდა ვიწვალო საათები ამისთვის from the scratch? არა უნდა იცოდეს ადამიანმა ყველა პონტში ხელით დაწერა მაგრამ მე უკვე შემდგომ ვიძახი რა, პატარა შეკვეთებზე რავი დავიჯერო სულ ხელით უწერენ ხოლმე 0-დან? უფრო ეჭვი მაქვს შაბლონს იღებენ (ან თავისას ან სხვისას) + მოდიფიკაციას გაუკეთებენ და ვუალააა - მარტივი საიტიც მზადაა )))))) ისიც ვიცი რომ ვებ დეველოპმენტი ვითარდება და ფეხის აწყობაა საჭირო, უამრავი ინსტრუმენტებით და აშ. არსებობს კიდევ უამრავი to be customised ტასქი რომელიც არ მოიპოვება ასეთ შაბლონურ საიტებზე, ასევე აღარ ვსაუბრობ დინამიურ საიტებზე სადაც უკვე რთულდება ამოცანები და აი მანდ შაბლონები დიდი შანსია აღარ გამოგადგეს, realtime databases and etc.... მილიონი სიტუაციაა მოკლედ სადაც უკვე ჭირდებათ სქილების მქონე პროგრამისტი და არა შაბლონისტი :დ ისე რომელი მიმართულებით მუშაობ? |
Posted by: პითონი 24 Aug 2021, 17:45 | ||
არა მხოლოდ მარტივი, რთულზეც გამოიყენება ეს ხერხი. მთავარია იცოდე კოდის გარჩევა, რომ ცვლილება შეიტანო თუ საჭიროა. ძალიან ბევრ დეველოპერს/კომპანიას აქვს მზა კომპონენტები, რომლებსაც სხვა და სხვა პროექტებში იყენებენ. თავიდან ბოლომდე ხელით წერა არის უაზრო დროის კარგვა, გარდა ერთი მომენტისა - განვითარებისთვის აუცილებელია. |
Posted by: GeorgeSword 24 Aug 2021, 18:05 | ||
პითონი
კი ეგ თავისთავად ალბათ არსებობს სიტუაციები რომ გადაკეთებას იმდენი ჩალიჩი უნდა ჯობია თავად დაწერო ნულიდან და ბარემ მოირგო როგორც გინდა ანუ შენც გაქვს შეხება დეველოპმენტთან? ადრე გკითხე და მახსოვს მითხარი პაითონის ენა არაა ჩემი სფეროო, ზოგადად პროგრამირებაზე მითხარი თუ არა აღარ მახსოვს :დ |
Posted by: პითონი 24 Aug 2021, 19:17 | ||
GeorgeSword
მოყვარულის დონეზე. |
Posted by: levan88 24 Aug 2021, 20:39 |
GeorgeSword პროექტიდან გამომდინარეა ყველაფერი სწორედ აღნიშნე . მაგრამ მაინც რეკომენდირებულია , იცოდე რა როგორ მუშაობს , ფიზიკურად ვერ განვითარდები სხვანაირად . მაგალითად როდესაც მზა აუთენთიფიკაციით სარგებლობ და წარმოდგენა არ გაქვს მის უკან რა ხდება მასე შორს ვერ წახვალ , მაგრამ არც დეტალურად გჭირდება გარჩევა საწყის ეტაპზე . როგორც გითხარი მეც სულ 1 წელია ამ საქმეში ვარ და ძირითადად ვცდილობ ჩემით ვწერო ყველაფერი , სადამდეც ვქაჩავ ყოველშემთხვევაში ამას იმიტომ ვაკეთებ , რომ ვფიქრობ ასე უფრო ვვითარდები . რა ეტაპზე ხარ ახლა ? შეგიძლია საიტის გადინამიურება ? ბაზებს სწავლობ პარალელურად ? |
Posted by: GeorgeSword 24 Aug 2021, 21:10 | ||
levan88
React ს ვსწავლობ, ანუ ფრონტისკენ მიჭირავს გეზი რაც ფრონტში მეზარება ესაა css html მარქაფის კარგად სწავლაზე დროის ხარჯვა, ასე მგონია მაგას ბოლოსკენ მოვიტოვებ ან მარქაფისტები ცალკე ჯგუფია და აკეთებენ ან უბრალოდ როცა დამჭირდება მოვიძიებ ინფოს გუგლში და მერე დავუთმობ დროს ანუ ფუნქციონალზე მაქვს აქცენტი აღებული რათქმა უნდა ოღონდ ფრონტის ჭრილში ბექი არასოდეს მიცდია, საიდანღაც უნდა დამეწყო და ფრონტიდან დავიწყე დინამიურობამდე მიკლია ბევრი ალბათ, 1 კვირაა რაც რეაქტი დავიწყე, ნელნელა მოვდივარ აზრზე რა ფუნქციონალი როგორ მუშაობს ფრონტში firebase realtime databases მაქვს გასარჩევი რეაქტში, რაღაც პროექტისთვის მჭირდება მიუხედავად იმისა რომ ვებ დეველოპმენტში გადავდგი ნაბიჯი თან რაღაც პონტში გული მწყდება პაითონზე, დატა საინსში(ფიზიკის უფრო) ადვილად ვიშოვიდი მომენტ სამსახურს ვიდრე დეველოპმენტში, მაგრამ ნუ რაცაა ესაა ...აქ შემიძლია რეალური საიტები ავაწყო ხოლო დატა საინსში ასე ჩემთვის ვერ ვივარჯიშებ თუ არ ამიყვანეს ჯგუფში რეალისტურ ამოცანებზე და ეხლა ისეთი დროა კორონა და აშ ფულ ტაიმ ჯობის პოვნა ჭირს ალბათ ამიტომაც დეველოპმენტისკენ ავიღე გეზი....მერე ვნახოთ |
Posted by: პითონი 24 Aug 2021, 22:52 |
ვინ რისთვის სწავლობთ პითონს? ანუ რა განხრით გინდათ წასვლა და რატომ? |
Posted by: levan88 25 Aug 2021, 16:03 |
პითონი მიკროსერვისებისთვის ვსწავლობ Flask . GeorgeSword https://youtu.be/YeyFwT1Dgbw შენს წინა კითხვაზე პასუხი |
Posted by: GeorgeSword 25 Aug 2021, 18:29 |
levan88 აი ეგაა რა :დ ...... |
Posted by: lepori 21 Feb 2022, 15:25 |
https://www.facebook.com/groups/994676704761136/?hoisted_section_header_type=recently_seen&multi_permalinks=994769178085222 გადაინტერესებთ პითონის ბითქემფის ფბ ჯგუფი |
Posted by: NinjaRacer 22 Feb 2022, 10:37 |
რა კარგია რომ არ დამეზარა ამ ენის სწავლა რამდენ რამეში გამომადგა. |
Posted by: lepori 30 Apr 2022, 12:21 |
https://www.facebook.com/groups/954514315243520 დაინტერესებულთათვის, კაი ჯგუფი ჩანს Python4Beginners |
Posted by: Number 26 May 2022, 16:28 |
ხომ არ იცით პითონის IDLE-ში როგორ გამოვატანინო ქართული ფონტი? ლათინურად მუშაობს მხოლოდ და ქართულს რომ ვწერ ფაილში კითხვის ნიშნებად აჩენს... ამ დროს საბლაიმ ტექსტიც დაყენებული მაქვს ამავე კომპზე და მანდ ჩვეულებრივად შეგიძლია ქართულადაც დაწერო. მადლიობააა |
Posted by: Juventino 30 Jul 2022, 12:57 |
+++++++++++++++++++++++++++++ +++++++++++++++++++ დავფიქსირდე |
Posted by: Datvlas-vin-gtxovs 16 Aug 2022, 18:17 |
ჯიგრული სავარჯიშოები https://codingbat.com/python |
Posted by: gigaloz 19 Aug 2022, 19:25 |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
Posted by: Dirac 10 Sep 2022, 04:28 |
ამ კაცს აქვს კარგი ვიდეოები, დიზაინ პატერნზე, როგორ დაწერო კარგი კოდი. |
Posted by: Freestyle 10 Sep 2022, 22:05 |
რამე დისქორდ სერვერები არ გაქვტ სადაც ერთად გადიხართ, სწავლობთ? ბევრად მარტივია რამდენიმე კაცი როცა იკრიბება |
Posted by: lepori 22 Apr 2023, 14:35 |
https://www.facebook.com/quantoricom/posts/pfbid02b1ufB1UdBpr8UtwmMoiB6dz2nQo6obTqHmPuhNcqnWzsQwhH4u4rM2eehjdMMYU2l Quantori is happy to announce Quantori Python School! . . . . Python School Road Map: • Start: May, 2023 • Online classes twice a week in late afternoon time • Course duration: 3 months • The best students will join Quantori team as junior Python devs • Training language: English As a student you will be able to: • Structure and deepen your knowledge of Python and its ecosystem • Improve your code, master the best practices and cool language features • Learn how to create autotests, master the basics of data processing, learn how to write asynchronous python code • Improve your understanding of OOP Requirements: • Upper-intermediate English or higher • Able to plan, efficiently organize time, and multitask Nice to have • Expertise in data science/QA/analytics or other programming languages Fill out the application form by May 1 to apply, link in bio. |
Posted by: lepori 18 Jun 2023, 06:39 | ||||
ამოცანა: გვაქვს რაღაც სიტყვა (string) ეს სიტყვა უდნა გავყოთ შუაზე და ჯერ მეორე ნახევარი დავწეროთ მერე პირველი მაგალითად:
თუ კენტია შუა ასო პირველნახვარს მიყვება:
.... if-else გამოყენებით ვიხიმანდრე რაღაც: » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « მაგრამ გვაქვს შეზღუდვა დავწეროთ პროგრამა რომელიც ამას გააკეთებს იფელსეების გარეშე მაგას ვეღარ ვშვრავ |
Posted by: აბიტურიენტი 18 Jun 2023, 07:44 |
თუ შუა ასო პირველ ნახევარს მიყვება ესე იგი მეორე ნახევრის სიგრძე უნდა გამოთვალო და ბოლოდან მაგ ინდექსზე გადაჭრა სტრინგი » სპოილერის ნახვისთვის დააწკაპუნეთ აქ « |
Posted by: Link 7 Mar 2024, 15:00 | ||
lepori s = "lepori" middle_index = (len(s) + 1) // 2 output = s[middle_index:] + s[:middle_index] # orilep ხო , ვიცი, ვიცი, ძალიან დიდიხნის პოსტია მაგრამ... მაინც ვცადე. პითონი
ეეჰ. წვალებ-წვალებით sms gateway დავწერე რომ კონკრეტულმა სოფტმა რომელსაც არ აქვს custom API (ჩაშენებული აქვს ბილაინის თუ რაღაცის აპი მხოლოდ) შეძლოს სმსოფისი ან სენდერ.ge –თი სმს დაგზავნოს. მერე დავუმატე ეს დაგზავნა ტელეგრამზეც. მინდა ვაცაპი და ვაიბერი მაგრამ ბიზნეს account-ები არ მაქვს. ახლა დავამთავრე raspberry elevator access system : )) ფრონტით და ბექით, მაგიტომ შემოვიხედე აქ. რასპზეა rfif+id reader-ი, რელე და lcd ბარათის დადებისას flflფლასკს ეკითხება ჩაიხედოს მონგოში მოძებნოს ბარათი ის აბრუნებს პასუხს (თავისი ბალანსით ბარათზე) აღებს რელეს და გამოაქვს lcd -ზე ბალანსი რამდენი დარჩა. აჭრის 10 თეთრს (პირობითად) შესაბამისად თუ ეგეთი ბარათი არაა, ეკრანზე გამოაქვს ერორი. ნუ თუ ანგარიშზე არაა, გამოაქვს შესაბამისი ამასობაში არა-აქტიურ მდგომარეობაში ინახავს ყველა მიდებული ბარათის ნომერს. რომ თუ მოგვიანებით დამატება მომიწევს, დროის მიხედვით შევძლო იდენტიფიცირება. ფრონტზე ბარათების დამატება, წაშლა, გათიშვა, დაჯგუფება (ჯგუფის ყველა ბარათი იყენებს მთავარი ბარათის ანგარიშს) , ხელით "ბალანსის" დამატება, ნომრების, ტელეგრამების etc etc etc და ცოტა რომ დარჩება ანგარიშზე დაუგზავნის სმს-ს შეავსეო. ან ტელეგრამზე. (ეს უკვე წინა "პროექტის" გამოცდილებით) რამდენიმე დღეში ლიფტში დავაყენებ. მერე სელენიუმი მინდა, რადგან არ მაქვს არც შპს არც ბანკის აპი, რომელიც შევარდება ანგარიშზე წამოიღებს ამონაწერს, დაშლის, ამოიღებს არის თუ არა ჩარიცხვა შესაბამისი დანიშნულებით და ბაზაში ბალანსზე შეტენის იმდენს, რამდენიც დარიცხულია. მაგის მერე სახის ამოცნობა პაწაწინა კამერით. რომ ამოიცნობს ვინმეს ჩამოაჭრას ის პირობითი 10 თეთრი და ლიფტის ამგზავროს. ეს yolo (v5, v8, v9), არაა მაინცდამაინც რთული. იდეებს რა ვუყო-ო ძალიან კი მინდა, მაგრამ ძალიან ვწვალობ, იმაზე მეტად ვიდრე საჭიროა...აშკარად. არ მესმის ადამიანები ამხელა ინფორმაციას როგორ იმახსოვრებენ ან მეორე ვარიანტია, ასაკმა მაინც თავისი ქნა. ან მესამე ვარიანტია - დებილი ვარ და ვერ ვიმახსოვრებ. ნებისმიერ შემთხვევაში – ჩემ ჭიას ვახარებ რა შენ? |
Posted by: Roofus 11 Mar 2024, 23:02 |
Link https://payze.io/en https://pocketbase.io/ ბანკს რომ თხოვო დარიცხვის სმს-ში დანიშნულებაც მოაყოლონ და ეგ გაპარსო?) |
Posted by: Link 12 Mar 2024, 15:13 | ||
Roofus
აი დავაყენებ შაბათს იმუშაოს ერთი 2 თვე ხელით შეყვანილი "ბალანსებით" და მერე მგონი იურიდიული პირი არის ამხანაგობა. თუ არა და დავრეგისტრირდები იურიდიულ პირად. სმს- კიდე.. არა ბანკმა არამგონია დანინUშლება მოაყოლოს ჩარიცხვაში მოიცა, შენ გულისხმობ gprs gsm module -ი პირდაპირ ჩავუყენო raspberry-ს თავის ქართული ნომრით და სმს-რომ მიიღებს გაპარსოს? უი .. არ ჭირდება დანიშნულება სახელი გვარი ჩანს მაგრამ ახლა როგორ მეზარება კიდევ ერთი მოდული გახსოვს ეს? )))) p.s. ეს payze მომწონს. მგონი ყველაზე მარტივი იქნება. ვოტ ,, ტყუილად არ დამიპოსტავს Thank you ! თან ლოკალური მონგო მიხედავს ლოკალურ ამბებს. (რეპლიკა) main-ი მიხედავს ბალანსებს და გვერდზე კორპუსში რომ ჩავურთო , ან კიდე სადმე სხვაგან, ერთი გადახდის სისტემა main-იდან მიხედავს ყველა რეპლიკას და დაუ-აპდეიტებს ბალანსებს მაგარია |
Posted by: Roofus 13 Mar 2024, 09:27 | ||||||
Link
კი
მახსოვს კი ყველაფერი და მიხარია რომ პროგრესი გაქვს!
Welcome! |
Posted by: DidYouSeenMyMouse 17 Mar 2024, 16:57 |
ოდესმე რამეში პითონი გამოადგება კაცს?? |
Posted by: lepori 18 Mar 2024, 11:45 | ||
არაფრის მაქნისია სულ სძინავს 2 კვირაში ერთხელ 1 თაგვს გადასანსლავს და ისევ დაიძინებს გამოუსადეგარია |