Python - python else/if | Cyber Community | Hi-Tech World - CYBSECGROUP
Welcome to the CYBSECGROUP Forum
You have the opportunity to get acquainted with interesting projects in an interesting environment
Registration

Python python else/if

ვაკო ბატიაშვილი

I am Groot!!!
Founder CEO
Alien 👽
Jun 27, 2018
999
1,743
#1
გამარჯობა თანაფორუმელებო. რიგი მიზეზების გამო ვერ ვახერხებ ტუტოიალის გადაღებას ამიტო დავწერ ამ თემაზე. და გეტყვით რომ ამ პოსტის მერე უკვე უშიალოდ დემოებს განახებთ. ანუ მაგალითად ადმინ ფეიჯ ფინდერს დავწერთ და რაც არ იცით(ნუ რაც არ მითქვამს) იმას აგიხსნით. უფრო ნაყოფიერი იქნება ასეთი სახით სწავლა. მოკლედ დავუწყოთ პირობებით. მაგრამ ჯერ უნდა გავიგოთ შედარების ოპერატორები. ამის გასაგებად კონსოლიც საკმარისია. ამ ეტაპზე ლინუქსით ვარ ამიტომ ვხსნი ტერმინალს და ვწერთ python3. თუ წარმატებით გაეშვა ვაგრძელებთ, ხოლო თუ ასე არ მოხდა დაწერთ sudo apt-get install python3. ამ კომანდით დააყენებთ პითონ სამს. დებიანის დისტრიბუციების უმეტესობას მოყვება პითონის მესამე ვერსია. გავაგრძელოთ. პირველი შედარების ოპერატორია == რაც ამოწმებს მითითებული სტრინგები თუ სხვა ტიპის მონაცემები უდრის თუ არა ერთმანეთს. თუ ერთმანეთის ტოლია დააბრუნებს True-ს ხოლო თუ არ უდრის False-ს
Screenshot from 2018-10-13 15-56-09.png
როგორც ხედავთ დააბრუნა True. ანალოგიურად მუშაობს ფლოატის და სტრინგის ტიპის მონაცემებზეც.
Screenshot from 2018-10-13 15-58-27.png
თუმცა სქრინს თუ დააკვირდებით ნახავთ რომ 12=="12" დაგვიბრუნა False. ვინაიდნა ერთი მონაცემი იყო ინტეჯერის ტიპის ხოლო მეორე კიდევ სტრინგის. ვინაიდან სტრნგი და ინტეგერი სხვადასხვა ადგილს იკავებს და "რიცხვითი ფასიც" სხვადასხვა აქვს დააბრუნა False. 12.0==12 დააბრუნებს თრუს. ვინაიდან მართლა ტოლია 12.0==12 -ის :D ალბათ იტყვით ისაც ტოლი იყო მაგრამ ინტეგერი და ფლოატის წონა ძალიან განსხვავებულია. ამაზე საუბარი ძალიან შორს წაგვიყვანს ამიტომ მოდი უბრალოდ გავაფრძელოთ და გადავიდეთ შემდეგ ოპერატორებზე

!= არ უდრის- აბრუნებს True-ს თუ არ უდრის ორი მმითითებული მონაცემი ერთმანეთს,წინააღმდეგ შემთხვევაში დააბრუნებს False-ს.

> მეტია- აბრუნებს True-ს პირველი მონაცემი მეტია მეორეზე,წინააღმდეგ შემთხვევაში დააბრუნებს False-ს.

< ნაკლებია- აბრუნებს True-ს პირველი ნაკლებია მეორეზე,წინააღმდეგ შემთხვევაში დააბრუნებს False-ს.

>= მეტია ანდა ტოლი - აბრუნებს True-ს პირველი მონაცემი მეტია მეორეზე ანდა ტოლია,წინააღმდეგ შემთხვევაში დააბრუნებს False-ს.

<= ნაკლებია ანდა ტოლია- აბრუნებს True-ს პირველი ნაკლლებია ანდა ტოლია მეორის(ანუ არ აღებატება მეორეს),წინააღმდეგ შემთხვევაში დააბრუნებს False-ს.

ახლა გადავიდეთ პითონის სინტაქსზე რომელიც გამოიყენება პირობებში. გავხსნათ idle ან რაიმე სხვა ედიტორი და დავწეროთ if 1==1: და დავაწვეთ ენთერს. როგროც ხედავთ კურსორი ოდნავ შეწწეულია ახლა. ედიტორმა ავტომატურად შეწია. ვინაიდან მიხვდა რომ ეს პირობის ბლოკისთვისაა განკუთვნილი. შეწეულში დავწეროთ print("I'm Groot") და გავუშვათ. შეასრულებს ჩვენს ფუნქციას. დავამატოთ კიდევ ორი ხაზი და მერე აგიხსნით რა ხდება და როგორ
Screenshot from 2018-10-13 16-12-25.png
თუ დავიშვებთ აუთფუთი იგივე იქნება. ახლა გეტყვით რატომ ხდება ასე. მოკლედ if-ის მერე იწერება პირობა. თუ პირობა აბრუნებს True-ს მაშინ სრულდება ბლოკი. სხვა ენებში ეს ბლოკები გამოიყოფა ხოლმე { } ასე. ანუ სად იწყება და სად იხურება. თუმცა პითონში არაა ასე. შეწეული დაგამოწეული ადგილებით ხდება სად იწყება ბლოკი და სად მთავრდება. ჩვნენს შემთხვევაში პირველ პრინტთან დაიწყო პირობის ბლოკი ხოლო ელსთან მორჩა. ვინაიდან გამოწეულია. ხოლო ელსის ბლოკი დაიწყო II პრინტთან. რატომ არ დაბეჭდა I'm Not Groot? დავამატოთ ცოტა კოდი და მივხვდებით.
Screenshot from 2018-10-13 16-16-42.png

მოცეულ კოდს თუ გავუშვებთ ისევ დაწერს I'm Groot-ს. არადა 2==2 იც ხომ დადებით პასუხს აბრუნებს? მართალია თუმცა IF ის პირობა თუ ჭეშმარიტია შეასრულებს თავის ბლოკს და დანარჩენ ელიფებს და ელს-ს გადაახტება. ეს ელიფი რაღაა? if-სწორედ ასეთი პრინციპით მუშაობის გამო გამოიყენება. ანუ მანდაც if რომ დაგვეწერა სხვა შემთხვევაში პროცეს გაანელებდა. ანუ თუ პირველი IF ჭეშმარიტი იქნებოდა მეორესაც შეამოწმებდა და იმენს შეამოწმებდა რამდენიც ეწერებოდა. ხოლოდ რამდენი ელიფიც გინდა ეწეროს თუ ერთი სწორია დანარჩენს გადაახტება. ხოლო თუ არც IF და არც elIF -მა დააბრუნა დადებითი პასუხი შეასრულებს პროგრამა else-ბლოკის კოდს აქვე გავითვალისწინოთ რომ else-ს პირობა არ უნდა. else/if-ს ალტერნატივა პითონში გვაქვს switch case თუმცა ამაზე საუბარს ჯერ არ ვაპირებ. დღეისთვის სულ ეს იყო. დაგიბრუნდებით მალე
 

W0RLD3ND3R

Hacktivist 🌐
აქტიური მომხმარებელი
Alien 👽
Jun 30, 2018
89
54
#2
კარგია, მაგრამ ცოტაა~