เมื่อทำการเรียนใช้ฟังก์ชัน ตัวแปรที่ส่งเข้ามาในฟังก์ชันใช้สำหรับตรวจสอบว่าตัวนั้นเป็นจำนวนเฉพาะหรือไม่ y ทำหน้าที่ในการวนรอบ count ทำหน้าที่ วนหาตัวที่สามารถหารลงตัว
def prime(x):
y = 2
while x > y :
print(x ,"%",y ,"= ",x%y)
count = 2
while x > count :
if x%count == 0 :
ans = "NP"
break
else:
ans = "P"
count += 1
y += 1
print(ans)
prime(7)
วันอังคารที่ 20 ธันวาคม พ.ศ. 2559
วันอาทิตย์ที่ 18 ธันวาคม พ.ศ. 2559
example
ตัวอย่าง
การหาค่า factorial การเรียกใช้ฟังค์ชันที่มีการรับค่าตัวแปรเพื่อนำไปคำนวนในฟังก์ชัน เมื่อเราใช้คำสั่ง
def factorial(n):
count = 1
for i in range(1, n + 1 ):
count *= i
return count
print(factorial(3))
print(factorial(5))
การหา ค่าสูงสุด จาก สาม ค่า โดยจะส่งค่าไปยังฟังกฺชัน max เพื่อเปรียบเทียบหาค่าที่มากว่ากันสองค่า
การหาค่า ดัชนีมวลกาย รับค่าส่วนสูงและน้ำหนักจากแป้นพิมพ์ โดยมีเงือนไข ถ้า น้ำหนักเท่ากับศูนย์จะไม่คำนวน
wght = float(input("Enter weight :"))
if wght <= 10:
print("light weight")
hght = float(input("Enter height :"))
if hght == 0 :
print("It's impossoble")
hm = hght / 100
#print("height :",hm)
if hm == 0 :
print("not calculate")
else :
bmi = wght / hm**2
print(bmi)
print("bye bye")
การหาเลขจำนวนเฉพาะ ตั้งแต่ 2 - 100 ว่ามีตัวไหนบ้าง
i = 2
while i < 100 :
j = 2
while j <= i :
if i%j == 0 :
break
j += 1
if j > i//j :
print (i)
i += 1
การหาว่าเลขดังกล่าวเป็น เลขจำนวนเฉพาะหรือไม่
a = 2
num = 14
while num > a :
if num%a == 0 & a != num :
print("not prime by :",a)
a += 1
else:
print("prime")
a = num + 1
a = 2
num = 17
while num > a :
if num%a == 0 & a != num :
print("not prime by :",a)
a += 1
else:
print("prime")
a = num + 1
การเรียกใช้ฟังค์ชันที่มีการรับค่าตัวแปรเพื่อนำไปคำนวนในฟังก์ชัน
def number(b):
a = 1
while a <= b :
print(a)
a += 1
return()
b = 20
#c = 15
number(b)
print("/////////")
การหาค่า factorial การเรียกใช้ฟังค์ชันที่มีการรับค่าตัวแปรเพื่อนำไปคำนวนในฟังก์ชัน เมื่อเราใช้คำสั่ง
print(factorial(3)) ก็จะนำค่าไปคำนวนในฟังก์ชัน แล้ว return ค่าออกมาแสดง
def factorial(n):
count = 1
for i in range(1, n + 1 ):
count *= i
return count
print(factorial(3))
print(factorial(5))
การหา ค่าสูงสุด จาก สาม ค่า โดยจะส่งค่าไปยังฟังกฺชัน max เพื่อเปรียบเทียบหาค่าที่มากว่ากันสองค่า
แล้วทำการ return ค่าออกไป เมื่อต้องการเปรียบเทียบ สาม ค่า ก็ทำซ้ำอีกรอบ นำเลขตัวที่สาม ไปเปรียบเทียบกับค่าที่ถูกส่งมาก่อนหน้านี้
def max(a, b):
if a > b:
return a
else:
return b
def max3(a, b, c):
return max(max(a, b), c)
print(max3(3, 7, 12))
การหาค่าสูงสุด โดยรับค่ามาจากแป้นพิมพ์
def max(a, b):
if a > b:
return a
else:
return b
print(max(int(input("num1 :")), int(input("num2 :"))))
วันพฤหัสบดีที่ 15 ธันวาคม พ.ศ. 2559
Flow Chart
Flow Chart
if...else
else...if
โดยการใช้ while จะดูเงื่อนไขใน while โดยตรง ถ้าเกิดเข้าเงื่อนไขก็จะมีการวนลุปไปเรื่อยๆ
for loop
การใช้ loop for นั้นมีรูปแบบการใช้ดังนี้
if...else
if else นั้นเป็นการกำหนดทางเลือกอื่น หากกรณีนั้นไม่ตรงกับเงื่อนไขที่อยู่ใน if ก็จะทำงานคำสั่งต่างๆ ที่อยู่ใน else แทน
else...if
else if เราจะใช้ในกรณีที่เรามีเงื่อนไขคำสั่งเยอะๆ ซึ่งแต่ละเงื่อนไขนั้นแตกต่างกัน else if นั้นเป็นสิ่งที่มาเสริมให้กับคำสั่ง if นั้นสมบูรณ์รัดกุมกับเงื่อนไขมากขึ้น
while loopโดยการใช้ while จะดูเงื่อนไขใน while โดยตรง ถ้าเกิดเข้าเงื่อนไขก็จะมีการวนลุปไปเรื่อยๆ
for loop
การใช้ loop for นั้นมีรูปแบบการใช้ดังนี้
for(ค่าเริ่มต้น;เงื่อนไข;การเพิ่มค่า)
ชุดคำสั่ง
ค่าเริ่มต้น คือ ค่าเริ่มต้นที่เราใช้กำหนดเพื่อใช้ในเงื่อนไข
เงื่อนไข คือ เงื่อนไขที่ใช้ในการเช็คว่าจะเข้าไปทำงานในชุดคำสั่งที่เรากำหนดไว้หรือไม่
การเพิ่มค่า คือค่าที่เราจะทำการกระทำ เพื่อเชคเงื่อนไข ตอนจบการทำงานในแต่ละ loop
เงื่อนไข คือ เงื่อนไขที่ใช้ในการเช็คว่าจะเข้าไปทำงานในชุดคำสั่งที่เรากำหนดไว้หรือไม่
การเพิ่มค่า คือค่าที่เราจะทำการกระทำ เพื่อเชคเงื่อนไข ตอนจบการทำงานในแต่ละ loop
วันพุธที่ 23 พฤศจิกายน พ.ศ. 2559
Class
Class
ประเภทข้อมูล
·
จำนวน
ใช้ int หรือ float
·
ข้อความ
ใช้ str
·
จริง/เท็จ
ใช้ boolean
·
กลุ่มข้อมูล ใช้ list,
set, tuple, dict
คลาสเพื่อสร้างประเภทข้อมูลที่ต้องการ
·
ใช้คลาสประกาศองค์ประกอบของข้อมูลประเภทใหม่ว่าประกอบด้วยข้อมูลย่อยๆ อะไรบ้าง
ใช้คลาสประกาศองค์ประกอบของข้อมูลประเภทใหม่ว่าประกอบด้วยข้อมูลย่อยๆ อะไรบ้าง
·
เมื่อประกาศคลาสแล้ว
สามารถสร้างที่เก็บข้อมูลเรียกว่า อ็อบเจกต์(object) ด้วยการเรียกใช้ constructor
การสร้างอ็อบเจกต์
คลาส คือประเภทข้อมูล อ็อบเจกต์คือตัวข้อมูล
แต่ละอ็อบเจกต์มีตัวแปรประจำอ็อบเจ็กต์ของตนเอง
การใช้ / เปลี่ยนค่าของตัวแปรอ็อบเจกต์
b1.price อ่านว่า ตัวแปร price ของอ็อบเจกต์
b1
ตัวอย่าง : class song
Function
Function
แบ่งโปรแกรมออกเป็นส่วนย่อยๆ
·
เรียกส่วนย่อยว่า
subroutine, subprogram,
function, method
·
แต่ละ
function มีหน้าที่ในตัวเองอย่างเด่นชัด
·
โปรแกรมอ่านง่าย
·
function
เรียกใช้ได้หลายครั้ง
โปรแกรมเริ่มต้น
โปรแกรม เมื่อมี function
องค์ประกอบของฟังก์ชัน
ต้องเยื้องคำสั่งทั้งหลายในฟังก์ชันให้ตรงกัน
ส่วนหัว : ชื่อฟังก์ชัน
·
ใช้กฎตั่งชื่อเหมือนกับตัวแปร
·
มักตั้งชื่อฟังก์ชันขึ้นต้นด้วยอักษรตัวเล็ก
·
มักตั้งชื่อฟังก์ชันให้เป็นกริยา
ส่วนหัว : รายการของพารามิเตอร์
·
parameter
คือตัวแปรสำหรับข้อมูลจากผู้เรียก
·
รายการของ parameter อยู่ภายในวงเล็บ(ถ้าไม่รับ parameter
ใดๆ ก็ไม้ต้องใส่อะไรในวงเล็บ)
ส่วนตัวของฟังก์ชัน
·
คำสั่งต่างๆที่ทำงานตามข้อกำหนด
·
ถ้าต้องการคืนผลการทำงานให้ผู้เรียกใช้คำสั่ง
return คามด้วยค่าที่ต้องการคืนผลลัพธ์
·
ถ้าต้องการคืนหลายค่า
ก็คืนเป็น tuple หรือ list
ส่วนตัว : Local Variables
·
พารามิเตอร์และตัวแปรในฟังก์ชันก์ใด
เป็นตัวแปรที่ใช้ได้ในฟังก์ชันนั้น
ชื่อซ้ำกันได้
ถ้าอยู่คนละฟังก์ชัน
เรียกใช้ตัวแปร ที่อยู่คนละฟังก์ชันไม่ได้
ตัวแปรของผู้เรียกกับของฟังก์ชันเป็นคนละตัว
ตัวแปรเก็บ int, float, bool ของฟังก์ชันเปลี่ยนแค่ของผู้เรียกไม่เปลี่ยน เพราะคนละตัว
กรณีเป็นตัวแปรแบบ
list, tuple, set, dict ตัวแปรของผู้เรียกกับพารามอเตร์ของฟังก์ชันเป็นคนละตัว
แต่อ้างอิงที่เก็บข้อมูลเดียวกัน
เมื่อใดควรเขียนฟังก์ชันใหม่
·
เมื่อฟังกืชันที่เขียนอยู่ยาวเกินไปหรือเข้าใจได้ยาก
·
เมื่อมีกลุ่มคำสั่งที่เขียนซ้ำกัน
หรือทำงานเหมือนกัน แต่ทำกับข้อมูลต่างกัน
ข้อแนะนำการเชียนฟังก์ชัน
·
ควรตั้งชื่อสือความหมาย
·
ควรมีภาวะที่ต้องทำหนึ่งอย่างตามชื่อ
·
ควรสั้นกระทัดรัด
อ่านเข้าใจง่าย
·
ควรพารามิเตอร์จำนวนไม่มาก
Recursive Function : ฟังก์ชันแบบเวียนเกิด
ความสำพัน์เวียนเกิด (Recurrences)
·
การเขียนคสามสัมพัน์ของจำนวนเต็มในลำดับ
ข้อดี-ข้อด้อย
การเขียนแบบ recursive
มีทั่งข้อดีและข้อด้อย
ข้อดี
·
ในบางกรณี มุมมองแบบ recursive จะทำให้เห็น วิธีแก้ปัณหาได้ง่ายขึ้น
·
ถ้าจำนวนชั้นของ loop
ไม่ คงที่ การใช้ recursive จะง่ายกว่ามาก
ข้อด้อย
·
บางครั้งการทำงายช้ากว่าแบบ loop
·
ใช้หน่วยความจำมากกว่า
การคำนวณ
List
List
ตัวอย่างการใช้งาน
List คือ รายการของข้อมูล
[2,3,5,7,12,15,19,28]
[“SUN”,”MON”
,”TUE” ,”WED” ,”THU” ,”FRI” ,”SAT”]
[23587,”Sometime”,[“A”
,”B”,”C”]]
[] ß empty list
การใช้และการเปลี่ยนแปลงค่าแต่ละข้อมูลใน list
เราสามารเปลี่ยนข้อมูลใน list ได้ ซึ่ง ใน string เปลี่ยนไม่ได้
len(list) : ความยาวของ list (จำนวนข้อมูลใน list)
จาก print(len(x[1])) เกิด error
เพราะ len จะไม่รับค่าที่เป็น int จะรับค่าที่เป็น string list …
การใช้และการเปลี่ยนแปลงรายการย่อยใน list
การใช้
การเปลี่ยนแปลงค่าใน list
การเพิ่มและลบข้อมูลใน list
ตำแหน่งของข้อมูลใน list
·
ต้องเป็น int หรือเป็นช่วง int:int x[3] x[3:5]
·
เป็นตัวแปรที่เก็บข้อมูลแบบ int x[i]
·
เป็นexpression ที่ให้ผลเป็น int x[2*i+1]
การค้นข้อมูลใน list (c in x)
List กับ วงวน for
for e in x กับ for i in range
บริการของสตริงเพิ่มเติม :
split และ join
·
เมื่อนำ string ไป split
จะได้ list
list ไป join จะได้ string
ตัวอย่าง : การหาค่าเฉลี่ยของชุดข้อมูล
ตัวอย่าง
การแยก วัน/เดือน/ปี
สมัครสมาชิก:
บทความ (Atom)