‫ยินดีต้อนรับกลับ.
‫ก่อนที่เราจะเริ่มต้นอย่างอื่น ฉันมีความท้าทายเล็กน้อยสำหรับคุณ และนั่นคือการวนซ้ำที่นี่
‫สิ่งนี้ซ้อนกันสำหรับลูปและปรับแต่งเพื่อให้คอนโซลของเราที่นี่หรือสำหรับลูปโดยทั่วไปจะไม่พิมพ์องค์ประกอบทั้งหมดของเมทริกซ์ของเรา
‫แต่เฉพาะรายการที่เป็นเลขคี่
‫ดังนั้นมีเพียงสองถึง 4 ถึง 6 และแปดเท่านั้น
‫ดังนั้นโปรดปรับโค้ดเพื่อให้ใช้งานได้
‫และเพียงคำใบ้เล็กๆ น้อยๆ ที่คุณจะต้องใช้คำสั่ง if และตัวดำเนินการโมดูโล
‫ตกลง.
‫ดังนั้น ฉันหวังว่าคุณจะผ่านวิดีโอนี้ไป และคุณลองทำด้วยตัวเองเพื่อให้โค้ดทำงาน และทำให้โค้ดเป็นไปตามที่เราต้องการ
‫และสิ่งที่เราต้องการทั้งหมดคือคำสั่ง if ตรวจสอบเมทริกซ์ที่ตำแหน่ง i j สำหรับโมดูโลสอง เพราะถ้าบางอย่างเป็นโมดูโลสองศูนย์
‫แล้วมันจะเป็นเลขคู่
‫โดยพื้นฐานแล้วสิ่งนี้ทำคือเปรียบเทียบว่าเศษโมดูโลเมื่อคุณหารบางอย่างด้วยสองจะเป็นศูนย์หรือไม่
‫ถ้าเศษเป็นศูนย์ เราก็รู้ว่าเรามีเลขคู่
‫โอเค โดยพื้นฐานแล้วมันจะเป็นอย่างนั้น
‫ดังนั้นหากเป็นกรณีนี้ ให้พิมพ์หมายเลขและอื่น ๆ
‫เรายังสามารถเพิ่มคำสั่งที่นี่ซึ่งมันแค่คอนโซลใช่ไหม
‫เหมือนวิญญาณและเป็นเพียงพื้นที่ว่าง ไม่มีอะไรมากไปกว่านี้
‫ตกลง.
‫ทีนี้ก็จะพิมพ์ออกมา
‫และพิมพ์เฉพาะเลขคู่ สอง สี่ หก แปด
‫นั่นคือสิ่งที่ฉันหมายถึง
‫เราทุกคนต้องการคำสั่ง F เช่นเดียวกับตัวดำเนินการโมดูโล
‫นี่คือตัวดำเนินการโมดูโล และมันใช้ได้กับเศษ
‫ทีนี้ อย่างไรก็ตาม ถ้าอันใดอันหนึ่งเป็นผลตรงนี้ ถ้าเศษเหลือเป็นหนึ่ง เราก็รู้ว่าเรามีเลขคี่
‫เลยลองเรียกใช้อีกครั้ง
‫คุณจะเห็นว่าเราได้เฉพาะเลขคี่จากเมทริกซ์ของเรา
‫นี่เป็นเพียงความท้าทายเล็กน้อยสำหรับคุณในการทำให้น้ำผลไม้ไหลออกมา
‫ทีนี้ลองดูว่าเราจะพิมพ์องค์ประกอบแนวทแยงของเมทริกซ์ได้อย่างไร
‫ตัวอย่างเช่น หนึ่ง ห้า และเก้า
‫หรือเจ็ด ห้า และสาม
‫หรือในทางกลับกันจริงๆ
‫สาม ห้า เจ็ด.
‫แล้วเราจะบรรลุสิ่งนั้นได้อย่างไร?
‫ดังนั้นหากเราดูที่การวนซ้ำซ้อนกันของเราที่เราสร้างขึ้นที่นี่ เราจะรู้ว่าที่นี่ I เป็นศูนย์และ J เป็นศูนย์
‫ถ้าเราดูที่ I และ J ในกรณีนี้ I คือหนึ่ง และ J คือหนึ่ง และในกรณีนี้ I คือ 2 และ J เป็นสอง
‫ถ้าเราอยากได้เส้นทแยงมุม เรารู้ว่า I กับ J ต้องเท่ากัน
‫อย่างน้อยสำหรับเส้นทแยงมุมนี่ตรงนี้ สี่ หนึ่ง ห้าและเก้า สี่ เจ็ด ห้า และสาม มันจะเป็นอีกเรื่องหนึ่ง
‫แต่สำหรับหนึ่งในห้าที่เก้า โดยพื้นฐานแล้ว เราสามารถทำสิ่งที่ง่ายมาก นั่นคือการตรวจสอบว่าเมทริกซ์นั้นหรือไม่
‫อันที่จริงเป็นความท้าทายสำหรับคุณ
‫ลอง.
‫ลองด้วยตัวคุณเอง
‫ตกลง.
‫ดังนั้นฉันหวังว่าคุณจะตรวจสอบมัน
‫แล้วไง?
‫เราต้องตรวจสอบสิ่งนี้
‫ฉันเท่ากับ J หรือไม่
‫และถ้าเป็นกรณีนี้ ก็พิมพ์ค่าออกมา
‫มิฉะนั้น ให้พิมพ์พื้นที่ว่าง
‫งั้นก็รีบไปกันเถอะ
‫และเราจะเห็นว่าเราได้หนึ่ง ห้า และเก้า
‫ตอนนี้ฉันต้องการให้มันดูดีขึ้นเล็กน้อย
‫สิ่งที่เราสามารถทำได้จริงๆ คือ เราสามารถใช้คำสั่ง control bright line กับพื้นที่ว่าง แล้วมันจะออกมาเป็นแบบนี้
‫หนึ่ง ห้า เก้า ด้วยเหตุผลด้านสุนทรียะ
‫นั่นคือสิ่งที่เราสามารถทำได้ที่นี่
‫แน่นอน คุณสามารถสร้างตรรกะที่ซับซ้อนมากขึ้นได้
‫สิ่งที่คุณทำได้คือแทนที่ค่าเส้นทแยงมุมได้
‫ตัวอย่างเช่น แทนที่จะพิมพ์ออกมา คุณสามารถมอบหมายได้
‫ดังนั้นคุณสามารถกำหนดค่าอื่นสำหรับพวกเขาโดยพูดว่า
‫ทั้งหมดควรเป็นหนึ่งเดียว ตัวอย่างเช่น
‫นั่นอาจเป็นสิ่งที่คุณทำได้
‫แล้วลองทำแต่ละประโยคด้านล่างกัน
‫เรียกใช้สิ่งนี้อีกครั้ง
‫และคุณจะเห็นว่าตอนนี้จะเป็น หนึ่ง สอง สาม สี่ หนึ่ง หก เจ็ด แปด หนึ่ง
‫โอเค โดยพื้นฐานแล้วแทนที่ห้าตัวนี้และเก้าตัวนี้ด้วยหนึ่ง
‫ตอนนี้นี่เป็นเพียงตัวอย่างวิธีการทำโดยใช้ nested for loop
‫จริงๆ แล้ว คุณสามารถทำได้โดยใช้เพียงลูปเดียว
‫แน่นอนว่าง่ายกว่าเล็กน้อยและเป็นความท้าทายเล็กน้อยสำหรับคุณ
‫ลองทำโดยใช้เพียงลูปเดียว
‫ตกลง.
‫โดยพื้นฐานแล้วมันจะเป็นแค่นี่ตรงนี้
‫เราก็แค่ใช้นี่สำหรับลูปที่มันผ่านเมทริกซ์ได้ความยาว ดังนั้นผ่านความยาวของคอลัมน์
‫อย่างว่า แล้วมันก็พิมพ์ I
‫โดยพื้นฐานแล้วพูดว่าหนึ่งหรือในกรณีนี้ศูนย์ศูนย์
‫ในกรณีนี้อย่างใดอย่างหนึ่ง
‫ในกรณีนี้ สอง สอง
‫นี่จะเป็นตำแหน่งของตัวเลขที่ผมเพิ่งแสดงให้คุณดู
‫ตกลง.
‫ถ้าเราดำเนินการนี้ เราควรได้หนึ่ง ห้า เก้าด้วย
‫ลองดูแล้วเราจะได้ 159.
‫โอเค ทีนี้ถ้าเราต้องการได้สาม ห้า และเจ็ดล่ะ?
‫ตอนนี้ฉันต้องการให้คุณหยุดวิดีโอชั่วคราวและค้นหาตรรกะที่จะพิมพ์ออกมาสาม ห้า หรือเจ็ดแทน
‫ตกลง.
‫สิ่งนี้จะซับซ้อนขึ้นเล็กน้อยเพราะตอนนี้เราต้องคิดว่าเราต้องเริ่มมองที่ใดและเราต้องเริ่มที่ใด
‫RJ เพราะโดยพื้นฐานแล้วสิ่งที่เราต้องทำคือตาของเรายังคงเริ่มต้นที่จุดเริ่มต้นและเพิ่มขึ้นทีละหนึ่ง
‫ดังนั้นเราจึงไปทีละแถว
‫แต่อาร์เจ
‫เขาจะลงจากค่าสูงสุดในกรณีนี้จากสอง
‫ตกลง.
‫ดังนั้น.
‫ตกลง.
‫ตอนนี้ฉันอยากจะแสดงเคล็ดลับเล็กๆ น้อยๆ ว่าคุณจะลงไปได้อย่างไร หรือโดยพื้นฐานแล้วแสดงสัญญาณในแนวทแยงจากอีกทางหนึ่ง
‫จากสาม ห้า และเจ็ด ดังนั้น คุณสามารถใช้บางอย่างโดยที่สี่ลูปจะเป็น
‫ต้องคอยตอบโต้ตัวแปร
‫ปกติแล้วเรามาดูที่ for loop กัน
‫เราสามารถป้อนสี่แล้วกดแท็บสองครั้ง
‫นี่คือลักษณะที่สี่ลูปมักจะดูเหมือน
‫ใช่ไหม
‫ดังนั้นคุณจึงมีตัวแปรตัวนับ เช่น แล้วคุณมีความยาว และในกรณีของเรา ความยาวจะถูกกำหนดไว้ล่วงหน้าเป็นสามเพราะเราจะฮาร์ดโค้ดในครั้งนี้
‫เรารู้ว่าเราจะมีสามบรรทัดตรงนี้
‫แน่นอน คุณอาจบอกว่าเมทริกซ์ได้ความยาว เหมือนกับว่าเมทริกซ์ได้ความยาว
‫สำหรับมิติที่ศูนย์
‫และตอนนี้สิ่งที่คุณทำได้ก็คือ คุณสามารถเพิ่มเครื่องหมายจุลภาคที่นี่และบอกว่า
‫J ควรเริ่มต้นเป็นสอง แล้วคุณลดค่า J
‫สำหรับการทำซ้ำแต่ละครั้ง
‫เช่นนั้น
‫ตอนนี้สิ่งที่เรามีคือเราต้องตอบโต้ตัวแปร
‫ดังนั้นเราจึงมีตัวนับตาพร้อมใช้ และในขณะเดียวกัน J ก็นับตัวแปร แต่เราจำกัดตามค่าสายตาเท่านั้น
‫ดังนั้นสิ่งนี้จะทำงานได้อย่างถูกต้องสำหรับเมทริกซ์ที่มีจำนวนคอลัมน์เท่ากันกับจำนวนแถวเท่านั้น
‫เพราะไม่เช่นนั้นคุณจะต้องใช้การวนซ้ำที่ซ้อนกันเหมือนที่เราเคยทำมา
‫วิธีนี้ใช้ไม่ได้ผล และเราสามารถเขียนตำแหน่งเมทริกซ์ I และ J ลงในคอนโซลของเราได้
‫ลองดูแล้วเราจะเห็นว่ามันแสดงสาม ห้า และเจ็ด
‫คราวนี้จึงเปลี่ยนจากบนขวาไปล่างซ้าย
‫แต่นี่เป็นเพียงตัวอย่างว่าคุณจะทำอะไรได้บ้างกับการติดตามผล
‫นี่ไม่ใช่วิธีปฏิบัติทั่วไป ดังนั้นโปรดใช้ความระมัดระวังเมื่อคุณใช้งาน
‫อ่านยากขึ้นเล็กน้อย และนี่คือสิ่งที่ควรพิจารณาเมื่อพัฒนา
‫ดังนั้น ถ้าคุณใช้มันในตัวอย่างง่ายๆ มันอาจจะใช้ได้
‫แต่ถ้าตัวอย่างมีความซับซ้อนมากขึ้น อาจทำให้สับสนได้ หรืออาจสร้างความสับสนได้เมื่อตรวจสอบแอปพลิเคชันของคุณอีกครั้ง
‫หรือเมื่อมีนักพัฒนารายที่สามหรือนักพัฒนารายที่สองเข้ามาตรวจสอบโค้ดของคุณ
‫ดังนั้นจงคำนึงถึงสิ่งนั้นเสมอเมื่อเขียนโค้ดของคุณ
‫ทำให้ตรงไปตรงมาที่สุดเพื่อให้สามารถอ่านได้