1 เม.ย. 2020 เวลา 01:10 • วิทยาศาสตร์ & เทคโนโลยี
Python3 Lesson 4 - input() และ input().split(),strip()
สวัสดีครับบทเรียนนี้ก็เป็น Lesson 4 แล้วนะครับวันนี้เราจะมาพูดถึงการใช้ คำสั่ง input และ input.strip เพื่อให้ Code ที่ถูกเขียนสามารถโต้ตอบได้กับ User ครับ
ตอนที่แล้วเราก็ได้ให้โจทย์ไปใช่ไหมครับแล้วมาดูเฉลยกันเลยครับโดยโจทย์ได้กำหนดไว้ว่าให้เราแสดงชื่อ-นามสกุลและอายุของเราโดยจำเป็น ต้องกำหนดตัวแปรก่อนเนื่องจากบางครั้งหากเราใส่ไว้ที่คำสั่งเลยหากเราต้องการเรียกใช้หลายๆครั้งเราก็ต้องมานั่งพิมพ์หลายครั้งเราจึงนำตัวแปรมาช่วยครับ เฉลยสามารถดูได้ที่รูปด้านล่างเลยครับ
ที่ทำไปถูกกันไหมครับถ้ายังไม่เข้าใจเดี๋ยวจะอธิบายอย่างละเอียดให้ครับ อันดับแรกครับสร้างตัวแปร name ครับตามด้วยเครื่องหมาย Double Quote เพราะเป็นข้อมูล String ครับว่า Somsak จากนั้นก็สร้างตัวแปร surname กำหนดให้เป็น Rakdee มี Double Quote ด้วยนะครับ สุดท้ายครับคือ age ไม่ใช่เห็นว่า 15 ก็ไม่ใส่ Double Quote นะครับเพราะในที่นี้เรากำหนดให้ 15 เป็น String ครับ จากนั้นเราก็ใช้คำสั่ง Print ว่า Hello ตามด้วย Comma ตามด้วย name แล้วทำไมเราถึงใช้ Comma ครับ ทำไมเราไม่ใช้เครื่องหมายบวกครับ เพราะว่าหากเราใช้เครื่องหมายบวก การแสดงผลเราจะไม่มีการเว้นวรรคครับ เราจึงใช้ Comma จากนั้นก็ตามด้วย surname จากนั้นก็ Comma age Comma คำว่า year old ครับ
เฉลยเรียบร้อยแล้ว Lesson นี้เราจะมาอธิบายเรื่อง input นั่นเองครับ input คือคำสั่งเราสามารถให้กรอกข้อมูลได้เพื่อนำไปใช้ในคำสั่งอื่นครับ ทำให้โค้ดที่เราเขียนดูใกล้เคียงกับโปรแกรมที่เราใช้กันอยู่มากขึ้นครับเนื่องจากสามารถโต้ตอบกับระบบที่เราเขียนก็ได้ครับเรามาดูวิธีการเขียนคำสั่ง input กันครับ
เริ่มแรกใส่ตัวแปรก่อนครับแล้วใส่คำว่า input ตามด้วยวงเล็บครับ ในวงเล็บเราสามารถใส่ String ลงไปได้ครับ โดยใส่เครื่องหมาย Double Quote ก่อนแล้วใส่ข้อความลงไป ตัวอย่างการนำไปใช้ผมต้องการให้ User กรอกชื่อของตัวเองครับผมก็ใส่ใน Double Quote ว่า “Please Enter your name : “ เพื่อให้ผู้ใช้รู้ว่าต้องกรอกอะไรครับ เราก็สามารถใช้ประเภทของข้อมูลลงไป ได้ String ให้ใส่ว่า str Integer ให้ใส่ int และ Float ให้ใส่ float แล้วตามด้วยวงเล็บใหญ่ครอบ input ครับ ดูตัวอย่างได้ที่ภาพด้านล่างเลยครับ
จากเมื่อกี้ครับที่เราดูไปแล้วเราสามารถนำมาประยุกต์ใช้กับแบบฝึกหัดที่เรา เฉลยไปข้างต้นได้ดังนี้เลยครับ
แบบที่เห็นเราก็สามารถนำไปประยุกต์เป็นโปรแกรมที่สามารถเก็บข้อมูลของลูกค้าได้อย่างง่ายโดยมีเพียงพื้นฐานแค่นี้ก็สามารถทำได้ครับ
ต่อไปเราจะพูดถึงเรื่องของ Input.Strip โดยปกติแล้วผู้ใช้จะกรอกอะไรใน input แล้วสั่ง Print สิ่งที่พิมพ์ไปไม่ว่าจะเป็น Space Bar หรืออะไรก็ตามก็จะออกมาตามด้วยเสมอรายการที่เราใช้ instead เวลาเราใช้งาน inputstrip Spacebar จะไม่ขึ้นหมายความว่าจะตัดช่องว่างทางซ้ายและขวาออก ดูตัว อย่างการใช้งานเพื่อนึกภาพออกได้มากขึ้นด้านล่างเลยครับ
แต่บางคนอาจจะยังสงสัยว่าแล้ว input() มีประโยชน์อย่างไรจำแบบฝึกหัดข้างต้นได้ไหมครับเราก็สามารถนำมาประยุกต์ต่อได้ครับ สงสัยบ้างไหมครับว่าการที่เราต้องมานั่งใส่ตัวแปร ชื่อ นามสกุล และอายุแยกกันเป็นไปได้มั้ยที่เราจะให้มันมารวมกันอยู่ในบรรทัดเดียวคำตอบคือเป็นไปได้ครับโดยเราจะใช้ input().split() นี้เลยครับ ทำได้อย่างไรเรามาดูกันเลยครับ
การประยุกต์นี้มีครับอาจจะมีความรู้ที่เกินไปมากกว่าบทเรียนนิดนึงนะครับแต่พิมพ์ตามไปก่อนครับแล้วจะเข้าใจเองครับอันดับแรกในตัวแปรสมมุติเราต้องการ 3 ตัวแปรเราก็ใส่ตัวแปรตามด้วย Comma ตัวแปรตามด้วย Comma ไปจนครบ 3 ตัวแปร แล้วใส่เท่ากับ จากนั้นอีกฝั่งให้พิมพ์ตามนี้ครับ [x for x in input().split()] โดยจริงๆแล้วเป็นอะไรก็ได้ครับผมต้องการแค่กำหนดตัวแปรเฉยๆครับพอพิมพ์ครบแล้วก็ให้ลองใช้คำสั่ง print แล้วลองกด run ครับวิธีการใส่ข้อมูลให้ถูกต้อง ให้พิมพ์ข้อมูลของตัวแปรแรกตามด้วย Spacebar ครับเนื่องจากเราใช้ split() อยู่จากนั้นก็พิมพ์ตัวแปรต่อจนครบ 3 ตัวแปรครับแล้วกด Enter ครับ ตัวอย่างการใช้งานดูที่รูปด้านล่างได้เลยครับ
ก่อนที่จะจบบทเรียนนี้ไปเรามีแบบฝึกหัดให้ลองไปทำกันครับ โดยให้ลองใช้แบบฝึกหัดที่ได้เฉลยไปข้างต้นแล้วใช้ input().split() ย่อ 3 ตัวแปรให้เหลือเพียงตัวแปรเดียวครับ แล้วเราจะมาเฉลยกันใน Lesson ต่อไป Lesson นี้อาจจะยาวเพื่อให้สามารถเรียนได้อย่างเต็มอิ่มมากขึ้น ถ้ามีคำถามสามารถ Contact หรือ comment มาได้เลยครับเดี๋ยวจะมาตอบให้ครับ เดี๋ยวใน Lesson ต่อไปเราจะมาพูดถึง Operator กันครับ
Update ช่องทางการติดตามนะครับ
Twitch : CodingCoachLab https://www.twitch.tv/codingcoachlab สามารถติดตามการ Live ได้เลยนะครับ มีทั้งคิดบทเรียน คุยเล่น เล่นเกมบ้าง ติดตามได้เลยครับ
อีก 2 ช่องทางครับ
Blockdit : CodingCoach
Youtube : CodingCoach (มีคนช่วยทำอยู่)
หลังจากนี้อาจจะไม่ลงทุกวันนะครับเนื่องจากบทเรียนจะต้องใช้เวลาคิดซึ่งเวลาคิดผมจะ Live ที่ Twitch นะครับ

ดูเพิ่มเติมในซีรีส์

โฆษณา