intermediate - krujiw.com · บทที่4...

172
614185001 เทคนิคการสอนโปรแกรม Python ง่าย ๆ ให้ได้ใจนักเรียน ระดับมัธยมปลาย ตามหลักสูตรใหม่ Intermediate รศ.ดร.ลัญฉกร วุฒิสิทธิกุลกิจ ผศ.ดร.โปรดปราน บุณยพุกกณะ ดร.นฤมล ประทานวณิช ดร.เอกพล ช่วงสุวนิช

Upload: phamdang

Post on 18-Sep-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

614185001เทคนคการสอนโปรแกรม Python งาย ๆ ใหไดใจนกเรยน

ระดบมธยมปลาย ตามหลกสตรใหม

Intermediate

รศ.ดร.ลญฉกร วฒสทธกลกจผศ.ดร.โปรดปราน บณยพกกณะ

ดร.นฤมล ประทานวณชดร.เอกพล ชวงสวนช

Page 2: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

Page 3: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 4: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 5: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• PyCharm Edu มค าสงใหใชมากมายใน โมดล turtleใชในการฝกเขยนโปรแกรม โดยใหเตาวาดรปตามค าสง

• ตวอยางการวาดรป

from turtle import *

shape("turtle")

speed(1)

forward(100)

done()

Page 6: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• PyCharm Edu มค าสงใหใชมากมายใน โมดล turtleใชในการฝกเขยนโปรแกรม โดยใหเตาวาดรปตามค าสง

• ตวอยางการวาดรป

from turtle import *

shape("turtle")

speed(1)

forward(100)

done()

เพมค าสงจากโมดล turtle เขาสโปรแกรมของเรา

ท าใหสามารถเรยกใชค าสงได

Page 7: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• PyCharm Edu มค าสงใหใชมากมายใน โมดล turtleใชในการฝกเขยนโปรแกรม โดยใหเตาวาดรปตามค าสง

• ตวอยางการวาดรป

from turtle import *

shape("turtle")

speed(1)

forward(100)

done()

ตงใหปากกาเปนรปเตารปอน ๆ ทใชไดเชน

shape("circle") เปนวงกลมshape("square") เปนสเหลยมshape("classic") เปนลกศร

Page 8: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• PyCharm Edu มค าสงใหใชมากมายใน โมดล turtleใชในการฝกเขยนโปรแกรม โดยใหเตาวาดรปตามค าสง

• ตวอยางการวาดรป

from turtle import *

shape("turtle")

speed(1)

forward(100)

done()

ก าหนดความเรวในการวาด

Page 9: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• PyCharm Edu มค าสงใหใชมากมายใน โมดล turtleใชในการฝกเขยนโปรแกรม โดยใหเตาวาดรปตามค าสง

• ตวอยางการวาดรป

from turtle import *

shape("turtle")

speed(1)

forward(100)

done()

ใหเตา (ปากกา)เดนหนา 100 หนวย

โดยเร มแรกเตาจะหนหนาไปทางขวา(ตามแนวแกน x)

Page 10: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• PyCharm Edu มค าสงใหใชมากมายใน โมดล turtleใชในการฝกเขยนโปรแกรม โดยใหเตาวาดรปตามค าสง

• ตวอยางการวาดรป

from turtle import *

shape("turtle")

speed(1)

forward(100)

done()

สงใหรปทวาดยงคางไวบนหนาจอ

ตองอยเปนค าสงสดทาย

Page 11: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• ค าสงอน ๆ ทนาสนใจ• color() ใชเปลยนสเสนทวาด การใชงานเชน color("red")

• pensize() ใชเปลยนความหนาของเสน การใชงานเชน pensize(5)

from turtle import *shape("turtle")speed(1)color("red")pensize(5)forward(50)color("blue")pensize(2)forward(50)done()

Page 12: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• ค าสงอน ๆ ทนาสนใจ• left() ใชก าหนดองศาการหมนเตาไปทางซาย เชน left(90)

• right() ใชก าหนดองศาการหมนเตาไปทางขวา เชน right(90)

from turtle import *shape("turtle")speed(1)forward(50)left(90)forward(50)right(90)forward(50)done()

Page 13: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• ค าสงอน ๆ ทนาสนใจ• home() ยายเตากลบมาทจดเร มตน

• penup() ยกปากกาขน เตาจะเคลอนทโดยไมลากเสน

• pendown() วางปากกาลง เตาจะเคลอนทโดยลากเสนไปดวย

• สามารถดค าสงและค าอธบายเพมเตมไดจาก

docs.python.org/3/library/turtle.html

Page 14: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• ตวอยางการวาดดวยเตาไพทอน

from turtle import *shape("turtle")speed(1)forward(50)left(90)forward(50)left(90)forward(50)left(90)forward(50)left(90)done()

Page 15: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.1 เตาไพทอน

• ตวอยางการวาดดวยเตาไพทอน

from turtle import *shape("turtle")speed(1)

forward(100)right(120)forward(100)right(120)forward(100)right(120)done()

Page 16: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.1 เตาไพทอน

ใหนกเรยนดโปรแกรมตอไปนแลวคาดคะเนวา เตาวาดรปใด

Page 17: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.1 เตาไพทอน

from turtle import *shape("turtle")speed(1)

left(45)forward(60)left(135)forward(100)right(135)forward(60)done()

Page 18: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.1 เตาไพทอน

ใหนกเรยนลองวาดรปตาง ๆ ดวยเตาไพทอน ครอาจชวยนกเรยนค านวณมมและความยาวตาง ๆ

Page 19: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.1 เตาไพทอนfrom turtle import *shape("turtle")speed(1)

forward(50)left(90)forward(50)left(30)forward(50)left(120)forward(50)left(30)forward(50)done()

Page 20: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.1 เตาไพทอนfrom turtle import *shape("turtle")speed(1)

forward(100)right(144)forward(100)right(144)forward(100)right(144)forward(100)right(144)forward(100)right(144)done()

Page 21: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.1 เตาไพทอน

ใหนกเรยนใชเตาไพทอนเขยนตวอกษรภาษาองกฤษตวแรก

ของชอตนเอง

Page 22: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 23: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ชวตประจ าวนตองเจอกบ “ทางเลอก” อยเสมอ

ผงงานซอขนมรหสล าลอง ซอขนม

เร มตน1. รบเงนมาจากคณพอ2. ถา ไดเงนมากกวา 15 บาท ท า

2.1 ซอขนมสนสด

เร มตน

ไดเงนมากกวา 15 บาท

ซอขนม

สนสด

เทจ

จรง

รบเงนจากคณพอ

Page 24: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• การเขยนโปรแกรมแบบม “ทางเลอก” ดวยค าสง if• หลงเงอนไข ตองใสเคร องหมาย colon (:)

• ชดค าสง ตองยอหนาเขาไปจากค าสง if

ผงงานของค าสง if

if เงอนไข :ชดค าสงทจะท าเมอเงอนไขเปนจรง

เงอนไข

ชดค าสงทจะท า

เทจ

จรง

Page 25: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• เปรยบเทยบรหสล าลอง ผงงาน และโปรแกรม ทมทางเลอก

ผงงานซอขนมรหสล าลอง ซอขนม

เร มตน1. รบเงนมาจากคณพอ2. ถา ไดเงนมากกวา 15 บาท ท า

2.1 ซอขนมสนสด

เร มตน

ไดเงนมากกวา 15 บาท

สนสด

เทจ

จรง

รบเงนจากคณพอ

money = int(input("ใสจ านวนเงนทได "))if money > 15 :

print("ซอขนม")

ซอขนม

Page 26: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ผลของโปรแกรม• ถาใสจ านวน 20 โปรแกรมจะแสดงค าวา “ซอขนม”

• ถาใสจ านวน 10 โปรแกรมจะไมพมพอะไร

money = int(input("ใสจ านวนเงนทได "))if money > 15 :

