คำสั่งวนซ้ำในภาษาไพธอน ในบทเรียนนี้เราจะมาเรียนรู้คำสั่ง while กันนะครับ
คำสั่ง while loop เป็นคำสั่งวนซ้ำที่ง่ายและพื้นฐานที่สุดในภาษา Python คำสั่ง while loop นั้นใช้ควบคุมโปรแกรมให้ทำงานบางอย่างซ้ำๆ ในขณะที่เงื่อนไขของลูปนั้นยังคงเป็นจริงอยู่ นี่เป็นรูปแบบของการใช้งานคำสั่ง while loop ในภาษา Python
while expression:
# statements
ในรูปแบบการใช้งานคำสั่ง while loop นั้น เราสร้างลูปด้วยคำสั่ง while
และตามด้วยการกำหนด expression
ซึ่งเป็นเงื่อนไขที่จะให้โปรแกรมทำงาน ซึ่งโปรแกรมจะทำงานจนกว่าเงื่อนไขจะเป็น False และสิ้นสุดการทำงานของลูป ภายในบล็อคคำสั่ง while นั้นประกอบไปด้วยคำสั่งการทำงานของโปรแกรม ต่อไปมาดูตัวอย่างโปรแกรมนับเลขที่แสนคลาสสิคด้วยการใช้คำสั่ง while loop ในภาษา Python
มาดูตัวอย่างคำสั่งพร้อมคำอธิบายกันเถอะ
คำสั่งที่เขียน
num1=1;
while(num1<=200):
print(num1);
num1=num1+3;
number=50;
while(number>=15):
print(number);
number=number-2;
จากภาพจะมีโปรแกรม 2 โปรแกรมนั่นคือ Pro 1 กับ Pro2 อ้างอิงจากภาพ ชื่อโปรแกรมจะอยู่ฝั่งขวามือที่ครูเขียนปีกกาคร่อมไว้ และมีเส้นประสีแดงๆที่ครูขีดด้วยมือ แบ่งแยกโปรแกรมออกจากกันไว้แล้ว ซึ่งโปรแกรม Pro 1 เป็นโปรแกรมนับเลขขึ้น โปรแกรม Pro 2 เป็นโปรแกรมนับเลขถอยหลัง มาดูคำอธิบายทีละหมายเลขกัน
เริ่มจากโปรแกรม Pro 1 ก่อน ซึ่งคำสั่งใน Pro 1 มีดังนี้
num1=1;
while(num1<=200):
print(num1);
num1=num1+3;
โปรแกรมนี้ประกอบด้วย 4 บรรทัด แปลคำสั่งทีละคำสั่งได้ดังนี้
num1=1; ประกาศตัวแปรชื่อว่า num1 ให้มีค่าเท่ากับ 1 ซึ่งเป็นค่าเริ่มต้นที่จะให้โปรแกรมนับเลขขึ้นจากตรงนี้ นั่นก็คือ นับเริ่มจากเลข 1 ขึ้นไป เราสามารถเปลี่ยนแปลงตัวเลขนี้ได้ว่าอยากให้โปรแกรมนับเลขจากเลขอะไร
while(num1<=200):
คำสั่ง while คือจะสั่งให้โปรแกรมวนซ้ำตามเงื่อนไขที่อยู่ข้างในวงเล็บ นั่นคือเอาตัวแปร num1 มาวนซ้ำจนกว่าจะถึง 200 แสดงว่าโปรแกรมนี้จะนับเลขจากเลข 1 ไปจนถึง 200
print(num1); เป็นคำสั่งแสดงข้อความออกทางจอภาพ ในที่นี้คือคำสั่งแสดงตัวเลขในตัวแปร num1 ออกมาในแต่ละรอบที่วนซ้ำ
num1=num1+3; คำสั่งบรรทัดนี้เป็นการกำหนดให้เพิ่มค่าให้กับตัวแปร num1 ว่าจะให้นับเลขขึ้นทีละเท่าไหร่ สังเกตุเครื่องหมาย + คือการให้เพิ่มค่าขึ้น ถ้าใส่เลข 1 โปรแกรมก็จะนับเลข 1 2 3 4 5 6 .... ขึ้นทีละ 1 แต่ในภาพเป็นการนับเลข 1-200 นับขึ้นทีละ 3 เมื่อรันโปรแกรมจะได้ดังภาพ
จากภาพโปรแกรมจะนับขึ้นทีละ 3 ไปเรื่อยๆ จนกว่าจะถึง 200 ตามเงื่อนไขในคำสั่ง while แต่เนื่องจากผลรันเยอะ ครูจึงเอาผลรันมาแค่หน้าเดียวเป็นตัวอย่าง
ต่อด้วยโปรแกรม Pro 2 เลย คำสั่งใน Pro 2 มีดังนี้
number=50;
while(number>=15):
print(number);
number=number-2;
อธิบายคำสั่งทีละบรรทัดได้ดังนี้
number=50; ประกาศตัวแปรชื่อว่า number ให้มีค่าเท่ากับ 50 คือกำหนดให้โปรแกรมเริ่มนับเลขถอยหลังจากเลข 50
while(number>=15): คำสั่ง while คือจะสั่งให้โปรแกรมวนซ้ำตามเงื่อนไขที่อยู่ข้างในวงเล็บ นั่นคือเอาตัวแปร number มาวนซ้ำจนกว่าจะถึง 15 แสดงว่าโปรแกรมนี้จะนับเลขถอยหลังจากเลข 50 ไปจนถึง 15
print(number); แสดงค่าข้อมูลในตัวแปร number ออกมาในแต่ละรอบที่วนซ้ำ
number=number-2; คำสั่งบรรทัดนี้เป็นการกำหนดให้ลดค่าให้กับตัวแปร number ว่าจะให้นับเลขถอยหลังลงทีละเท่าไหร่ สังเกตุเครื่องหมายลบ - คือการให้ลดค่าตัวแปร number ลง ถ้าใส่เลข 1 โปรแกรมก็จะนับเลขถอยหลังลงทีละ 1 แต่ในภาพเป็นการนับเลขถอยหลังจาก 50 - 15 นับถอยหลังลงทีละ 2 เมื่อรันโปรแกรมจะได้ดังภาพ