ยินดีต้อนรับกลับ.
คุณจัดการกับเกมสุ่มได้อย่างไร?
คุณสามารถแก้ปัญหาได้หรือไม่?
มาลองดูกันที่นี่
ตอนนี้ฉันกำลังจะใช้กองทดสอบ ที่จริง ให้เปลี่ยนชื่อมันเพื่อไม่ให้สับสน
ฉันจะเปลี่ยนชื่อเป็นสุ่ม ไม่ใช่เกมสุ่มเรียกค่าไถ่
ไม่เป็นไร.
ตอนนี้ในที่นี้ ฉันอยากจะทำได้ อย่างแรกเลย
ลองคิดดูว่าเราต้องการอะไร
ดังนั้นสิ่งแรกที่เราต้องทำคือ
สร้าง.
นับหนึ่งถึงสิบ
แล้วสิ่งที่เราต้องทำต่อไปคือการรับข้อมูลจากผู้ใช้ใช่ไหม?
แล้วเราต้องการตรวจสอบอินพุต
สมมุติว่าตรวจสอบว่าอินพุตเป็นตัวเลขหนึ่งถึงสิบแล้ว
ตรวจสอบว่า
ถ้าตัวเลขเป็นการเดาที่ถูกต้อง
มิฉะนั้น.
ถามอีกครั้ง.
นั่นก็ดูเหมือนเป็นโปรแกรมที่ดีที่เราจะเขียนได้
แล้วเราจะทำสิ่งนี้ได้อย่างไร?
งานแรกคือการสร้างตัวเลข 1 ถึง 10
ฉันรู้ว่าฉันจะต้องการนำเข้าไลบรารีแบบสุ่มจากที่นี่อย่างแน่นอน และโดยเฉพาะที่นั่นมีค่าเช่า
int
ดังนั้นฉันสามารถพูดได้จากคำใบ้ค่าเช่านำเข้าแบบสุ่มที่เราเคยเห็น
และที่นี่ฉันสามารถสร้างตัวเลขได้
ให้เรียกว่าเป็นคำตอบว่าจะเช่าและ
ตั้งแต่ 1 ถึง 10
นี่จะเป็นเครื่องของเราที่สร้างตัวเลขสุ่มที่เราต้องลองเดา
ต่อไปเราต้องรับข้อมูลจากผู้ใช้
แล้วเราจะทำสิ่งนี้ได้อย่างไร?
ง่ายใช่มั้ย?
เราสามารถเดาว่าเป็นอินพุตจากผู้ใช้และเราจะได้รับข้อความแจ้ง
เราจะบอกว่าคาดเดาตัวเลขหนึ่งถึงสิบ
ดีแล้วที่ดูดี
แล้วตรวจสอบว่าอินพุตนั้นเป็นตัวเลข 1 ถึง 10 หรือไม่
ดังนั้นเราต้องตรวจสอบที่นี่สักหน่อยเพราะเราต้องการวนซ้ำในขณะที่ผู้ใช้คาดเดา
ฉันกำลังจะทำ true loop ซักพักที่เราต้องทำให้แน่ใจว่าเราแยกจากกัน ดังนั้นเราจึงไม่มีลูปอนันต์
และในส่วนแรกของลูป ฉันต้องการตรวจสอบว่าผู้ใช้ป้อนข้อมูลอะไร
ดังนั้นฉันจะบอกว่าถ้าเดา
เรารู้ทันทีว่าอินพุตจะให้สตริง ดังนั้นเราต้องตรวจสอบให้แน่ใจว่าเราแปลงเป็น
INT ก่อน
มาทำกัน
ฉันกำลังจะบอกว่า
ถ้า.
ไม่ใช่
เดา.
คือ.
ยิ่งใหญ่กว่า
แล้วหนึ่ง
และมัน.
เดาน้อยกว่า
11.
ในกรณีของเรา ลองทำศูนย์ตรงนี้เพราะเราต้องการให้แน่ใจว่าถ้าเป็นหนึ่ง ก็ยังดีอยู่
ถ้าสิบก็ยังดี
ในกรณีนั้น?
จริงๆแล้วเราสามารถลองตรวจสอบว่าเป็นแขกที่ใช่หรือไม่
ตอนนี้.
จะเกิดอะไรขึ้นหากสิ่งนี้ล้มเหลว
จะเกิดอะไรขึ้นหากผู้ใช้ป้อนสตริงที่ไม่สามารถเปลี่ยนเป็น int ได้
ตัวอย่างเช่น ถ้าฉันไปที่เทอร์มินัลของฉันที่นี่ และฉันเพิ่งเปิดล่าม Python แล้วพูด int จากนั้นให้พูดพล่อยๆ
ฉันได้รับค่า error ที่ไม่ถูกต้องตามตัวอักษรสำหรับ int ที่มีฐานสิบ
ฉันไม่รู้ว่าคุณกำลังพยายามทำอะไร เราจึงสามารถตรวจสอบค่าผิดพลาดได้ที่นี่
ดังนั้นสิ่งที่ฉันจะพูด
คือพยายาม
รหัสบิตนี้
และสำหรับตอนนี้เราจะผ่านเข้าไปที่นี่
และถ้าไม่ผ่านด้วยเหตุผลบางอย่าง และเราจะตรวจสอบค่าผิดพลาด ฉันจะทำการพิมพ์
กรุณาป้อน ก.
หมายเลข.
สุดยอด.
เรากำลังตรวจสอบว่าอินพุตเป็นตัวเลข 1 ถึง 10
สำหรับตอนนี้ เพื่อให้แน่ใจว่าสิ่งนี้ได้ผล เรามาทำสิ่งนี้กัน
ลองแยกจากลูปนี้หรือพิมพ์
ดีทุกอย่างที่นี่
และแยกตัวออกจากลูปนี้ โดยพิจารณาว่าตอนนี้เรากำลังป้อนตัวเลข 1 ถึง 10
และลองทำให้มันเล็กลงอีกนิด เพื่อให้คุณมองเห็นได้ดีขึ้น
ไปเลย
และสำหรับที่นี่ เราจะทำต่อเพราะเราจะวนซ้ำไปเรื่อยๆ จนกว่าจะได้คำตอบที่ถูกต้อง
อีกครั้ง เรากำลังนำเข้าการเรนเดอร์ สร้างตัวเลขสุ่ม 1 ถึง 10
เรากำลังเดาจากผู้ใช้
แล้วเราต้องการตรวจสอบว่าอินพุตเป็นตัวเลข 1 ถึง 10
ผมมีลูปที่ผมจะวิ่งต่อไป และผมจะถามว่ามันคือเลข 0 ถึง 11
ถ้าใช่ เราทุกคนก็ดี
ถ้าด้วยเหตุผลบางอย่างที่เราได้รับผู้ประเมินมูลค่า เราจะบอกว่า เฮ้ โปรดป้อนหมายเลขของเรา
เลยลองมาทดสอบกันดู
ฉันจะไปที่เทอร์มินัลของฉัน
หรือที่จริงแล้ว เราสามารถเรียกใช้สิ่งนี้ได้ที่นี่
เริ่มกันเลย
ไม่เป็นไร.
เดาหมายเลข 1 ถึง 10
และฉันก็สบายดี
อย่าง ฉันคิดว่าเราต้องการที่ว่างสองสามที่นี่
มันดูแปลกไปหน่อย
สมมุติว่า GSA เป็นหมายเลข 1 ถึง 10 แล้วได้ช่องว่าง
เรียกใช้อีกครั้ง
ไปเลย
และฉันได้สังเกตเห็นจุดบกพร่องที่เราจำเป็นต้องแก้ไขแล้ว ถ้าหากว่าฉันเข้าสู่โหมดที่พูดไม่พล่อยๆ
โอ้เด็ก.
กรุณาใส่หมายเลขของเราอีกครั้ง
กรุณากรอกตัวเลข
และเราต้องหยุดสิ่งนี้ เพราะมันกำลังจะถูกทำลาย
เอาล่ะ เกิดอะไรขึ้นที่นี่?
เราไม่ได้แยกวงออกจากวงนี้
เราเดินต่อไปและเราก็แค่ไปต่อ
ผนังที่.
และเรายังคงได้รับข้อผิดพลาดด้านค่า
ดังนั้นคุณต้องระวังที่นี่
จำเมื่อเราดำเนินการต่อ
มันกลับไปที่บล็อกของเผ่าหรือกลับไปที่ลูป และมันจะลองอีกครั้ง
แต่เราไม่ได้ขอข้อมูลเข้าหรือข้อมูลใหม่
อีกครั้งนี้จะล้มเหลว
แล้วค่า error อีกอันก็เกิดขึ้น แล้วนี่จะล้มเหลว
ข้อผิดพลาดค่าอื่นเกิดขึ้น
เลยต้องเดาเอา
ข้างในนี่.
ด้านขวาของล็อคเผ่า
ตอนนี้ถ้าฉันเรียกใช้สิ่งนี้
เอาล่ะ มาเดาเลขกัน
ให้พูดพล่อยๆ
ฉันได้.
เฮ้ กรุณาป้อนหมายเลข
เอาล่ะ เราจะป้อนตัวเลข
ดี.
เราจะเข้าไป
ศูนย์ล่ะ?
ไม่.
นี้ไม่ทำงาน
มันจะถามผมเรื่อยๆ เพราะ คือ ตัวเลขที่เราป้อน มันน้อยกว่า 1 ถึง 10
แต่มันเป็นคำตอบที่ผิด
เราสามารถตรวจสอบว่าผิด
คุณรู้อะไรไหม?
มาทำกัน
พูดอีกอย่างเราจะพูด
เฮ้ โบโซ
ฉันบอกว่าหนึ่งถึงสิบ
นั่นจะเป็นเรื่องสนุก
เอาล่ะ เรามาเริ่มกันเลย
มาทำศูนย์กันเถอะ
เฮ้ โบโซ
ผมบอกว่า 1 ถึง 10
เอาล่ะ มาทำห้ากัน
เฮ้.
ฉันเดาหมายเลข 1 ถึง 10
ทุกอย่างดี
ทั้งหมดดี.
ไม่เป็นไร.
ตอนนี้สิ่งที่ผมจะทำคือลองดูว่าการเดาตรงกับคำตอบทั้งหมดหรือไม่
ก่อนที่ฉันจะทำอย่างนั้น คุณจะเห็นว่ารหัสเสน่ห์วงกลมบอกใบ้ให้ฉันทราบได้อย่างไร เส้นสีเหลืองที่เขียนว่า
เฮ้ การเปรียบเทียบลูกโซ่แบบง่ายนี้สามารถปรับปรุงได้จริง
นั่นเป็นสาเหตุที่ ID นั้นทรงพลังมาก
และตรงนี้ ผมลดรูปได้จริงๆ
ฉันสามารถพูดได้ถ้ามันเดาได้
สูงกว่าศูนย์
และน้อยกว่า 11
จากนั้นทำสิ่งนี้และดูสิ่งนั้น
ฉันแค่ลดความซับซ้อนของรหัสของฉัน
และบรรณาธิการก็ให้คำแนะนำที่ดีแก่ฉัน
ตกลง.
ผ่านที่นี่กันเถอะ
ดังนั้นแทนที่จะพูดว่าพิมพ์ดีทั้งหมด
สมมุติว่า.
นี่เป็นกรณี
เราจะมีเงื่อนไขอื่นแล้วบอกว่าถ้า int
เดา.
เท่ากับคำตอบ
เราจะพิมพ์
ของคุณ.
ก.
อัจฉริยะ.
และเราจะแยกมันออก
ตอนนี้สังเกตว่าเรากำลังทำอะไรอยู่
คาดเดาสองสามครั้ง
บางทีวิธีที่ดีกว่าในการทำคือ จบตรงนี้เพื่อที่เราจะได้ไม่ทำตัวเองซ้ำแล้วซ้ำเล่าและเรียกใช้ฟังก์ชันเดิมซ้ำแล้วซ้ำอีก
และเดาได้เพียงเท่านี้
เรากำลังทำความสะอาดโค้ดของเราอีกครั้ง ทำให้อ่านดูเหมือนภาษาอังกฤษมากขึ้น
ที่ดี
และตอนนี้ถ้าเราเรียกใช้สิ่งนี้
เดาหมายเลขของพวกเขา สมมติว่าห้า
ไม่ นั่นไม่ถูกต้อง
มาทำหกกันเถอะ
แล้วเซเว่นล่ะ?
แปด เก้า?
ผู้ชายคนนี้เป็นคุกกี้ที่แข็งแกร่ง
หนึ่งสองสามสี่.
อ่า มาเลย
สิบ?
ว้าว.
เราไม่ใช่อัจฉริยะอย่างแน่นอนเพราะเราแค่พยายามสิบครั้ง แต่ดูเหมือนว่าจะใช้ได้ผล
ตรวจสอบให้แน่ใจว่าเรากำลังดำเนินการอย่างถูกต้องโดยการโกงเล็กน้อย
ฉันจะพิมพ์ที่นี่จริงๆ
คำตอบ.
ผมจึงเห็นว่าคำตอบคืออะไรก่อนที่จะพิมพ์ลงไป
มาทำกันจริงๆ
ที่นี่.
ถ้าฉันคลิกเรียกใช้
ไม่เป็นไร.
ตัวเลขสำหรับ ถ้าฉันพิมพ์ for
ไม่เป็นไร.
ตอนนี้ฉันเป็นอัจฉริยะ
ครั้งแรกลอง.
เอาล่ะ เรากำลังโกง แต่ดูเหมือนว่าจะได้ผล
ที่สวยเย็น
ส่วนสุดท้ายที่นี่คือจนถึงตอนนี้ฉันได้ใช้อินพุตแล้ว แต่ฉันบอกว่าฉันต้องการเรียกใช้ในเทอร์มินัลและฉันต้องการทำได้ดีจริง
ๆ ให้พารามิเตอร์
ถูกต้อง.
เราให้พารามิเตอร์เริ่มต้นและพารามิเตอร์สิ้นสุดของการวิ่ง int เพื่อให้เราสามารถทำให้เกมยากตามที่เราต้องการ
นั่นจึงค่อนข้างง่าย
เรามีระบบการนำเข้าที่นี่
และเราพูดง่ายๆ ว่า cis ดอท rgv
พารามิเตอร์แรก จำไว้ว่า พารามิเตอร์แรกจะเป็นชื่อไฟล์ แล้วตามด้วย .
พารามิเตอร์ที่สาม และนั่นจะเป็นตัวเลขที่เราให้มา
ลองใช้ไฟล์นี้ตอนนี้
มาคัดลอกโค้ดกัน
และสำหรับตัวอย่างนี้ เพราะมันง่ายกว่า เราจะเพิ่มมันลงในไฟล์ข้อความที่ยอดเยี่ยมของเรา
โอ้ และดูเหมือนว่าเราต้องทำระบบ V ที่นี่ด้วย
ให้แน่ใจว่าเราไม่ลืมว่า
ดังนั้นเรามาแก้ไขกันด้วย
เช่นนั้น.
มันดีกว่า.
และถ้าเรารันสิ่งนี้ไม่ใช่ int เพราะจำพารามิเตอร์ที่เราจะให้มันจะเปลี่ยนเป็นสตริง
ดังนั้นเราต้องแน่ใจว่าเราแปลงเป็นเหตุการณ์แบบนี้
ทีนี้ถ้าเราแค่คัดลอกสิ่งนี้
เรียกใช้ที่นี่
เรียกใช้อีกครั้ง
ผมเลยกดขึ้นตรงนี้เพราะมันจำคำสั่งก่อนหน้านี้ของผมได้
ปล่อยให้ไปกันเถอะ
เดาหมายเลขหนึ่งหรือสอง
ไปด้วยกันเถอะ
ไปเลย
ฉันเป็นอัจฉริยะและโปรแกรมของเราใช้งานไม่ได้
เกมเดาของเรากำลังทำงานอยู่
เยี่ยมมาก
ถ้าได้งานดีๆแบบนี้.
ถ้าคุณไม่ทำ คุณก็สามารถดูรหัสของฉันและหวังว่าจะเห็นว่าคุณผิดพลาดตรงไหน
แต่งานดีมาไกลขนาดนี้
เจอกันใหม่ตอนหน้าค่ะ
ลาก่อน.