เตฉัวลอยยกา่ ิจงกทรี่ ร3ม.6ท่ี ท13อนทเทอา่นไเรทา่ ไร จะได้ผลลัพธ์ดังน้ี >>> change = 200 - 117 >>> note20 = change // 20 >>> coin1 = change % 20 >>> print(\"เงนิ ทอนทงั้ หมด\", change ,\"บาท\") เงนิ ทอนทงั้ หมด 83 บาท >>> print(\" เป็นธนบตั รย่ีสบิ บาท จานวน\", note20, \"ใบ\") เป็ นธนบัตรย่สี ิบบาท 4 ใบ >>> print(\" เป็นเหรียญหนงึ่ บาท จานวน\", coin1, \"เหรียญ\") เป็ นเหรียญหน่ึงบาท 3 เหรียญ
การเขียนโปรแกรมแบบทางเลอื ก
การทางานแบบมีทางเลอื ก มีประโยชน์กรณที เี่ ราต้องการให้ โปรแกรมทาการตัดสินใจบางอยา่ ง แลว้ เลอื กทางานชดุ คาสง่ั ตาม ผลของเงอ่ื นไขท่กี าหนดไว้ โดยมีรปู แบบคาสงั่ แบบมีทางเลือก (selection statement) ในการใชง้ านเบ้อื งต้น if เงอื่ นไขทางเลือก : ชดุ คาสง่ั
โดยท่ีคาสั่ง if จะประเมนิ คา่ ความเป็นจรงิ ของเงื่อนไขกอ่ น ถา้ เปน็ จรงิ กจ็ ะทางานตามคาสัง่ ในชุดคาสง่ั มเิ ชน่ น้ันจะขา้ มไป ทางานในคาสัง่ ถัดไป
ตัวอยา่ งท่ี 14 มากไป-น้อยไป โปรแกรมด้านลา่ งรับค่าจากผใู้ ชแ้ ล้วเก็บไวใ้ นตัวแปร x ถา้ x มคี ่านอ้ ยกว่า 50 โปรแกรมจะแสดง ผลลัพธ์ว่า Too small ถา้ x มคี า่ มากกวา่ 50 จะแสดงผลลัพธ์วา่ Too large และถา้ x มีคา่ เทา่ กับ 50 จะแสดงผลลัพธ์ว่า Perfect x = int(input(\"Enter a number: \")) จะสงั เกตเห็นวา่ ในตวั อย่าง if x < 50: ข้างต้น คือ คาหลัก if และ เง่ือนไข x < 50, x > 50 print(\"Too small\") และ x == 50 ทีเ่ ปน็ ตัวกากับวา่ if x > 50: คาส่งั ภายใต้ if จะทางานเม่ือ เงื่อนไขเป็นจริงเทา่ นนั้ print(\"Too large\") if x == 50: print(\"Perfect\")
ชวนคิด x = int(input(\"Enter a number: \")) ชวนคิด จากตัวอยา่ งที่ 14 if x < 50: ถ้า x มีค่าดังตอ่ ไปน้ี ผลลพั ธท์ ่ไี ด้ คืออะไร print(\"Too small\") if x > 50: x=80 x=30 print(\"Too large\") x=50 if x == 50: x=-5 print(\"Perfect\")
ตัวอย่างที่ 15 ทายใจ puzzle = 3 กาหนดตัวเลขท่ีให้ทายเก็บไวใ้ นตวั แปร puzzle guess = int(input('เลขท่ีทาย (1-10) คอื ')) if puzzle == guess: #บรรทดั ท่ี 1 print('คณุ ทายถูกแลว้ คะ่ ') #บรรทัดท่ี 2 รับขอ้ มูลเขา้ จากผทู้ ายเกบ็ ไว้ในตัวแปร guess #บรรทัดที่ 3 #บรรทัดที่ 4 ถ้าเงื่อนไขทางเลือก puzzle == guess ในคาสงั่ if ในบรรทัด ที่ 3 เป็นจรงิ นน่ั หมายความวา่ ทายตวั เลขถูกต้อง โปรแกรมจะ แสดงขอ้ ความตามคาสงั่ print
ในบางสถานการณ์ของการเขยี นโปรแกรมทีต่ ้องการใหโ้ ปรแกรมทางานมากกวา่ หนึ่งทางเลอื ก ภาษาไพทอนมคี าส่ัง if-else ให้ใช้ โดยมีรูปแบบการใชด้ งั น้ี if เง่อื นไขทางเลอื ก: ชดุ คาสั่ง 1 else: ชดุ คาสัง่ 2
โดยถ้าเงอื่ นไขทางเลอื กเป็นจรงิ แล้ว จะทางานใน ชดุ คาสั่ง 1 ไม่เชน่ นัน้ จะทางานใน ชุดคาสงั่ 2
ตัวอยา่ งที่ 16 ทายใจ 2 ปรบั โปรแกรมในตวั อยา่ งที่ 15 ให้สามารถแจ้งผลของการทายตวั เลขท่ไี ม่ถูกได้ puzzle = 3 #บรรทัดท่ี 1 guess = int(input('เลขท่ีทาย (1-10) คือ ‘)) #บรรทัดท่ี 2 if puzzle == guess: #บรรทัดท่ี 3 #บรรทัดที่ 4 print('คณุ ทายถูกแลว้ ค่ะ’) #บรรทัดท่ี 5 else: #บรรทัดท่ี 6 print('คณุ ยังทายไมถ่ กู คะ่ ')
ใบกจิ กรรมที่ 17 จากอลั กอรทิ มึ แบบผงั งานดา้ นลา่ งน้ใี ห้นกั เรียนนาไปเขยี นโคด้ แปลงคะแนนเป็นเกรด
เฉลยกจิ กรรมท่ี 17 score = int (input (\"กรอกคะแนน :\")) โค้ดแปลงคะแนนเปน็ เกรด if 80 <= score <= 100 : print (\"เกรด 4\") elif 70 <= score <= 79 : print (\"เกรด 3\") elif 60 <= score <= 69 : print (\"เกรด 2\") elif 50 <= score <= 59 : print (\"เกรด 1\") elif 0 <= score <= 49 : print (\"เกรด 0\") else : print (\"กรุณากรอกคะแนน 0-100\")
ปรใับบโกปจิรแกกรรรมมใทน่ีต1ัว8อยา่ ใงหท้นี่ กั เ3ร.ีย15นเขใหยี ้สนาโมคาด้ รเถพแ่อืจคง้ ผานลขวอณงกหาารดทัชานยีมตวัวลเลกขาทยี่ไมถ่ ูกได้ และแสดงผลลพั ธ์ท่บี ่งบอกภาวะน้าหนักตัว
สปตู รบัรโคปราแนกรวมณในหตัวาอดย่าชังทนี่ มี ว3.ล15กใาหย้สามารถแจ้งผลของการทายตัวเลขท่ีไม่ถูกได้
เฉลยกิจกรรมท่ี 18 โค้ดคานวณหาดชั นีมวลกาย และแสดงผลลัพธ์ที่บง่ บอกภาวะน้าหนักตวั w= float (input (\"กรุณากรอกน้าหนักตัว (กโิ ลกรมั ) :\")) h= float (input (\"กรณุ ากรอกความสูง (ซม.) :\")) m= float=h/100 bmi = w/(m**2) if 0 <= bmi < 18.5 : print (\"ผลดชั นีมวลกาย คือ นา้ หนักต่ากวา่ เกณฑ์\") elif 18.5 <= bmi <= 22.9 : print (\"ผลดัชนีมวลกาย คือ สมสว่ น\") elif 23.0 <= bmi <= 24.9 : print (\"ผลดชั นมี วลกาย คอื นา้ หนักเกิน\") elif 25.0 <= bmi <= 29.9 : print (\"ผลดัชนีมวลกาย คือ โรคอว้ น\") else : print (\"ผลดชั นีมวลกาย คอื โรคอ้วนอันตราย\")
การเขียนโปรแกรมแบบวนซา้
การทางานแบบวนซา้ การเขยี นโปรแกรมไพทอนมีหลายกรณที ี่ต้องมกี ารทางานซา้ ๆ กนั ซ่งึ ทาใหต้ อ้ งเขยี นคาส่ังชุดเดยี วกนั ซา้ กันหลายครั้ง เพอื่ ให้การทางานมปี ระสทิ ธิภาพ ไพทอนจึงมีคาสงั่ วนซา้ (loop statement) เพือ่ ชว่ ยใหก้ ารเขยี นคาส่ังส้ันลง คาส่ังวนซ้ามรี ปู แบบและผังงาน ดังนี้ for ตวั แปร in ลิสต์ : ชดุ คำสง่ั # คาสง่ั ที่ต้องการให้ทาซา้ # คา่ ใน ตวั แปร จะเปลี่ยนไปเร่ือย ๆ ตามลาดบั ใน ลสิ ต์
กิจกรรมที่ 19 echo โปรแกรมตอ่ ไปนี้ รับช่ือ และนามสกลุ แล้วพมิ พ์ซ้าออกทางจอภาพจานวน 5 ครง้ั name = input(\"Please enter your firstname : \" ) surname = input(\"Please enter your lastname : \") for x in range(5): print(x,name) print(x,surname) print(\"Bye bye!\")
โปรแกรมนี้มกี ารทางานดงั ผงั งานตอ่ ไปน้ี
ตวั อยา่ งกจิ กรรมท่ี 19 echo Please enter your firstname Somchai Please enter your lastname Santad 0 Somchai 0 Santad 1 Somchai 1 Santad 2 Somchai 2 Santad 3 Somchai 3 Santad 4 Somchai 4 Santad Bye bye!
กิจกรรมที่ 20 ร่วมด้วยชว่ ยแชร์ แบบคานวณซ้าตามจานวนรอบท่ผี ู้ใชร้ ะบุ i = int(input(\">>>คณุ ตอ้ งการคานวณก่รี อบคะ : \")) for count in range(i): print(\"การคานวณรอบท่ี\", count+1) totalPrice = int(input(\"ราคาอาหารทั้งหมด : \")) number = int(input(\"จานวนผู้รับประทานอาหาร : \")) avg = totalPrice/number print(\"จา่ ยค่าอาหารคนละ : \", avg, \"บาท\") print(\">โปรแกรมทางานเสร็จแล้วจา้ <\")
กิจกรรมที่ 21 Loop for คานวณราคาสนิ คา้ ซา้ ตามท่กี าหนด i = int(input(\"กรณุ ากรอกจานวนสนิ ค้า : \")) sum=0 for count in range(i): price=int(input(\"ราคาสนิ ค้า :\")) sum=sum+price print(\"ราคาสนิ คา้ ท้ังหมด = \",sum,\"บาท\")
กจิ กรรมท่ี 22 Loop while คานวณราคาสินคา้ ซา้ ตามท่กี าหนด number=int(input(\"กรุณากรอกจานวนสนิ ค้า : \")) n=1 sum=0 while n <=number: price=int(input(\"ราคาสินค่า้ :\")) n=n+1 sum=sum+price print(\"ราคาสินค้าทัง้ หมด = \",sum,\"บาท\")
Search