print("ซอขนม")

ผงงานซอขนม

เร มตน

ไดเงนมากกวา 15 บาท

สนสด

เทจ

จรง

รบเงนจากคณพอ

ซอขนม

Page 27: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ตวด าเนนการเปรยบเทยบ

ชอตวด ำเนนกำร สญลกษณคณตศำสตร สญลกษณในภำษำไพทอน

เทากบ = ==ไมเทากบ ≠ !=มากกวา > >

มากกวาหรอเทากบ ≥ >=นอยกวา < <

นอยกวาหรอเทากบ ≤ <=

Page 28: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ตวอยางเงอนไขในภาษาไพทอน

ตวแปร weight มคานอยกวาหรอเทากบ 80if weight <= 80 :

print("คณมน าหนกนอยกวาหรอเทากบ 80")

ตวแปร number เปนเลขคif number % 2 == 0 :

print("จ านวนนเปนเลขค")

ตวแปร x และตวแปร y มคารวมกนมากกวา 9if x + y > 9 :

print("ผลรวมของ x และ y มากกวา 9")

Page 29: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ผลลพธในแตละกรณเปนอยางไร

กรณ weight = 45กรณ weight = 80กรณ weight = 93

กรณ number = 7กรณ number = 12กรณ number = 0

กรณ x = 3, y = 7กรณ x = 1, y = 8กรณ x = 9, y = -2

ตวแปร weight มคานอยกวาหรอเทากบ 80if weight <= 80 :

print("คณมน าหนกนอยกวาหรอเทากบ 80")

ตวแปร number เปนเลขคif number % 2 == 0 :

print("จ านวนนเปนเลขค")

ตวแปร x และตวแปร y มคารวมกนมากกวา 9if x + y > 9 :

print("ผลรวมของ x และ y มากกวา 9")

Page 30: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.2 การท างานแบบมทางเลอก

ใหนกเรยนหาตวอยางเงอนไขในชวตประจ าวน เงอนไขเหลานนเขยนเปนภาษาไพทอนไดอยางไร

เงอนไขจะเปนจรงเมอใด เปนเทจเมอใด

Page 31: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ตวอยางโปรแกรมทมเงอนไข

x = int(input("ใสจ านวนเตม 1 จ านวน "))print("สวสด")if x == 13 :

print("คณเลอกเลข 13")print("เลข 13 เปนเลขน าโชค")

print("ลากอน")

เร มตน

x == 13

สนสด

เทจ

จรง

สวสด

คณเลอกเลข 13

ลากอน

เลข 13 เปนเลขน าโชค

รบคา x

Page 32: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมมากกวา 1 เงอนไข

score = int(input("ใสคะแนนของคณ "))if score >= 50 :

print("คณสอบผาน")if score < 50 :

print("คณสอบตก")

เร มตน

score >= 50

สนสด

เทจ

จรง

รบคา score

score < 50เทจ

จรง

คณสอบผาน

คณสอบตก

Page 33: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมมากกวา 1 เงอนไข

score = int(input("ใสคะแนนของคณ "))if score >= 50 :

print("คณสอบผาน")if score < 50 :

print("คณสอบตก")

กรณ score = 90

กรณ score = 35

กรณ score = 50

Page 34: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมมากกวา 1 เงอนไข

score = int(input("ใสคะแนนของคณ "))if score >= 50 :

print("คณสอบผาน")if score >= 80 :

print("คณไดคะแนนดมาก")

เร มตน

score >= 50

สนสด

เทจ

จรง

รบคา score

score >= 80เทจ

จรง

คณสอบผาน

คณไดคะแนนดมาก

Page 35: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมมากกวา 1 เงอนไข

score = int(input("ใสคะแนนของคณ "))if score >= 50 :

print("คณสอบผาน")if score >= 80 :

print("คณไดคะแนนดมาก")

กรณ score = 90

กรณ score = 35

กรณ score = 50

Page 36: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.2 การท างานแบบมทางเลอก

ใหนกเรยนลองเขยนโปรแกรมทมเงอนไขเชน รบคาความสงของนดและนม

แลวตอบวาใครสงกวากน

Page 37: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.2 การท างานแบบมทางเลอก

nid = int(input("ใสความสงของนด "))nim = int(input("ใสความสงของนม "))if nid > nim :

print("นดสงกวานม")if nim > nid :

print("นมสงกวานด")if nim == nid :

print("ทงสองคนสงเทากน")

Page 38: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• เงอนไขทตรงขามกนรหสล าลอง ดผลสอบ

1. รบคาคะแนนสอบ2. ถา คะแนนมากกวาหรอเทากบ 50 ท า

2.1 แสดงผลวาสอบผาน3. ถา คะแนนนอยกวา 50 ท า

3.1 แสดงผลวาสอบตก

เร มตน

score >= 50

สนสด

เทจ

จรง

รบคา score

score < 50เทจ

จรง

คณสอบผาน

คณสอบตกscore = int(input("ใสคะแนนของคณ "))if score >= 50 :

print("คณสอบผาน")if score < 50 :

print("คณสอบตก")

Page 39: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• เงอนไขทตรงขามกนรหสล าลอง ดผลสอบ

1. รบคาคะแนนสอบ2. ถา คะแนนมากกวาหรอเทากบ 50 ท า

2.1 แสดงผลวาสอบผานไมเชนนน

2.2 แสดงผลวาสอบตก

เร มตน

score >= 50

สนสด

เทจจรง

รบคา score

คณสอบผาน

???

คณสอบตก

Page 40: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• การเขยนโปรแกรมแบบทม “เงอนไขตรงขามกน” ดวยค าสง if-else• หลงเงอนไข และ else ตองใสเคร องหมาย colon (:)

• ชดค าสง ตองยอหนาเขาไปจากค าสง if และ else

• ค าสง else ตองตรงกบ if ทคกนผงงานของค าสง if-else

if เงอนไข :ชดค าสงทจะท าเมอเงอนไขเปนจรง

else :ชดค าสงทจะท าเมอเงอนไขเปนเทจ

เงอนไขเทจจรง

ชดค าสงทจะท าเมอเงอนไขเปนจรง

ชดค าสงทจะท าเมอเงอนไขเปนเทจ

Page 41: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• เงอนไขทตรงขามกนรหสล าลอง ดผลสอบ

1. รบคาคะแนนสอบ2. ถา คะแนนมากกวาหรอเทากบ 50 ท า

2.1 แสดงผลวาสอบผานไมเชนนน

2.2 แสดงผลวาสอบตก

เร มตน

score >= 50

สนสด

เทจจรง

รบคา score

คณสอบผาน คณสอบตก

score = int(input("ใสคะแนนของคณ "))if score >= 50 :

print("คณสอบผาน")else :

print("คณสอบตก")

Page 42: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมเงอนไขตรงขามกน

name = input("ใสชอของคณ ")if name == "Ploy" :

