1 00:00:01,259 --> 00:00:03,602 აი სად გავჩერდით წინა coin-flipping თამაშზე. 2 00:00:03,602 --> 00:00:06,597 დავიწყეთ შემთხვევითი ციფრის წარმოქმნით ნულსა და ერთს შორის, 3 00:00:06,597 --> 00:00:08,877 შემდეგ ვამრგვალებდით უახლოს ცვლად რიცხვამდე. 4 00:00:08,877 --> 00:00:12,214 ეს გვაძლევდა რიცხვს რომელიც იყო ნული ან ერთი. 5 00:00:12,214 --> 00:00:15,909 შემდეგ მოვახდინეთ ამის ილუსტრაცია რეალური მონეტით, ამ ellipse ფუნქციით, 6 00:00:15,909 --> 00:00:18,909 რომელიც იყო იასამნისფერი ან ყვითელი, იმის და მიხედვით რა ციფრი წარმოიქმნდებოდა. 7 00:00:18,909 --> 00:00:20,987 აგერ კოდი რითაც გავაკეთეთ ეს. 8 00:00:20,987 --> 00:00:22,819 თუ integer უდრის ნულს შევსების კოდი იყოს იასამნისფერი, 9 00:00:22,819 --> 00:00:25,819 წინააღმდეგ შემთხვევაში იყოს ყვითელი. 10 00:00:25,819 --> 00:00:27,917 შემდეგ დავწერეთ მონეტა აქ. 11 00:00:27,917 --> 00:00:30,755 მაგრამ ეხლა გადავწყვიტე, რომ ჩემ მონეტას აქვს სამი მხარე. 12 00:00:30,755 --> 00:00:32,455 დიახ, სამ-გვერდიანი მონეტა. 13 00:00:32,455 --> 00:00:34,190 მოდით დავამატოთ ეს მესამე მხარე. 14 00:00:34,190 --> 00:00:37,109 დავიწყებ რიცხვის შექმნით ნულიდან ორამდე, 15 00:00:37,109 --> 00:00:41,533 მას შემდეგ რაც დავამრგვალებთ, მომცემს ცვლადს რომელიც იქნება 0, 1 ან 2. 16 00:00:41,533 --> 00:00:45,609 მაგრამ თუ შევხედავ ჩვენ დაწერილ კოდს, ჩვენ მხოლოდ ორ შემთხვევას განვიხილავთ აქ. 17 00:00:45,609 --> 00:00:48,815 თუ integer არის ნული, იყოს იასამნისფერი, წინააღმდეგ შემთხვევაში იყოს ყვითელი. 18 00:00:48,815 --> 00:00:51,885 მაგრამ ახლა, წინააღდეგი შემთხვევა შეიძლება იყოს 1 ან 2. 19 00:00:51,885 --> 00:00:54,931 მოიცადეთ, რა იქნებოდა რომ გამეკეთებინა იგივე რაც წინაზე, 20 00:00:54,931 --> 00:00:57,403 მაგრამ ამ else ბლოკში. მე უბრალოდ დავწერ: 21 00:00:57,403 --> 00:01:05,783 თუ intiger უდრის ერთს, მაშინ ფერი იყოს ყვითელი, როგორც იყო წინაზე, 22 00:01:05,783 --> 00:01:11,403 წინააღმდეგ შემთხვევაში, ფერი იყოს წითელი. წითელი საკმაოდ კარგია. 23 00:01:11,403 --> 00:01:15,478 ეს ნიშნავს რომ, თუ integer უდრის ნულს, ფერი იყოს იასამნისფერი, 24 00:01:15,478 --> 00:01:18,984 წინააღმდეგ შემთხვევაში, თუ არის ერთი, იქნება ყვითელი; 25 00:01:18,984 --> 00:01:21,611 წინააღმდეგ შემთხევაში, რაც ნიშნავს რომ, თუ არც ნულია და არც ერთი, 26 00:01:21,611 --> 00:01:24,611 მაშინ იქნება ორი, და ფერი იყოს წითელი. 27 00:01:24,611 --> 00:01:28,566 ვაჭერ განახლებას რამოდენიმეჯერ. მუშაობს! 28 00:01:28,566 --> 00:01:30,996 შემდეგ თუ მინდა დავამატო კიდევ რამოდენიმე მხარე ჩემ მონეტას, 29 00:01:30,996 --> 00:01:34,987 მივალ აქ, გავხდი ნულიდან სამამდე, შემდეგ გადავალ else ბლოკში 30 00:01:34,987 --> 00:01:37,987 და დავამატებ მეტ if-else ფუნქციებს და ა.შ. 31 00:01:37,987 --> 00:01:40,158 სანამ არ მექნება უამრავი ბლოკი. 32 00:01:40,158 --> 00:01:44,704 და მხოლოდ მაშინ მივხვდები, რომ ეს კოდი არის საშინელი! უაზრო! 33 00:01:44,704 --> 00:01:48,901 კოდი უნდა იყოს მარტივი წასაკითხი და ლამაზი, და არა უშნო. 34 00:01:48,901 --> 00:01:50,620 აი რას გავაკეთებთ ეხლა ჩვენ: 35 00:01:50,620 --> 00:01:55,675 როცა გაქვთ ერთი if ბრძანება ან if-else ბრძანება else ბლოკში, 36 00:01:55,675 --> 00:01:58,313 რაც ნიშნავს რომ ამ ბლოკებს გარეთ არაფერ არ ვაკეთებთ, 37 00:01:58,313 --> 00:02:04,486 აღარ ვანიჭებთ მეტ ფერებს, აღარ გვაქვს მეტი if ბრძანებები. 38 00:02:04,486 --> 00:02:08,444 გვაქვს მხოლოდ ერთი if ბრძანება, და შეიძლება მოყვება else ბლოკი. 39 00:02:08,444 --> 00:02:13,156 შემდეგ ჩვენ შეგვიძლია შევაერთოთ ეს პირობა წინა ხაზით და დავწეროთ: 40 00:02:13,156 --> 00:02:17,073 else if integer უდრის ერთს, ფერი იყოს ყვითელი. 41 00:02:17,073 --> 00:02:22,509 შემდეგ ეს უკანასკნელი else ბლოკი არ ზის არსად, გვხვდება სულ ბოლოში. 42 00:02:22,509 --> 00:02:27,067 კარგია! ეს ნიშნავს რომ, თუ integer უდრის ნულს, ფერი იყოს იასამნისფერი, 43 00:02:27,067 --> 00:02:30,235 წინააღმდეგ შემთხვევაში, თუ integer უდრის ერთს, იყოს ყვითელი 44 00:02:30,235 --> 00:02:34,484 წინააღმდეგ შემთხვევაში, თუ ეს ორივე მცდარია, ფერი იყოს წითელი. 45 00:02:34,484 --> 00:02:37,738 ვაჭერ განახლებას რამოდენიმეჯერ და მაინც მუშაობს. 46 00:02:37,738 --> 00:02:41,824 კარგია! მაგარი ის არის რომ, შეგვიძლია გვქონდეს იმდენი else-if რამდენიც გვინდა, 47 00:02:41,824 --> 00:02:44,703 რაც ძალიან მიმარტივებს მხარეების დამატებას ჩემს მონეტაზე. 48 00:02:44,703 --> 00:02:48,009 მოდით ეხლა ეს ვცადოთ. მე შევქმნი რიცხვს ნულიდან სამამდე, 49 00:02:48,009 --> 00:02:51,125 შემდეგ უბრალოდ დავამტებ კიდევ ერთ else ბლოკს, 50 00:02:51,125 --> 00:02:57,065 რომელიც ამბობს else if intiger უდრის ორს, 51 00:02:57,065 --> 00:02:59,658 ჩვენ დავაყენბთ ფერს... წინაზე იყო წითელი და დავტოვოთ წითელი. 52 00:02:59,658 --> 00:03:03,338 შემდეგ ეს უკანასკნელი ბლოკი იქნება, როცა integer უდრის სამს, 53 00:03:03,338 --> 00:03:08,969 ფერი იყოს ლურჯი. კარგია! 54 00:03:08,969 --> 00:03:12,816 ძალიან კარგი. ეს რომ გააკეთოთ, ყოველთვის უნდა დაიწყოთ if ბრძანებით, 55 00:03:12,816 --> 00:03:16,600 შემდეგ შეგიძლიათ გქონდეთ რამდენი else-if ფუნქციაც გინდათ, 56 00:03:16,600 --> 00:03:18,698 და ეს ბოლო არის სურვილისამბრ. 57 00:03:18,698 --> 00:03:21,900 შეგვიძლია მის გარეშეც, მაგრამ შემდეგ შეიძლება ყველა ეს გამოვიდეს მცდარი, 58 00:03:21,900 --> 00:03:23,722 და არც ერთი ბლოკი არ შესრულდება. 59 00:03:23,722 --> 00:03:30,484 მაგრამ სანამ ეს გვაქვს აქ, ზუსტად ერთ-ერთი ბლოკი გაეშვება. 60 00:03:30,484 --> 00:03:34,017 მაგარია? ეს არის შემთხვევა სადაც არ აქვს მნიშვნელობა 61 00:03:34,017 --> 00:03:37,017 თუ დაწერთ if else-if else-if else, 62 00:03:37,017 --> 00:03:42,509 ან უბრალოდ გამოიყენებთ ძველ if ბრძანებას რომელიც გვქონდა დასაწყისში, 63 00:03:42,509 --> 00:03:45,509 თუ integer უდრის სამს. 64 00:03:45,509 --> 00:03:50,728 ეს იმიტომ რომ, შეუძლებელია integer უდრიდეს ნულს და შემდეგ ასევე ერთს, ორს ან სამს. 65 00:03:50,728 --> 00:03:54,223 კარგია. ეს პირობები არის ურთიერთ გამომრიცხავი. 66 00:03:54,223 --> 00:03:56,609 მხოლოდ ერთ-ერთი ბლოკი გაეშვება მაინც. 67 00:03:56,609 --> 00:03:58,278 მაგრამ ეს ყველა შემთხვევა არ არის. 68 00:03:58,278 --> 00:04:01,636 რა იქნება თუ თამაშს ავაწყობთ ცვლადის დამრგვალების გარეშე? 69 00:04:01,636 --> 00:04:04,485 მოვაშორებ დამრგვალების ფუნქციას, 70 00:04:04,485 --> 00:04:06,640 და შემდეგ მეორე ნაწილს სადაც ვხატავთ ეკრანზე. 71 00:04:06,640 --> 00:04:09,284 მოდით ახალი წესები მოვიგონოთ ამ თამაშში. 72 00:04:09,284 --> 00:04:12,637 მე კლავ წარმოვქმნი რიცხვს ნულიდან სამამდე, 73 00:04:12,637 --> 00:04:15,315 დავადოთ რამოდენიმე ნიშანი ჩვენ რიცხვებს. 74 00:04:15,315 --> 00:04:23,378 თუ რიცხვი იქნება ნულიდან ერთამდე, გავაფერადოთ იასამნისფრად. 75 00:04:23,378 --> 00:04:26,153 ეს სულაც არ გამოიყურება როგორც ისამნსიფერი, მაგრამ ხომ მიხვდით. 76 00:04:26,153 --> 00:04:30,504 შემდეთ თუ არის ერთიდან ორამდე, გავაფერადოთ ყვითლად. 77 00:04:30,504 --> 00:04:35,533 თუ არის ორიდან სამამდე, იყოს წითელი. 78 00:04:35,533 --> 00:04:38,651 კარგია. მოდით ვნახოთ როგორ გამოვა if და else-if ფუნქციების გამოყენებით. 79 00:04:38,651 --> 00:04:43,542 შემიძლია დავიწყო ასე, if რიცხვი ნაკლებია ერთზე, 80 00:04:43,542 --> 00:04:48,836 ანუ თუ ნაკლებია ერთზე, და ვიცი რომ ეს ნულსა და სამს შორის არის, 81 00:04:48,836 --> 00:04:55,806 რაც ნიშნავს რომ ამ მონაკვეთშია, დავაყენებ ფერს იასამნისფერზე. 82 00:04:55,806 --> 00:05:06,432 წინააღმდეგ შემთხვევაში, თუ რიცხვი 2-ზე ნაკლებია, დავაყანებ ყვითელ ფერს... 255... 83 00:05:06,432 --> 00:05:13,263 და წინააღმდეგ შემთხვევაში, ფერი დავაყენოთ წითელი. 84 00:05:13,263 --> 00:05:15,596 კარგია! და მუშაობს როგორც გვქონდა ჩაფიქრებული. 85 00:05:15,596 --> 00:05:19,307 თუ რიცხვი იქნებოდა ერთზე ნაკლები, იქნებოდა ამ მონაკვეთში. 86 00:05:19,307 --> 00:05:23,603 წინააღდეგ შემთხვევაში, მეტია ან უდრის ერთს, მაგრამ ასევე ნაკლებია ორზე, 87 00:05:23,603 --> 00:05:26,732 და ამიტომ ხვდება ამ მონაკვეთში და ვანიჭებთ ყვითელ ფერს. 88 00:05:26,732 --> 00:05:31,900 წინააღმდეგ შემთხვევაში, უნდა იყოს მეტი ან ტოლი ორის, და აღმოჩნდებოდა ამ მონაკვეთში. 89 00:05:31,900 --> 00:05:36,277 აგერ შემთხვევა, როცა ჩვენ ვერ ვიტყოდით რომ თუ რიცხვი ნაკლები 2-ზე, 90 00:05:36,277 --> 00:05:39,650 და ნაკლებია სამზე, 91 00:05:39,650 --> 00:05:42,932 იმიტომ რომ თუ რიცხვი ნაკლებია 1-ზე, მაშინ ყველა ვარიანტში ნაკლებია 2-ზე 92 00:05:42,932 --> 00:05:44,896 და ასევე ნაკლებია 3-ზე. 93 00:05:44,896 --> 00:05:46,781 ჩვენი მონატა კი ყოველთვის გამოვა წითელი. 94 00:05:46,781 --> 00:05:50,781 ამიტომაც ასეთ შემთხვევაში, ძალიან გამოსადეგია else-if ფუნქცია.