print(“สวสด พลอย")if name != "Ploy" :

print("สวสด ยนดทไดรจก")name = input("ใสชอของคณ ")if name == "Ploy" :

print("สวสด พลอย")else :

print("สวสด ยนดทไดรจก")

Page 43: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมเงอนไขตรงขามกน

name = input("ใสชอของคณ ")if name == "Ploy" :

print("สวสด พลอย")else :

print("สวสด ยนดทไดรจก")

กรณ name = "Cat"

กรณ name = "Ploy"

กรณ name = "ploy"

Page 44: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.2 การท างานแบบมทางเลอก

ใหนกเรยนบอกเงอนไขในชวตประจ าวนทตรงขามกน และลองเขยนเปน

โปรแกรมภาษาไพทอน

Page 45: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมเงอนไขและการเลอกท าแบบซบซอน

เร มตน

ปลาหนกกวา2 กโลกรม

สนสด

เทจจรง

ปลาหนกกวา1 กโลกรม

รบน าหนกปลา

เปนปลาเกรด A

เปนปลาเกรด B

เปนปลาเกรด C

จรง เทจ

เร มตน1. รบน าหนกปลาเปนกโลกรม (จ านวนจรง)2. ถา ปลาหนกกวา 2 กโลกรม ท า

2.1 แสดงผลเปนปลาเกรด Aไมเชนนน

2.2 ถา ปลาหนกกวา 1 กโลกรม ท า2.2.1 แสดงผลเปนปลาเกรด B

ไมเชนนน2.2.2 แสดงผลเปนปลาเกรด C

สนสด

Page 46: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมเงอนไขและการเลอกท าแบบซบซอน

เร มตน1. รบน าหนกปลาเปนกโลกรม (จ านวนจรง)2. ถา ปลาหนกกวา 2 กโลกรม ท า

2.1 แสดงผลเปนปลาเกรด Aไมเชนนน

2.2 ถา ปลาหนกกวา 1 กโลกรม ท า2.2.1 แสดงผลเปนปลาเกรด B

ไมเชนนน2.2.2 แสดงผลเปนปลาเกรด C

สนสด

kg = float(input("ใสน าหนกปลา "))if kg > 2 :

print("ปลาเกรด A")else :

if kg > 1 :print("ปลาเกรด B")

else :print("ปลาเกรด C")

Page 47: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมเงอนไขและการเลอกท าแบบซบซอน

• ใช elif ในกรณทมทางเลอกมากกวา 2 ทาง (else + if = elif)

kg = float(input("ใสน าหนกปลา "))if kg > 2 :

print("ปลาเกรด A")else :

if kg > 1 :print("ปลาเกรด B")

else :print("ปลาเกรด C")

print("จบการท างาน")

kg = float(input("ใสน าหนกปลา "))if kg > 2 :

print("ปลาเกรด A")elif kg > 1 :

print("ปลาเกรด B")else :

print("ปลาเกรด C")print("จบการท างาน")

Page 48: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมเงอนไขและการเลอกท าแบบซบซอน

• ใช elif ในกรณทมทางเลอกมากกวา 2 ทาง (else + if = elif)

kg = float(input("ใสน าหนกปลา "))if kg > 2 :

print("ปลาเกรด A")else :

if kg > 1 :print("ปลาเกรด B")

else :print("ปลาเกรด C")

print("จบการท างาน")

kg = float(input("ใสน าหนกปลา "))if kg > 2 :

print("ปลาเกรด A")elif kg > 1 :

print("ปลาเกรด B")else :

print("ปลาเกรด C")print("จบการท างาน")

Page 49: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• โปรแกรมทมเงอนไขและการเลอกท าแบบซบซอน

• ใช elif ในกรณทมทางเลอกมากกวา 2 ทาง (else + if = elif)

if เงอนไขท 1 :print(“ผลลพธท 1")

else :if เงอนไขท 2 :

print(“ผลลพธท 2")else :

if เงอนไขท 3 :print(“ผลลพธท 3")

else :print(“ผลลพธท 4")

if เงอนไขท 1 :print(“ผลลพธท 1")

elif เงอนไขท 2 :print(“ผลลพธท 2")

elif เงอนไขท 3 :print(“ผลลพธท 3")

else :print(“ผลลพธท 4")

Page 50: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• การเขยนโปรแกรมทม “ทางเลอกหลายทาง” ดวยค าสง elif• หลงเงอนไขของ elif ตองใสเคร องหมาย colon (:)

• ชดค าสง ตองยอหนาเขาไปจากค าสง if elif และ else

• ค าสง elif ตองตรงกบ if ทคกน

• ม elif กครงกได

• ถาเขาเงอนไขบน ๆ แลว จะไมเขาเงอนไขขางลางอก

ผงงานของค าสง if-elif-else

if เงอนไข A :ชดค าสงทท าเมอเงอนไข A เปนจรง

elif เงอนไข B :ชดค าสงทท าเมอเงอนไข B เปนจรง

else :ชดค าสงทท าเมอเงอนไขทงหมดเปนเทจ

เงอนไข Aเทจจรง

เงอนไข Bจรง เทจ

ชดค าสงทจะท าเมอเงอนไข A เปนจรง

ชดค าสงทจะท าเมอเงอนไข B เปนจรง

ชดค าสงทจะท าเมอเงอนไขทงหมด

เปนเทจ

Page 51: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.2 การท างานแบบมทางเลอก

ใหนกเรยนเขยนโปรแกรมดงน• ถามผใชวา “ฉนสวยไหมคะ”• ถาตอบ yes ใหบอก “ขอบคณคะ”• ถาตอบ no ใหบอก “เสยใจจงเลยคะ”• ถาตอบอยางอน ใหบอก “ไมเขาใจคะ”

Page 52: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ตวอยางกจกรรม

answer = input("ฉนสวยไหมคะ ")if answer == "yes" :

print("ขอบคณคะ")else :

if answer == "no" :print("เสยใจจงเลยคะ")

else :print("ไมเขาใจคะ")

answer = input("ฉนสวยไหมคะ ")if answer == "yes" :

print("ขอบคณคะ")elif answer == "no" :

print("เสยใจจงเลยคะ")else :

print("ไมเขาใจคะ")

Page 53: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.2 การท างานแบบมทางเลอก

• ตวอยางกจกรรม

ผดอยางไร ?

answer = input("ฉนสวยไหมคะ ")if answer == "yes" :

print("ขอบคณคะ")if answer == "no" :

print("เสยใจจงเลยคะ")else :

print("ไมเขาใจคะ")

Page 54: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 55: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ประเภทตวแปรแบบ บลน (Boolean)• เราสามารถเกบคา “จรง” หรอ “เทจ” ในตวแปรได

• คาจรงใชค าวา True และคาเทจใชค าวา False

a = Trueprint(a)print( type(a) )

b = Falseprint(b)print( type(b) )

c = (5 != 6)print(c)print( type(c) )

d = 4 < 3print(d)print( type(d) )

Page 56: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• การใชตวแปรประเภท บลน (Boolean) ในค าสง if

if x == 3 :print("love")

b = (x == 3)if b :

print("love")

if y > 7 :print("python")

boo = y > 7if boo :

print("python")

Page 57: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการทางตรรกะ

not and or

Page 58: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ not

not

คาของ x คาของ not x

True False

False True

Page 59: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ not

x = int(input())if x == 3 :

print("x มคาเทากบ 3")

x = int(input())if not x == 3 :

print("x มคาไมเทากบ 3")

y = int(input())if y > 7 :

print("y มคามากกวา 7")

y = int(input())if not y > 7 :

print("y มคาไมมากกวา 7")

Page 60: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ not

• เงอนไขทความหมายเหมอนกน• not x == y เหมอนกบ x != y

• not x != y เหมอนกบ x == y

• not x > y เหมอนกบ x <= y

• not x <= y เหมอนกบ x > y

• not x < y เหมอนกบ x >= y

• not x >= y เหมอนกบ x < y

Page 61: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ and

and

คาของ x คาของ y คาของ x and y

False False False

False True False

True False False

True True True

Page 62: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ and

x = 3y = 5if x < 3 and y > 5:

print("python")

x = 1y = 8if x < 3 and y > 5:

print("python")

x = 2y = 4if x < 3 and y > 5:

print("python")

x = 6y = 7if x < 3 and y > 5:

print("python")

Page 63: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ and

# x เปนจ านวนเตม 3 หลกx = int(input("ใสจ านวนเตม x "))if x >= 100 and x <= 999 :

print(x, "เปนจ านวนทม 3 หลก")

# x เปนจ านวนเตม 3 หลกx = int(input("ใสจ านวนเตม x "))if 100 <= x <= 999 :

print(x, "เปนจ านวนทม 3 หลก")

Page 64: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ and

# x เปนจ านวนเตม 3 หลกx = int(input("ใสจ านวนเตม x "))if x >= 100 and x <= 999 :

print(x, "เปนจ านวนทม 3 หลก")

# y หาร 2 ลงตวและหาร 3 ลงตวy = int(input("ใสจ านวนเตม y "))if y % 2 == 0 and y % 3 == 0 :

print(y, "หาร 2 และ 3 ลงตว")

Page 65: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ or

or

คาของ x คาของ y คาของ x or y

False False False

False True True

True False True

True True True

Page 66: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ or

x = 3y = 5if x < 3 or y > 5:

print("python")

x = 1y = 8if x < 3 or y > 5:

print("python")

x = 2y = 4if x < 3 or y > 5:

print("python")

x = 6y = 7if x < 3 or y > 5:

print("python")

Page 67: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ or

# ตรวจสอบเลขเดอน ตองมในชวง 1 ถง 12x = int(input("ใสเลขเดอน "))if x < 1 or x > 12 :

print(x, "เปนเลขเดอนทไมถกตอง")

Page 68: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ or

# ตรวจสอบเลขเดอน ตองมในชวง 1 ถง 12x = int(input("ใสเลขเดอน "))if x < 1 or x > 12 :

print(x, "เปนเลขเดอนทไมถกตอง")

# ตรวจสอบเลขเดอน ตองมในชวง 1 ถง 12x = int(input("ใสเลขเดอน "))if x < 1 and x > 12 :

print(x, "เปนเลขเดอนทไมถกตอง")

Page 69: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• ตวด าเนนการ or

# ตรวจสอบเลขเดอน ตองมในชวง 1 ถง 12x = int(input("ใสเลขเดอน "))if x < 1 or x > 12 :

print(x, "เปนเลขเดอนทไมถกตอง")

# y ลงทายดวย 8 หรอ 9y = int(input("ใสจ านวนเตม y "))if y % 10 == 8 or y % 10 == 9 :

print(y, "ลงทายดวย 8 หรอ 9")

Page 70: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.3 การด าเนนการทางตรรกะ

• การด าเนนการทางตรรกะทซบซอน• สามารถใช not and or กระท ากบบลนหลายคาได

• ล าดบการท างานเรยงจากกอนไปหลงคอ not and or

• การด าเนนการทางตรรกะจะท าหลงการค านวณและการเปรยบเทยบ

• ควรใสวงเลบเพอความชดเจน

• ตวอยาง• A and B and C

• A and B or C เหมอนกบ (A and B) or C

• not A or B and not C เหมอนกบ (not A) or (B and (not C))

• x + y > z and not x < y เหมอนกบ ((x + y) > z) and (not (x < y))

Page 71: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

ใหเขยนโปรแกรมรบคาวนทและเลขเดอนจากนนแสดงผลวา

เปนวนครสตมาสหรอไม(วนท 25 เดอน 12)

Page 72: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

day = int(input("ใสวนท "))month = int(input("ใสเลขเดอน "))if day == 25 and month == 12 :

print("เปนวนครสตมาส")else :

print("ไมเปนวนครสตมาส")

Page 73: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

ใหเขยนโปรแกรม ยามเฝาประตโดยรบชอเพอน 1 ชอ โปรแกรม

จะใหเพอนชอ “กง” กบ “สม” เขาหองไดโดยแสดงค าวา “ใหผานประตได”ถาเปนชอคนอนใหแสดง “หามผาน”

Page 74: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

name = input("ใสชอของคณ ")if name == "กง" or name == "สม" :

print("ใหผานประตได")else :

print("หามผาน")

name = input("ใสชอของคณ ")if name == "กง" and name == "สม" :

print("ใหผานประตได")else :

print("หามผาน")

Page 75: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

ใหเขยนเงอนไข ของจ านวนเตม x

ถา x มคาไมเทากบ 1, 2, 3ใหแสดงค าวา python

Page 76: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

if x != 1 and x != 2 and x != 3 :print("python")

if not (x == 1 or x == 2 or x == 3) :print("python")

if x != 1 or x != 2 or x != 3 :print("python")

if not (x == 1 and x == 2 and x == 3) :print("python")

Page 77: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

if x <= 0 or x >= 4:print("python")

if x < 1 or x > 3:print("python")

if not (x >= 1 and x <= 3) :print("python")

if not (1 <= x <= 3) :print("python")

Page 78: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

ใหเขยนโปรแกรม ยามเฝาประตโดยรบชอเพอน 1 ชอ โปรแกรม

จะใหเพอนชอ “กง” กบ “สม” เขาหองไดโดยแสดงค าวา “ใหผานประตได”ถาเปนชอคนอนใหแสดง “หามผาน”

Page 79: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.3 การด าเนนการทางตรรกะ

name = input("ใสชอของคณ ")if name == "กง" or name == "สม" :

print("ใหผานประตได")else :

print("หามผาน")

name = input("ใสชอของคณ ")if name == "กง" or "สม" :

print("ใหผานประตได")else :

print("หามผาน")

Page 80: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 81: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การท างานแบบเดมซ าหลายครง

from turtle import *shape("turtle")speed(1)forward(50)left(90)forward(50)left(90)forward(50)left(90)forward(50)left(90)done()

from turtle import *shape("turtle")speed(1)forward(100)right(120)forward(100)right(120)forward(100)right(120)done()

Page 82: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การท างานแบบเดมซ าหลายครง

from turtle import *shape("turtle")speed(1)forward(50)left(90)forward(50)left(90)forward(50)left(90)forward(50)left(90)done()

from turtle import *shape("turtle")speed(1)for i in range(4) :

forward(50)left(90)

done()

Page 83: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การท างานแบบเดมซ าหลายครง

from turtle import *shape("turtle")speed(1)forward(100)right(120)forward(100)right(120)forward(100)right(120)done()

from turtle import *shape("turtle")speed(1)for i in range(3) :

forward(100)right(120)

done()

Page 84: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การเขยนโปรแกรมทมการ “วนซ า” ดวยค าสง for ... in range() :• ค าสง range(n) จะใหผลลพธเปนลสต (รายการ) ตวเลขตงแต 0 ถง n - 1เชน range(5) จะไดลสต 0, 1, 2, 3, 4

• ค าสง for จะท าการวนซ าโดยน าคาในลสตแตละตวมาใช

• ตวแปรทใชกบ for ไมควรตงชอซ ากบตวแปรทใชไปแลว

• ชดค าสงทจะท าซ า ตองยอหนาเขาไปจาก for ผงงานของค าสง for

for ตวแปร in range(จ านวนเตม) :ชดค าสงทจะท าการวนซ าโดยวนซ า 1 รอบ ตอคา 1 คาในลสต

ยงเหลอคาในลสต

ชดค าสงทจะท าซ า

เทจ

จรง

Page 85: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การท างานแบบเดมซ าหลายครง

from turtle import *shape("turtle")speed(1)for i in range(4) :

forward(50)left(90)

done()

from turtle import *shape("turtle")speed(1)forward(50)left(90)forward(50)left(90)forward(50)left(90)forward(50)left(90)done()

range(4) ไดลสต 0, 1, 2, 3 ไปใสในตวแปร i ในแตละรอบ

i = 0

i = 1

i = 2

i = 3

Page 86: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การท างานแบบเดมซ าหลายครง

from turtle import *shape("turtle")speed(1)for k in range(3) :

forward(100)right(120)

done()

from turtle import *shape("turtle")speed(1)forward(100)right(120)forward(100)right(120)forward(100)right(120)done()range(3) ไดลสต 0, 1, 2

ไปใสในตวแปร k ในแตละรอบ

k = 0

k = 1

k = 2

Page 87: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.4 การท างานแบบวนซ าดวย for

ใหนกเรยนลองเปลยนโปรแกรมเหลานโดยใชค าสง for ในการท าซ า

Page 88: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• ตวอยางกจกรรม

name = input("ใสชอของคณ ")print("จะพมพชอของคณ 5 ครง")print("คณชอ", name)print("คณชอ", name)print("คณชอ", name)print("คณชอ", name)print("คณชอ", name)

from turtle import *shape("turtle")forward(50)right(60)forward(50)left(60)forward(50)right(60)forward(50)left(60)forward(50)right(60)forward(50)left(60)done()

Page 89: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• ตวอยางกจกรรม

name = input("ใสชอของคณ ")print("จะพมพชอของคณ 5 ครง")for i in range(5) :

print("คณชอ", name)

from turtle import *shape("turtle")for x in range(3) :

forward(50)right(60)forward(50)left(60)

done()

Page 90: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.4 การท างานแบบวนซ าดวย for

ใหนกเรยนลองสงใหเตาวาดรปตาง ๆโดยใชค าสง for เพอท าซ า

นกเรยนลองคดดวาตองท าซ ากรอบ

Page 91: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.4 การท างานแบบวนซ าดวย for

Page 92: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• ตวอยางกจกรรม

from turtle import *shape("turtle")for x in range(6) :

forward(50)left(60)

done()

Page 93: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• ตวอยางกจกรรม

from turtle import *shape("turtle")

for x in range(4) :left(90)forward(30)left(90)forward(30)left(180)

done()

from turtle import *shape("turtle")left(90)for x in range(4) :

forward(30)left(90)forward(30)right(90)

right(90)done()

Page 94: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การน าคาในตวแปรจากค าสง for ไปใช

range(4) ไดลสต 0, 1, 2, 3ไปใสในตวแปร x ในแตละรอบ

for x in range(4) :print("นคอบรรทดท", x)

นคอบรรทดท 0นคอบรรทดท 1นคอบรรทดท 2นคอบรรทดท 3

Page 95: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การน าคาในตวแปรจากค าสง for ไปใช

for x in range(5) :print(x, "ยกก าลงสองได", x * x)

n = int(input("จะพมพกบรรทด "))for i in range(n) :

print("นคอบรรทดท", i + 1, "จาก", n, "บรรทด")

Page 96: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การน าคาในตวแปรจากค าสง for ไปใช

n = int(input("คณมเพอนกคน "))for k in range(n) :

message = "ใสชอเพอนคนท " + str(k + 1) + " "name = input(message)print("สวสด", name)

print("ยนดทไดรจกเพอน ๆ ทกคน")

Page 97: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.4 การท างานแบบวนซ าดวย for

ใหนกเรยนเขยนโปรแกรมแสดงสตรคณโดยรบแมของสตรคณ เชน แม 3 จะได

3 x 1 = 33 x 2 = 6... (แสดง 3 x 3 ถง 3 x 11)3 x 12 = 36

Page 98: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.4 การท างานแบบวนซ าดวย for

n = int(input("ใสแมสตรคณ "))for i in range(12) :

j = i + 1print(n, "x", j, "=", n * j)

Page 99: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.4 การท างานแบบวนซ าดวย for

ใหนกเรยนเขยนโปรแกรมหาผลบวก1 + 2 + 3 + ... + n

เชน ถา n = 5จะได 1 + 2 + 3 + 4 + 5 = 15

Page 100: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.4 การท างานแบบวนซ าดวย for

n = int(input("ใสคา n "))sum = 0for i in range(n) :

sum = sum + (i + 1)print("ผลบวกคอ", sum)

Page 101: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• การท างานแบบวนซ า ทมความซบซอน

for x in range(10) :if x % 2 == 0 :

print(x, "เปนเลขค")

for x in range(10) :print("เลขตอไปคอเลข", x)if x % 2 == 0 :

print(x, "เปนเลขค")else :

print(x, "เปนเลขค")

Page 102: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.4 การท างานแบบวนซ าดวย for

• เพมเตมเกยวกบค าสง range

• สามารถใช range(คาเร มตน, คาสนสด โดยจะไมรวมคาน, คาทเปลยน)เชน range(0, 10, 2) จะสรางลสต 0, 2, 4, 6, 8

range(20, 1, -3) จะสรางลสต 20, 17, 14, 11, 8, 5, 2

for x in range(10) :if x % 2 == 0 :

print(x, "เปนเลขค")

for x in range(0, 10, 2) :print(x, "เปนเลขค")

Page 103: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 104: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• การวนซ าทมเงอนไขการหยด

เร มตน

มขนมอยในจาน

สงเกตเหนจานขนม

กนขนม 1 ชน

สนสด

เทจ

จรง

ผงงานกนขนม

4.5 การท างานแบบวนซ าดวย while

Page 105: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.5 การท างานแบบวนซ าดวย while

• การเขยนโปรแกรมการ “วนซ า” ทม “เงอนไขการหยด” ดวยค าสง while :• ค าสง while จะตามดวยเงอนไข และเคร องหมาย colon (:)

• หากเงอนไขของค าสง while เปนจรง จะมการท าซ า

• เมอถงค าสงสดทายของการวนซ า โปรแกรมจะกลบมาเชคเงอนไขอกครง

• เมอเงอนไขของค าสง while เปนเทจ จะหยดการท าซ า

• ชดค าสงทจะท าซ า ตองยอหนาเขาไปจาก while ผงงานของค าสง while

while เงอนไข :ชดค าสงทจะท าการวนซ า

เงอนไข

ชดค าสงทจะท าซ า

เทจ

จรง

Page 106: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.5 การท างานแบบวนซ าดวย while

• เงอนไข การเลอกท า และการท าซ า

เร มตน

cookie > 0

cookie ← 4

กนขนม 1 ชน

สนสด

เทจ

จรง

1. ใสขนมในจาน 4 ชน2. ถา มขนมอยในจาน ท า

2.1 กนขนม 1 ชน2.2 กลบไปท าขนตอนท 2

แสดงคา cookie

แสดงคา cookie

ฉนกนไป 1 ชนcookie = 4print("ตอนนมคกก", cookie, "ชน")while cookie > 0 :

print("ฉนกนคกกไป 1 ชน")cookie = cookie – 1print("ตอนนมคกก", cookie, "ชน")

Page 107: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.5 การท างานแบบวนซ าดวย while

• เงอนไข การเลอกท า และการท าซ า

1. มเงนในกระปก 0 บาท2. ถา ยงไมพอซอหนงสอ ท า

2.1 หยอดเงนเพม 10 บาท2.2 กลบไปท าขนตอนท 2

3. ไปซอหนงสอ

money = 0print("ตอนนมเงน", money, "บาท")while money < 35 :

money = money + 10print("ตอนนมเงน", money, "บาท")

print("ซอหนงสอไดแลว")

เร มตน

money < 35

money ← 0

ใสเงนเพม 10 บาท

สนสด

เทจ

จรง

แสดงคา money

ซอหนงสอไดแลว

แสดงคา money

Page 108: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

ใหนกเรยนลองยกตวอยางการท าซ าในชวตประจ าวน

ทท าไปเร อย ๆ จนหยดตามเงอนไข

Page 109: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.5 การท างานแบบวนซ าดวย while

• ขอควรระวง หากเขยนเงอนไขผดหรอปรบคาตวแปรผดอาจท าใหโปรแกรมไมวนซ า หรอวนซ าโดยไมหยด

x = 0while x > 0 :

x = x + 1print("x มคา", x)

print("สนสดการท างาน")

y = 1while y != 10 :

y = y + 2print("y มคา", y)

print("สนสดการท างาน")

Page 110: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

บอกผลลพธของการท างานตอไปนการวนซ าในขอใด จะท าซ าโดยไมหยด

Page 111: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

a = 10while a <= 20 :

a = a + 2print("a มคา", a)

print("จบการท างาน")

b = 1while b < 20 :

b = b * 2print("b มคา", b)

print("จบการท างาน")

c = 10while c < 10 :

c = c + 1print("c มคา", c)

print("จบการท างาน")

d = 10while d <= 10 :

d = d - 1print("d มคา", d)

print("จบการท างาน")

Page 112: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.5 การท างานแบบวนซ าดวย while

• while กบ for อาจน ามาใชแทนกนได

for x in range(4) :print("นคอบรรทดท", x)

for k in range(5) :print(k, "ยกก าลงสองได", k * k)

x = 0while x < 4 :

print("นคอบรรทดท", x)x = x + 1

k = 0while k < 5 :

print(k, "ยกก าลงสองได", k * k)k = k + 1

Page 113: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.5 การท างานแบบวนซ าดวย while

• บางกรณอาจใช for แทนไมไดตรง ๆ

b = 1while b < 100 :

print("b มคา", b)b = b * 2

print("จบการท างาน")

b = 200while b > 0 :

print("b มคา", b)b = b // 3

print("จบการท างาน")

Page 114: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.5 การท างานแบบวนซ าดวย while

• ระวงการเรยงล าดบค าสง

x = 0while x < 4 :

print("นคอบรรทดท", x)x = x + 1

x = 0while x < 4 :

x = x + 1print("นคอบรรทดท", x)

Page 115: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

ใหนกเรยนเขยนโปรแกรมแสดงสตรคณโดยรบแมของสตรคณ เชน แม 3 จะได

3 x 1 = 33 x 2 = 6... (แสดง 3 x 3 ถง 3 x 11)3 x 12 = 36

>> ใหใชค าสง while <<

Page 116: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

n = int(input("ใสแมสตรคณ "))i = 1 while i <= 12 :

print(n, "x", i, "=", n * i)i = i + 1

Page 117: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

ใหนกเรยนเขยนโปรแกรมหาผลบวก1 + 2 + 3 + ... + n

เชน ถา n = 5จะได 1 + 2 + 3 + 4 + 5 = 15

>> ใหใชค าสง while <<

Page 118: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

n = int(input("ใสคา n "))sum = 0i = 1while i <= n :

sum = sum + ii = i + 1

print("ผลบวกคอ", sum)

Page 119: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

ใหนกเรยนลองสงใหเตาวาดรปตาง ๆโดยใชค าสง while เพอท าซ า

ลองเปรยบเทยบกบโปรแกรมเดมทใชค าสง for

Page 120: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

from turtle import *shape("turtle")j = 1while j <= 3 :

forward(100)right(120)j = j + 1

done()

from turtle import *shape("turtle")k = 6while k > 0 :

forward(50)left(60)k = k - 1

done()

from turtle import *shape("turtle")i = 0while i < 4 :

forward(50)left(90)i = i + 1

done()

Page 121: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

for x in range(10) :print("เลขตอไปคอเลข", x)if x % 2 == 0 :

print(x, "เปนเลขค")else :

print(x, "เปนเลขค")

4.5 การท างานแบบวนซ าดวย while

• การท างานแบบวนซ า ทมความซบซอน

x = 0while x < 10 :

print("เลขตอไปคอเลข", x)if x % 2 == 0 :

print(x, "เปนเลขค")else :

print(x, "เปนเลขค")x = x + 1

Page 122: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

โปรแกรมตอไปนแสดงคาอะไร

x = 0while x < 100 :

print("x มคา", x)if x < 10 :

x = x + 2else :

x = x + 20

Page 123: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.5 การท างานแบบวนซ าดวย while

x = 0while x < 100 :

print("x มคา", x)if x < 10 :

x = x + 2else :

x = x + 20

x มคา 0x มคา 2x มคา 4x มคา 6x มคา 8x มคา 10x มคา 30x มคา 50x มคา 70x มคา 90

Page 124: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 125: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชน เปนค าสงส าเรจรปทเราสามารถเรยกใชได

• ตวอยางฟงกชนทผานมาแลว เชน• print() ใชในการแสดงผลเชน print("สวสด") จะแสดงผลค าวาสวสด

• input() ใชในการรบขอความจากแปนพมพเชน name = input("ใสชอของคณ ")จะรบขอความจากแปนพมพ มาเกบไวในตวแปร name

• forward() ใชสงใหเตาเคลอนทไปขางหนา เปนฟงกชนทอยในโมดล turtleเชน forward(100) จะสงใหเตาเดนหนา 100 หนวย

Page 126: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ประเภทของฟงกชน

print("สวสด") name = input("ใสชอของคณ ")

from turtle import *forward(100)

num = int("123")

ฟงกชนทไมมการคนคา ฟงกชนทมการคนคา

Page 127: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• การใชงานฟงกชน

• ฟงกชนตาง ๆ ทนาสนใจ• ฟงกชนทภาษาไพทอนมใหอยแลว

• ฟงกชนจากโมดล math

• ฟงกชนจากโมดล turtle

• ฟงกชนจากโมดล random

ชอฟงกชน(คาทสงใหฟงกชน) ตวแปร = ชอฟงกชน(คาทสงใหฟงกชน)

ฟงกชนทไมมการคนคา ฟงกชนทมการคนคา

Page 128: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชนทภาษาไพทอนมใหอยแลว

• ไมตอง import กอนใชงาน

• ตวอยางฟงกชน• print() ใชในการแสดงผล

คาทสงใหฟงกชน : ขอมลทจะแสดง ถามหลายตวใหคนดวยจลภาคคาทคนมาจากฟงกชน : ไมม

• input() ใชรบคาขอความจากแปนพมพคาทสงใหฟงกชน : ขอมลทจะแสดงขณะรบคา เปนประเภทสตรงคาทคนมาจากฟงกชน : คาทผใชปอนทางแปนพมพ เปนประเภทสตรง

Page 129: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชนทภาษาไพทอนมใหอยแลว

• ตวอยางฟงกชน• int() ใชแปลงขอมลใหเปนประเภทจ านวนเตม

คาทสงใหฟงกชน : ขอมลทตองการแปลงเปนจ านวนเตมอาจเปนประเภทจ านวนเตม จ านวนจรง สตรง หรอบลน

คาทคนมาจากฟงกชน : คาทแปลงเปนจ านวนเตมแลว

• min() ใชหาคาต าสดจากคากก าหนดใหทงหมดคาทสงใหฟงกชน : ขอมลทงหมดทจะหาคาต าสด ใหคนดวยจลภาคคาทคนมาจากฟงกชน : คาต าสดจากขอมลทงหมดตวอยางการใชงาน : y = min(4, 3, 6) ได y เกบคา 3

Page 130: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชนทภาษาไพทอนมใหอยแลว

• ไมใชฟงกชนไดไหม ? โปรแกรมใดอานงายกวากน ? เขยนเองอาจผดได ?

a = int(input("ใสคา a "))b = int(input("ใสคา b "))

x = min(a, b)

print("คาทนอยกวาคอ", x)

a = int(input("ใสคา a "))b = int(input("ใสคา b "))if a < b :

x = aelse :

x = bprint("คาทนอยกวาคอ", x)

Page 131: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

ลองเขยนโปรแกรมทท างานเหมอนกบฟงกชน min ของ 3 คา เชน

x = min(2, 1, 3) ได x เกบคา 1

Page 132: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ตวอยางกจกรรม

a = int(input("ใสคา a "))b = int(input("ใสคา b "))c = int(input("ใสคา c "))

x = min(a, b, c)

print("คาทนอยทสดคอ", x)

a = int(input("ใสคา a "))b = int(input("ใสคา b "))c = int(input("ใสคา c "))if a <= b and a <= c :

x = aelif b <= a and b <= c :

x = belse :

x = cprint("คาทนอยทสดคอ", x)

Page 133: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

ใหนกเรยนลองใชงานฟงกชนทภาษาไพทอนมให

แลวสรปการท างานของฟงกชนa = max(2.3, 5, 1.4, 7)b = abs(-3)c = len("hello")d = pow(3, 4)e = round(3.14159265, 3)

Page 134: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชนจากโมดล math

from math import … ค าอธบาย ตวอยางการใชงาน

pi คาพายทมความละเอยดสง area = pi * r ** 2

e คาธรรมชาตทมความละเอยดสง k = 1 / e

exp ค าสงหาคา e ยกก าลง x p = exp(3) # e3

log ค าสงหาคา log(x, ฐาน) t = log(81, 3) # log3 81

sqrt ค าสงหาคารากทสอง q = sqrt(35)

sin ค าสงหาคา sine (รบคาเรเดยน) s = sin(pi)

cos ค าสงหาคา cosine (รบคาเรเดยน) c = cos(pi/2)

Page 135: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชนจากโมดล turtle

• ตวอยางการวาดรป

from turtle import *shape("turtle")speed(1)forward(50)left(90)forward(50)right(90)forward(50)done()

Page 136: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชนจากโมดล random

• ใชค าสง from random import * กอนใชงาน

• ตวอยางฟงกชน• random() ใชสมเลขจ านวนจรง

คาทสงใหฟงกชน : ไมมคาทคนมาจากฟงกชน : คาสม เปนจ านวนจรงในชวง 0 ≤ x < 1

• randint() ใชสมเลขจ านวนเตม คาทสงใหฟงกชน : ขอบเขตของคาทจะสม เปนจ านวนเตม 2 จ านวนคาทคนมาจากฟงกชน : คาสม เปนจ านวนเตมในชวงทก าหนด

Page 137: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ฟงกชนจากโมดล random

from random import *coin = random()if coin >= 0.5 :

print("เหรยญออกหว")else :

print("เหรยญออกกอย")

from random import *dice = randint(1, 6)print("ลกเตาออกแตม", dice)

Page 138: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

ใหนกเรยนเขยนโปรแกรมเพอสมเลขทาย 2 ตวและ 3 ตว

ของสลากกนแบงรฐบาล

Page 139: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

from random import *two = randint(0, 99)print("เลขทาย 2 ตวคอ", two)three = randint(0, 999)print("เลขทาย 3 ตวคอ", three)

Page 140: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

from random import *two = randint(0, 99)if two < 10 :

two = "0" + str(two)print("เลขทาย 2 ตวคอ", two)

three = randint(0, 999)if three < 10 :

three = "00" + str(three)elif three < 100 :

three = "0" + str(three)print("เลขทาย 3 ตวคอ", three)

Page 141: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

จากฟงกชนทผาน ๆ มาใหนกเรยนลองพจารณาวา

ฟงกชนใดเปนฟงกชนทไมคนคาฟงกชนใดเปนฟงกชนทคนคาถาคนคา เปนขอมลประเภทใด

Page 142: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

from turtle import *def draw() :

forward(100)left(90)forward(100)

4.6 ฟงกชน

• เขยนฟงกชนใชงานเอง• เร มดวย def

• ตามดวยชอฟงกชน (ใชกฎเดยวกนกบชอตวแปร)

• ตามดวยการระบขอมลทจะสงใหฟงกชน

• ตามดวยเคร องหมาย colon (:)

• ชดค าสงทจะท าในฟงกชน จะยอหนาเขาไป

• หากตองการคนคา ใหใชค าสง return

def add(x, y) :z = x + yreturn z

def ชอฟงกชน(ขอมลทจะสงใหฟงกชน) :ชดค าสงทจะท าในฟงกชนหากตองการคนคา ใหใชค าสง return

Page 143: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• การใชงานฟงกชนทเขยนเอง• ฟงกชนตองอยกอนสวนการท างานหลก

def add(x, y) :z = x + yreturn z

a = 3b = add(a, 5)print(b)

from turtle import *

def draw() :forward(100)left(90)forward(100)

shape("turtle")draw()done()

Page 144: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• การใชงานฟงกชนทเขยนเอง• สามารถใช if for while หรอเรยกฟงกชนอน ๆ ได

• ตวแปรในสวนการท างานหลกกบตวแปรในฟงกชน เปนคนละตวกน

def function(a) :a = a + 1return a

a = 3b = function(a)c = function(b)print(a, b, c)

def test(score) :if score >= 50 :

return "สอบผาน"else :

return "สอบตก"

result1 = test(75)result2 = test(80)result3 = test(10)print(result1, result2, result3)

Page 145: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.6 ฟงกชน

• ประโยชนของการใชฟงกชน• ท าใหอานโปรแกรมไดงายขน

• เรยกใชงานซ าหลายครงได

• ผอนสามารถเรยกใชงานฟงกชนของเราได

• ควรศกษาการท างานของฟงกชนกอนใชงาน• ขอมลทสงใหฟงกชน มกตว อะไรบาง เปนประเภทขอมลอะไร

• คาทคนมาจากฟงกชน เปนคาอะไร เปนประเภทขอมลอะไร

Page 146: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

ใหนกเรยนพจารณาวาฟงกชนนท าอะไรdef function(a, b, c) :

k = (a + b + c) / 3return k

Page 147: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

ใหนกเรยนเขยนฟงกชนเพอแปลงอณหภมองศาฟาเรนไฮต

เปนองศาเซลเซยส

Page 148: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.6 ฟงกชน

def F2C(F) :C = 5 * (F - 32) / 9return C

F = int(input("ใสอณหภม F "))C = F2C(F)print("อณหภม C คอ", C)

Page 149: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

บทท 4 การเขยนโปรแกรมดวยภาษาไพทอน (2)

• เตาไพทอน

• การท างานแบบมทางเลอก

• การด าเนนการทางตรรกะ

• การท างานแบบวนซ าดวย for

• การท างานแบบวนซ าดวย while

• ฟงกชน

• แนวทางการสอนและการจดกจกรรม

Page 150: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• ทบทวนเนอหาในบทน• เตาไพทอน

• การเลอกท าดวย if, if-else, if-elif-else

• การเปรยบเทยบและด าเนนการทางตรรกะ

• การท าซ าดวย for, while

• ฟงกชน

Page 151: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• สงทนกเรยนควรท าไดเมอจบบทน• เขาใจวาค าสง if elif else for while def ท าหนาทอะไร

• ใชเคร องหมายเปรยบเทยบไดถกตอง และอธบายผลการเปรยบเทยบได

• เขาใจการด าเนนการทางตรรกะ

• สามารถไลการท างานของโปรแกรมได วาเงอนไขเปนจรงหรอเทจ ตองวนซ าหรอไม

• สามารถเขยนโปรแกรมทมการเลอกท าและการท าซ าได

Page 152: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• แนวทางการวเคราะหโจทยเพอเขยนโปรแกรม• พจารณาวาโจทยถามอะไร อะไรคอขอมลน าเขา อะไรคอผลลพธ

• พจารณาลกษณะของโจทยวามล าดบการท างานแบบเลอกท าหรอวนซ าหรอไม

• อาจใหนกเรยนอธบายการท างานดวยค าพดกอน จะท าใหนกเรยนเขาใจมากขนภาษาทนกเรยนใชอาจยงไมชดเจน ซงเปนเร องปกต ใหคณครชวยเรยบเรยงความคด

• อาจเขยนรหสล าลองหรอผงงานเพอใหน าไปสการเขยนโปรแกรมไดงาย

• ทดสอบโปรแกรมดวยขอมลน าเขาแบบตาง ๆ เพอใหแนใจวาโปรแกรมท างานถกตอง

Page 153: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• สงทตองพจารณาในการท างานแบบเลอกท า• มกทางเลอกทเปนไปได 1 (if), 2 (if-else) หรอมากกวา 2 (if-elif-else)

• เงอนไขในการตดสนใจคออะไร ตองใชตวด าเนนการทางตรรกะหรอไม

• ชดค าสงทจะท าใหแตละทางเลอกมค าสงอะไรบาง ล าดบเปนอยางไร

• สงทตองพจารณาในการท างานแบบท าซ า• ชใหเหนถงรปแบบการวนซ า โดยอาจเร มจากการเขยนค าสงซ า ๆ กนกอน

• จะใชค าสง for หรอ while ซงโจทยสวนใหญสามารถใชไดทง 2 แบบ

• ถาใชค าสง for จะตองไลคาจากคาใดถงคาใด

• ถาใชค าสง while จะมเงอนไขการหยดอยางไร การเปลยนคาในแตละรอบเปนอยางไร

• ชดค าสงทจะท าซ าในแตละรอบมค าสงอะไรบาง ล าดบเปนอยางไร

Page 154: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• แนวทางส าหรบคณคร• พยายามไลจากโจทยงายไปโจทยยาก

• หากนกเรยนไมเขาใจ อาจใชการยกตวอยางเพมเตม เพอใหนกเรยนเหนภาพ

• ใหนกเรยนเปรยบเทยบโปรแกรมของแตละคน เพอชใหเหนขอผดพลาดทควรระวงและวธการเขยนทแตกตางกน

• นกเรยนแตละคนอาจมความสามารถในการเรยนรทแตกตางกนและมความสามารถในการใชคอมพวเตอร การใชแปนพมพทแตกตางกน กลมทไปไดชา อาจใชการประกบอยางใกลชด คอย ๆ แนะน าวธการคดกลมทไปไดเรว อาจเพมเนอหา หรอเพมโจทยทมความซบซอน

Page 155: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

ตวอยางโจทยเพมเตม

Page 156: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

เขยนโปรแกรมค านวณราคาเขาชมพพธภณฑจากอายผเขาชม

เดกอายไมเกน 15 ปเขาชมฟร ผสงอายตงแต 60 ปขนไป จาย 20 บาท

บคคลทวไป จาย 50 บาท

Page 157: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

เร มตน

age <= 15

สนสด

เทจ

รบคา age

เขาชมฟร จรง

age >= 60

เทจ

ราคา 20 บาท

15 < age < 60

เทจ

ราคา 50 บาท

จรง

จรง

Page 158: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• ตวอยางกจกรรม

age = int(input("ใสอาย "))if age <= 15 :

print("เขาชมฟร")if age >= 60 :

print("ราคา 20 บาท")if 15 < age < 60 :

print("ราคา 50 บาท")

age = int(input("ใสอาย "))if age <= 15 :

print("เขาชมฟร")elif age >= 60 :

print("ราคา 20 บาท")else :

print("ราคา 50 บาท")

Page 159: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

เขยนโปรแกรมรบจ านวนดานของรปหลายเหลยมแลวสงใหเตาวาดรปหลายเหลยมนน

Page 160: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

เร มตน1. รบจ านวนดานจากแปนพมพ2. วนซ าตามจ านวนดาน

2.1 เดนหนา 50 หนวย2.2 เลยวซายใหเปนมมของรปหลายเหลยม2.3 กลบไปท าขอ 2 จนครบทกดาน

สนสด

Page 161: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• ตวอยางกจกรรม

from turtle import *shape("turtle")n = int(input("ใสจ านวนดาน "))

for k in range(n) :forward(50)angle = 180 – (180 * (n - 2) / n)left(angle)

done()

from turtle import *shape("turtle")n = int(input("ใสจ านวนดาน "))angle = 360 / nk = 0while k < n :

forward(50)left(angle)k = k + 1

done()

Page 162: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

เขยนโปรแกรมรบจ านวนขอมล เชนมขอมล 4 ตวและรบจ านวนเตมทละตวจนครบ

เชน 10, 7, 4, 5และตอบคาเฉลยของจ านวนทรบมา

Page 163: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

เร มตน1. รบจ านวนขอมลจากแปนพมพ2. ให sum ← 0 เปนตวบวกสะสม3. วนซ าตามจ านวนขอมล

2.1 รบจ านวนเตมจากแปนพมพ2.2 น าจ านวนเตมนนไปบวกใสใน sum2.3 กลบไปท าขอ 2 จนครบทกตว

4. คาเฉลยคอ sum หารดวยจ านวนขอมลสนสด

Page 164: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• ตวอยางกจกรรม

n = int(input("ใสจ านวนขอมล "))sum = 0for i in range(n) :

msg = "ใสจ านวนท " + str(i + 1) + " "x = int(input(msg))sum = sum + x

if n <= 0 :print("ไมมขอมลใหหาคาเฉลย")

else :print("คาเฉลยคอ", sum / n)

n = int(input("ใสจ านวนขอมล "))sum = 0i = 1while i <= n :

msg = "ใสจ านวนท " + str(i) + " "x = int(input(msg))sum = sum + xi = i + 1

if n <= 0 :print("ไมมขอมลใหหาคาเฉลย")

else :print("คาเฉลยคอ", sum / n)

Page 165: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

เขยนโปรแกรมรบจ านวนขอมลไปเร อย ๆ จนพบเลข 0

เชน 10, 7, 4, 5, 0แลวหาคาเฉลยของจ านวนทรบมา

(ไมรวมเลข 0 ตวสดทาย)

Page 166: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

1. ให count ← 0 ไวนบจ านวนขอมล2. ให sum ← 0 เปนตวบวกสะสม3. รบจ านวนเตม ไปเกบไวใน x4. ถา x ไมเทากบ 0 ท า

4.2 น าจ านวน x ไปบวกใสใน sum4.1 เพมคา count ขน 14.1 รบจ านวนเตมจากแปนพมพ4.3 กลบไปท าขอ 4

5. คาเฉลยคอ sum หารดวย count

Page 167: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• ตวอยางกจกรรม count = 0sum = 0x = int(input("ใสจ านวนท 1 "))while x != 0 :

sum = sum + xcount = count + 1 msg = "ใสจ านวนท " + str(count + 1) + " "x = int(input(msg))

if count == 0 :print("ไมมขอมลใหหาคาเฉลย")

else :print("คาเฉลยคอ", sum / count)

Page 168: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

• ตวอยางกจกรรม

4.7 แนวทางการสอนและการจดกจกรรม

ใหนกเรยนเขยนโปรแกรมแขงเปายงฉบกบคอมพวเตอร

โดยใหคอมพวเตอรสมสงทจะออก

Page 169: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• ตวอยางกจกรรม from random import *

print("ยนดตอนรบเขาสเกมเปายงฉบ")print("ให 1 แทนคอน, 2 แทนกรรไกร, 3 แทนกระดาษ")

me = int(input("ใสเลขแทนสงทคณเลอก "))com = randint(1, 3)

if me == 1 and com == 2 :print("คอมพวเตอรออกกรรไกร คณชนะ")

# เขยนกรณอน ๆ จนครบ

Page 170: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• เนอหาเพมเตมส าหรบคณครและนกเรยนทสนใจ• การเกบรายการขอมลดวย list

• การเกบขอมลดวย dictionary และ set

• การเขยน class

• การจดการไฟล อานไฟล สรางไฟล

• การเชอมตออนเทอรเนตและเรยกเวบไซต

• การใชคลงค าสง (library) ตาง ๆ เชน • numpy ใชในการค านวณทางคณตศาสตร เมทรกซ

• pandas ใชในการจดการตารางขอมล

• pygame ใชในการสรางเกม

Page 171: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

4.7 แนวทางการสอนและการจดกจกรรม

• เนอหาเพมเตมส าหรบคณครและนกเรยนทสนใจ• สามารถอานรายละเอยดการใชงานภาษาไพทอนเพมเตมไดท

docs.python.org/3/index.html

Page 172: Intermediate - krujiw.com · บทที่4 การเขียนโปรแกรมด้วยภาษาไพทน (2) •เต่าไพทน •การท างานแบบมีทางเลืก

จบบทท 4