You are on page 1of 19

บทที่ 3

ชนิดข้อมูล ตัวแปร การรับค่า และ การแสดงผล


การเขียนโปรแกรมคอมพิวเตอร์นั้น มีความจำเป็นอย่างยิ่งที่จะต้องจัดการกับข้อมูลประเภทต่าง ๆ
เพื่อให้งานนั้นๆ สามารถจัดการและจัดเก็บข้อมูลได้อย่างมีประสิทธิภาพ

ประเภทของข้อมูล (Type of Data)


1. ตัวเลข (Number) คือ ข้อมูลแบบตัวเลขที่มีขนาด 1 หลัก หรือมากกว่าซึ่งสามารถเป็น ตัวเลขจำนวนเต็ม
(integer number) หรือ ตัวเลขทศนิยม (floating-point number) ตัวอย่าง เช่น 100, 0, -20, 20.25, -
0.60, 58.96, 7.53e+1 เป็นต้น
2. ตัวอักขระ (Character) คือ ข้อมูลแบบตัวอักษร หรือสัญลักษณ์ ที่มีความยาว เพียง 1 ตัวอักขระเท่านั้น โดย
จะเขียนไว้ในเครื่องหมาย ‘ ’ (Single Quote) หรือ เครื่องหมาย “” (Double Quote) ตัวอย่าง เช่น ‘a’,
“#”, “5” เป็นต้น
3. ข้อความ (String) คือ ข้อมูลแบบตัวอักขระที่มีความยาวมากกว่า 1 ตัวอักขระ มาเรียงต่อกันเป็นข้อความ
โดยจะเขียนไว้ในเครื่องหมาย ‘ ’ (Single Quote) หรือ เครื่องหมาย “” (Double Quote) ตัวอย่าง เช่น ‘A
full sentence’, “math”, “1245” เป็นต้น
4. บูลีน (Boolean) คือ ข้อมูลแบบตรรกศาตร์ที่แสดงถึงค่าความเป็นจริง มีเพียง 2 ค่า คือ ค่าจริง (True) หรือ
ค่าเท็จ (False)

ชนิดข้อมูล
ชนิดข้อมูล คือ รูปแบบในการจัดประเภทข้อมูล โดยทั่วไปสามารถแบ่งได้เป็น 2 ประเภท
1. ชนิดข้อมูลพื้นฐาน (Primitive data type) คือชุดของชนิดข้อมูลพื้นฐาน สำหรับไพทอน คือ Integer
Float String และ Boolean
2. ชนิดข้อมูลผสม (Composite data type) ชนิดข้อมูลแบบผสมเป็นชนิดข้อมูลใด ๆ ที่สามารถสร้างขึ้นใน
โปรแกรมโดยใช้ช นิ ดข้ อมูล พื้ น ฐานมาประกอบเป็ นชนิ ด ข้ อ มูล ใหม่ สำหรับไพทอน คือ Set List Tuple และ
Dictionary
ชนิดข้อมูลในไพทอน มีดังนี้
1. Integer: int คือ ชนิดข้อมูลจำนวนเต็ม เช่น 1, 128, 3,056 -2 เป็นต้น

เอกสารคำสอนวิชา คพ.104 18
2. Float point: float คือ ชนิดข้อมูลเลขทศนิยม เช่น 12.99, 0.26 และ -3.56 เป็นต้น
3. String: str คือ ชนิดข้อมูลข้อความ โดยจะเขียนไว้ในเครื่องหมาย ‘ ’(Single Quote ) หรือ
เครื่องหมาย “” (Double Quote) ตัวอย่าง เช่น ‘A full sentence’, “math”, “1245” เป็นต้น
4. Boolean: bool คือ ชนิดข้อมูลแบบตรรกศาสตร์ที่แสดงถึงค่าความจริงจากเงื่อนไขหรือนิพจน์ มี
เพียง 2 ค่า คือ ค่าจริง (True) หรือ ค่าเท็จ (False) ตัวอย่าง เช่น True, False
5. Set คือ ชนิดข้อมูลที่มีการจัดเก็บข้อมูลแบบชุดที่ไม่มีลำดับ สมาชิกแต่ละตัวต้องไม่ซ้ำกัน โดยเขียน
ไว้ในเครื่องหมาย { } หรือใช้คำสั่ง set() ตัวอย่าง เช่น {5,2,3,1,4} เป็นต้น
6. List คือ ชนิดข้อมูลที่มีการจัดเก็บข้อมูลแบบชุดที่มลี ำดับ สามารถเข้าถึงข้อมูลได้โดยใช้ตัวชี้ข้อมูล
(index) เหมาะกับการเก็บข้อมูลได้หลายจำนวนที่มีชนิดข้อมูลแตกต่างกันในตัวแปรเดียวกัน โดย
เขียนไว้ในเครื่องหมาย [ ] ตัวอย่าง เช่น [1,2.5, “yes”] เป็นต้น
7. Tuple คือ ชนิดข้อมูลที่มีลักษณะคล้ายกับ List เหมาะกับการเก็บข้อมูลคงที่ไม่สามารถเปลี่ยนแปลง
ข้อมูลได้โดยตรง โดยเขียนไว้ในเครื่องหมาย ( ) ตัวอย่าง เช่น (234, “school”) เป็นต้น
8. Dictionary คือ ชนิดข้อมูลที่มีการจัดเก็บข้อมูลแบบชุด ในแต่ละชุดประกอบด้วย 2 ส่วน คือ key
และ value เขียนไว้ในเครื่องหมาย {} ในรูปแบบ key:value ตัวอย่าง เช่น {1: “A”, 2:
“Python”, 3: “Phuket”} เป็นต้น

ตัวแปร (Variable)
ตัวแปร คือ ชื่อที่ถูกกำหนดขึ้นมาโดยผู้ใช้ เพื่อเก็บข้อมูลหรืออ้างอิงถึงพื้นทีใ่ นหน่วยความจำ ผู้ใช้สามารถ
กำหนดค่าข้อมูลเพื่อเก็บในพื้นที่ส่วนนั้นหรือเรียกค่าข้อมูลที่เก็บอยู่ออกมาใช้ได้

ค่าคงที่ (Constant)
ค่าคงที่ คือ ชื่อที่ถูกกำหนดขึ้นมาโดยผู้ใช้ เพื่อเก็บข้อมูลหรืออ้างอิงถึงพื้นทีใ่ นหน่วยความจำทีไ่ ม่สามารถมี
การเปลี่ยนแปลงค่าได้ตลอดการรันโปรแกรมนั้น ๆ

หลักการตั้งชื่อตัวแปร

1. ชื่อตัวแปรประกอบด้วยตัวอักษรทั้งตัวพิมพ์เล็ก (a ถึง z) หรือตัวพิมพ์ใหญ่ (A to Z) หรือตัวเลข (0 to 9)


หรือขีดล่าง “_”. ตัวอย่างเช่น count, ringNum, multiple_of_2 เป็นต้น หากต้องการตัง้ ชื่อตัวแปรที่มีคำ
มากกว่า 1 คำ สามารถตั้งชื่อได้ 2 รูปแบบ

เอกสารคำสอนวิชา คพ.104 19
1. แบบ Camel case เป็นวิธีการตั้งชื่อตัวแปรโดยเริ่มต้นคำแรกด้วยตัวอักษรพิมพ์เล็ก และคำถัดมา
จะเริ่มต้นด้วยตัวอักษรพิมพ์ใหญ่ เช่น totalCost , multipleOf2, gender เป็นต้น
2. แบบ Snake case เป็นวิธีการตั้งชื่อตัวแปรโดยใช้เป็นตัวอักษรพิมพ์เล็กทั้งหมดและใช้ขีดล่าง “_”
เพื่อแยกคำ เช่น total_cost, multiple_of_2, gender เป็นต้น
2. ห้ามใช้ช่องว่าง หรือ สัญลักษณ์พิเศษยกเว้นขีดล่าง เท่านั้น เช่น !, @, #, $, % เป็นต้น
3. ห้ามขึ้นต้นชื่อตัวแปรด้วยตัวเลข
4. การใช้ตัวอักษรพิมพ์เล็กและพิมพ์ใหญ่ในการตั้งชื่อ จะถือว่าเป็นตัวแปรคนละตัวกัน เช่น grade และ Grade
5. ห้ามตั้งชื่อตัวแปรที่ซ้ำกับคีย์เวิร์ด (Keyword) ซึ่ง คีย์เวิร์ด ถือเป็นคำสงวนห้ามตั้งชื่อซ้ำ
6. สำหรับไพทอนจะไม่มีค่าคงที่ หากต้องการกำหนดให้ตัวแปรนั้นเป็นค่าคงที่ นิยมใช้วิธีการสร้างตัวแปรปกติ
และตั้งชื่อตัวแปรด้วยตัวอักษรพิมพ์ใหญ่ทั้งหมดและใช้ขีดล่าง “_” เพื่อแยกคำ ตัวอย่าง เช่น PI = 3.14,
MINUTES_IN_HOUR = 60

การกำหนดค่า (Assigning Value)


การกำหนดค่า คือ การระบุค่าให้กับตัวแปรหรือค่าคงที่นั้นๆ โดยใช้เครื่องหมายเท่ากับ “=” ตัวอย่างเช่น
first_letter = “A”, counter = 0 สำหรับตัวแปรใดๆที่ไม่มีค่าอยู่เลยเรียกค่าดังกล่าวว่า null ในไพทอนกำหนดค่า
null โดยใช้ว่า None เช่น location = None
ในการเปลี่ยนแปลงค่าของตัวแปรสามารถเขียนในรูปแบบ variable_name = expression ตัวอย่างเช่น
total_value = 2+3+1, counter = counter+1 , name = “Alexander”

ตัวอย่าง 3.1 การกำหนดหลายค่าให้กับหลายตัวแปร

เอกสารคำสอนวิชา คพ.104 20
ผลลัพธ์

คำอธิบาย
ตัวแปร ring_num = 5, ring_value = 1000.0 และ ring_name = ‘’SAYA’’ ตามลำดับ
ตัวอย่าง 3.2 การกำหนด 1 ค่าให้กับหลายตัวแปร

ผลลัพธ์

คำอธิบาย
โปรแกรมทำการกำหนดค่า “HANES” ให้กับตัวแปร ring1, ring2 และ ring3 พร้อมกัน

นิพจน์ (Expression)
นิพจน์ คือ การนำเอาค่าคงที่ หรือตัวแปร หรือตัวถูกดำเนินการ (operand) มาดำเนินการประมวลผลกับตัว
ดำเนินการ (operator) โดยตัวดำเนินการในไพทอนมี 3 ประเภท

1. ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operators)

เอกสารคำสอนวิชา คพ.104 21
1. + (Addition: บวก) สำหรับตัวเลข การบวก คือ การบวกตัวเลข 2 จำนวน
สำหรับข้อความ การบวก คือ การนำข้อความ 2 จำนวนมาต่อกัน เช่น

2. - (Subtraction: ลบ) คือ การลบตัวเลข 2 จำนวน เช่น

3. * (Multiplication: คูณ) คือ สำหรับตัวเลข การคูณ คือ การคูณตัวเลข 2 จำนวน


สำหรับข้อความและตัวเลข การคูณ คือ คัดลอกข้อความเท่ากับจำนวนตัวเลข เช่น

4. / (Division: หาร) คือ การหารที่สามารถดำเนินการได้กับตัวเลข เช่น

5. // (Integer division: หารปัดเศษ) คือ การหารที่สามารถดำเนินการได้กับตัวเลขและปัดเศษที่เหลือจากการ


หารไม่ลงตัวทิ้ง เช่น

เอกสารคำสอนวิชา คพ.104 22
6. % (Modulo division: หารเอาเศษ) คือ การหารที่สามารถดำเนินการได้กับตัวเลขและเอาเศษที่เหลือจาก
การหารไม่ลงตัวมาเป็นผลลัพธ์ เช่น

7. ** (Exponent: ยกกำลัง) คือ การยกกำลังตัวเลข 2 จำนวน

2. ตัวดำเนินการแบบผสม (Compound operators)


คือ ตัวดำเนินการที่ผสมระหว่างตัวดำเนินการทางคณิตศาสตร์และตัวดำเนินการกำหนดค่า ใช้เพื่ออัพเดทหรือ
แก้ไขค่าปัจจุบันของตัวแปร
1. += (Self addition :บวกร่วมกับค่าเดิม) คือ การบวกร่วมกับค่าเดิมที่ตัวแปรนั้นเก็บค่าอยู่ สามารถใช้
งานได้ทั้งตัวเลขและข้อความ เช่น x += 1 คือ x = x+1
2. -= (Self subtraction : ลบร่วมกับค่าเดิม) คือ การลบร่วมกับค่าเดิมที่ตัวแปรนั้นเก็บค่าอยู่ เช่น x -= 1
คือ x = x-1
3. *= (Self multiplication : คูณร่วมกับค่าเดิม) คือ การคูณร่วมกับค่าเดิมที่ตัวแปรนั้นเก็บค่าอยู่ เช่น

เอกสารคำสอนวิชา คพ.104 23
x *= 2 คือ x = x*2
4. /= (Self division : หารร่วมกับค่าเดิม) คือ การหารร่วมกับค่าเดิมที่ตัวแปรนั้นเก็บค่าอยู่ เช่น
x /= 2 คือ x = x/2
5. %= (Self modulo division:หารเอาเศษร่วมกับค่าเดิม) คือ การหารแบบเอาเศษร่วมกับค่าเดิมที่ตัว
แปรนั้นเก็บค่าอยู่ เช่น x %= 2 คือ x = x%2
ตัวอย่าง 3.3 +=

ผลลัพธ์

คำอธิบาย
บรรทัดที่ 1 ตัวแปร count มีค่าเท่ากับ 0
บรรทัดที่ 2 ตัวแปร count ทำการเพิ่มค่าไป 1 และเก็บผลลัพธ์ในตัวแปร count
บรรทัดที่ 3 แสดงผลลัพธ์ของตัวแปร count
บรรทัดที่ 4 ตัวแปร num เก็บค่าข้อความ CS
บรรทัดที่ 5 การนำข้อความในตัวแปร num มาต่อกับข้อความ CS และเก็บผลลัพธ์ในตัวแปร num
บรรทัดที่ 6 แสดงผลลัพธ์ของตัวแปร num ซึ่งคือ

3. ตัวดำเนินการทางตรรกศาสตร์ (Logical Operators)


เป็นตัวดำเนินการทีแ่ สดงถึงค่าความจริงจากเงื่อนไขหรือนิพจน์ มีเพียง 2 ค่า คือ ค่าจริง (True) หรือ ค่าเท็จ
(False)

เอกสารคำสอนวิชา คพ.104 24
1. and (และ) ใช้สำหรับการเปรียบเทียบเงื่อนไขหรือนิพจน์ ของ 2 นิพจน์และจะได้ผลลัพธ์มีค่าความจริงเป็น
จริง (True) เมื่อดำเนินการกับเงื่อนไขหรือนิพจน์ที่มีค่าจริงทั้งคู่ ไม่เช่นนั้นจะได้ผลลัพธ์มีค่าความจริงเป็น เท็จ
(False)
2. or (หรือ) ใช้สำหรับการเปรียบเทียบเงื่อนไขหรือนิพจน์ ของ 2 นิพจน์และจะได้ผลลัพธ์มีค่าความจริงเป็นจริง
(True) เมื่อดำเนินการกับเงื่อนไขหรือนิพจน์ ที่มีอย่างน้อย 1 นิพจน์มีค่าความจริงเป็น จริง ไม่เช่นนั้นจะได้
ผลลัพธ์มีค่าความจริงเป็น เท็จ (False)
3. not (นิเสธ) ใช้ในการกลับค่าจาก True เป็น False และในทางกลับกัน
ตัวอย่าง 3.4 and, or, not

4. ตัวดำเนินการเปรียบเทียบ (Rational Operators)


เป็นตัวดำเนินการที่แสดงความสัมพันธ์ของการเปรียบเทียบ มีตัวดำเนินการดังนี้
1. == (เท่ากัน)
2. != (ไม่เท่ากัน)
3. < (น้อยกว่า)
4. > (มากกว่า)
5. <= (น้อยกว่าหรือเท่ากับ)
6. >= (มากกว่าหรือเท่ากับ)
สำหรับตัวดำเนินการเปรียบเทียบแบบต่อเนื่อง เช่น 3<x<8 สามารถเขียนได้ในรูปแบบนี้ (3<x) and (x<8)

เอกสารคำสอนวิชา คพ.104 25
ตัวอย่าง 3.5 ตัวดำเนินการเปรียบเทียบ

ลำดับความสำคัญของตัวดำเนินการ
ถ้าในกรณีที่มีตัวดำเนินการหลายตัวอยู่ในนิพจน์เดียวให้ประมวลผลตามลำดับความสำคัญของตัวดำเนินการจาก
ลำดับความสำคัญสูงไปยังลำดับความสำคัญต่ำ ดังนี้

1. ( ) ประมวลผลนิพจน์ภายในวงเล็บ
2. **
3. *, /, // ,% มีลำดับความสำคัญเท่ากันโดยจะประมวลผลจากซ้ายไปขวาในนิพจน์
4. +, - มีลำดับความสำคัญเท่ากันโดยจะประมวลผลจากซ้ายไปขวาในนิพจน์
5. <, <=, >, >=, <>, !=, == มีลำดับความสำคัญเท่ากันโดยจะประมวลผลจากซ้ายไปขวาในนิพจน์
6. not
7. and
8. or

เอกสารคำสอนวิชา คพ.104 26
ตัวอย่าง 3.6 ลำดับความสำคัญของตัวดำเนินการ

การรับค่า (Input)
การรับค่าข้อมูลเข้าทางคีย์บอร์ด เพียง 1 ค่าโดยค่าที่รับมาจะมีชนิดข้อมูลแบบข้อความ (string) เท่านั้น
สำหรับไพทอนใช้คำสั่ง input() ในการรับข้อมูลประเภทอื่นๆ เช่น ตัวเลข จำเป็นต้องมีการแปลงข้อมูลจากข้อความ
ไปเป็นข้อมูลประเภทอื่นตามต้องการได้
ตัวอย่าง 3.7 input()

ผลลัพธ์

คำอธิบาย
คำสั่ง print() แสดงข้อความ How many rings do you have? แล้วขึ้นบรรทัดใหม่ และมีการรอรับข้อมูล
จากผู้ใช้ผ่านทางคีย์บอร์ดโดยใช้คำสั่ง input() เมื่อผู้ใช้พิมพ์ค่าลงไปและกด Enter โปรแกรมนำค่าดังกล่าวมาเก็บไว้
ในตัวแปร ring_num

เอกสารคำสอนวิชา คพ.104 27
หรือ สามารถเขียนได้ในรูปแบบนี้

ผลลัพธ์

คำอธิบาย
โปรแกรมทำการแสดงข้อความ How many rings do you have? ภายในคำสั่ง input และมีการรอรับ
ข้อมูลจากผู้ใช้ผ่านทางคีย์บอร์ด เมื่อผู้ใช้พิมพ์ค่าลงไปและกด Enter โปรแกรมนำค่าดังกล่าวมาเก็บไว้ในตัวแปร
ring_num
หากต้องการรับข้อมูลมากกว่า 1 ค่าพร้อมกันสามารถใช้คำสั่ง split() ร่วมด้วย โดยใช้ช่องว่าง(space) แยก
แต่ละค่า แต่หากต้องการใช้สัญลักษณ์หรือตัวอักขระอื่นๆ ในการแยกแต่ละค่า เช่น , x เป็นต้น ให้ใช้ split(“,”) ,
split(“x”) เป็นต้น ในการรับข้อมูลมากกว่า 1 ค่าพร้อมกันจะต้องมีจำนวนเต็มแปรที่จะทำการเก็บค่าที่รับเข้ามา
เท่ากับจำนวนค่าที่ต้องการรับเท่านั้น หากมากกว่าหรือน้อยกว่าจะเกิดความผิดพลาดเกิดขึ้นได้
ตัวอย่าง 3.8 split()

ผลลัพธ์

คำอธิบาย
บรรทัดที่ 1 มีตัวแปร x, y ทำการรับค่า 2 ค่าจากผู้ใช้ ผู้ใช้พิมพ์ค่าตัวแรกและช่องว่างแล้วทำการพิมพ์ค่าตัวที่
สอง และกด Enter
บรรทัดที่ 2 ทำการแสดงผลค่า x, y ที่รับมา 2 ค่า

เอกสารคำสอนวิชา คพ.104 28
บรรทัดที่ 3 มีตัวแปร a, b ทำการรับค่า 2 ค่าจากผู้ใช้ ผู้ใช้พิมพ์ค่าตัวแรกและ x แล้วทำการพิมพ์ค่าตัวที่สอง
และกด Enter
บรรทัดที่ 4 ทำการแสดงผลค่า a, b ที่รับมา 2 ค่าซึ่งจะเห็นได้ว่าไม่มีการแสดง x ออกมา ซึ่ง x เป็นเพียง
สัญลักษณ์แสดงการแยกค่า

การแสดงผล (Output)
การแสดงผลข้อความ ตัวเลขหรือข้อมูลประเภทอื่นๆ ทางหน้าจอและจะขึ้นบรรทัดใหม่ทุกครั้ง ในไพทอนจะ
ใช้คำสั่ง print()
ตัวอย่าง 3.9 print()

ผลลัพธ์

คำอธิบาย
คำสั่ง print() แสดงข้อความ How many rings do you have? แล้วขึ้นบรรทัดใหม่ และมีการรอรับข้อมูล
จากผู้ใช้ผ่านทางคีย์บอร์ดโดยใช้คำสั่ง input() เมื่อผู้ใช้พิมพ์ค่าลงไปและกด Enter โปรแกรมนำค่าดังกล่าวมาเก็บไว้
ในตัวแปร ring_num และแสดงผลข้อความ I have ค่าตัวแปร ring_num และข้อความ rings โดยใช้คำสั่ง print()
ในบรรทัดสุดท้าย

การแปลงชนิดข้อมูล (Data type conversion)


ไพทอน สามารถแปลงชนิดข้อมูลได้ด้วยวิธีที่เรียกว่า type casting ดังนี้

• int() แปลงข้อมูลเป็นชนิดข้อมูลตัวเลขจำนวนเต็ม int โดยสามารถแปลงชนิดข้อมูลตัวเลขจำนวนเต็ม int,


ตัวเลขทศนิยม float และ ข้อความ string (เฉพาะข้อความที่เป็นตัวเลขเท่านั้น)

เอกสารคำสอนวิชา คพ.104 29
• float() แปลงข้อมูลเป็นชนิดข้อมูลตัวเลขทศนิยม float โดยสามารถแปลงชนิดข้อมูลตัวเลขจำนวนเต็ม int,
ตัวเลขทศนิยม float และ ข้อความ string (เฉพาะข้อความที่เป็นตัวเลขเท่านั้น)
• str() แปลงข้อมูลเป็นชนิดข้อมูลข้อความ string โดยสามารถแปลงชนิดข้อมูลจากชนิดอื่น ๆ ได้หลากหลาย
เช่น ข้อความ, ตัวเลขจำนวนเต็ม, และตัวเลขทศนิยม เป็นต้น
• bool() แปลงข้อมูลเป็นชนิดข้อมูลแบบตรรกะที่แสดงถึงค่าความเป็นจริง ใช้ในการตรวจสอบตัวแปร และค่า
ต่าง ๆ ได้ โดยจะได้ผลลัพธ์กลับมาเป็นค่า True หรือ False
o ถ้าข้อมูล เป็น 0 หรือ “”สตริงว่าง (empty string) ผลลัพธ์จะได้เป็น False

o ถ้าเป็นข้อมูลอื่นๆ จะได้ผลลัพธ์เป็น True

ตัวอย่าง 3.10 การแปลง str เป็น int

ผลลัพธ์

คำอธิบาย
โปรแกรมทำการแสดงข้อความ How many gold rings do you have? ภายในคำสั่ง input และมีการรอ
รับข้อมูลจากผู้ใช้ผ่านทางคีย์บอร์ด เมื่อผู้ใช้พิมพ์ค่าลงไปและกด Enter โปรแกรมนำค่าดังกล่าวมาเก็บไว้ในตัวแปร
g_ring_num และแสดงผลทางหน้าจอ หลังจากนั้นทำการแสดงข้อความ How many silver rings do you have?
และรับข้อมูลจากผู้ใช้ โปรแกรมนำค่าดังกล่าวมาเก็บไว้ในตัวแปร s_ring_num และแสดงผลทางหน้าจอ หลังจากนั้น
โปรแกรมใช้คำสั่ง int() เพื่อแปลงข้อมูลที่รับเข้ามาทั้งสองค่าที่เป็นชนิดข้อมูล str ให้เป็น int และนำค่าดังกล่าวมาเก็บ

เอกสารคำสอนวิชา คพ.104 30
ไว้ในตัวแปร g_ring_num และ s_ring_num ตามลำดับ หลังจากนั้นแสดงผลบวกของตัวเลขทั้งสอง และ แสดงผล
ทางหน้าจอ
หรือ สามารถเขียนได้ในรูปแบบนี้

คำอธิบาย
โปรแกรมทำการแสดงข้อความ How many gold rings do you have? ภายในคำสั่ง input และมีการรอ
รับข้อมูลจากผู้ใช้ผ่านทางคีย์บอร์ด เมื่อผู้ใช้พิมพ์ค่าลงไปและกด Enter โปรแกรมนำค่าดังกล่าวที่รับมาเป็นชนิดข้อมูล
str แปลงให้เป็น int โดยใช้คำสั่ง int() และนำค่าดังกล่าวมาเก็บไว้ในตัวแปร g_ring_num และแสดงผลทางหน้าจอ
หลังจากนั้นทำการแสดงข้อความ How many silver rings do you have? และรับข้อมูลจากผู้ใช้ โปรแกรมนำค่า
ดังกล่าวที่รับมาเป็นชนิดข้อมูล str แปลงให้เป็น int โดยใช้คำสั่ง int() และนำค่าดังกล่าวมาเก็บไว้ในตัวแปร
s_ring_num และแสดงผลทางหน้าจอ หลังจากนั้นแสดงผลบวกของตัวเลขทั้งสอง และ แสดงผลทางหน้าจอ
ตัวอย่าง 3.11 การแปลง float เป็น int

เอกสารคำสอนวิชา คพ.104 31
ผลลัพธ์

คำอธิบาย
จากคำอธิบายตัวอย่าง 3.10 หลังจากนั้นโปรแกรมทำการหาค่าเฉลี่ยซึ่งผลลัพธ์ที่ได้จะเป็นชนิดข้อมูลตัวเลข
ทศนิยม float และนำค่าดังกล่าวมาแปลงให้เป็น int โดยใช้คำสั่ง int() ซึ่งผลลัพธ์ที่ได้เป็นการตัดค่าทศนิยมทิ้งไป และ
เก็บค่าดังกล่าวในตัวแปร int_average
ตัวอย่าง 3.12 การแปลง int เป็น float

ผลลัพธ์

คำอธิบาย
โปรแกรมทำการแสดงข้อความ How many gold rings do you have? ภายในคำสั่ง input และมีการรอ
รับข้อมูลจากผู้ใช้ผ่านทางคีย์บอร์ด เมื่อผู้ใช้พิมพ์ค่าลงไปและกด Enter โปรแกรมนำค่าดังกล่าวที่รับมาเป็นชนิดข้อมูล
str แปลงให้เป็น int โดยใช้คำสั่ง int() และนำค่าดังกล่าวมาเก็บไว้ในตัวแปร g_ring_num และแสดงผลทางหน้าจอ
หลังจากนั้นคำสั่ง float() จะทำการแปลงจากตัวเลขจำนวนเต็มให้เป็นเลขทศนิยมโดยจะมีทศนิยมเป็น 0 เสมอ
ตัวอย่าง 3.13 การแปลง str เป็น float

เอกสารคำสอนวิชา คพ.104 32
ผลลัพธ์

คำอธิบาย
โปรแกรมทำการแสดงข้อความ How tall are you? (cm) ภายในคำสั่ง input หลังจากนั้นนำค่าดังกล่าวที่
รับมาเป็นชนิดข้อมูล str แปลงให้เป็น float โดยใช้คำสั่ง float() จะได้ค่าคงเติมที่เปลี่ยนชนิดข้อมูลเป็นเลขทศนิยม
ตัวอย่าง 3.14 การใช้ bool()

ผลลัพธ์

คำอธิบาย
โปรแกรมทำการแปลงข้อความเป็น True แปลง 0 และ สตริงว่าง เป็น False แปลง int และ float เป็น
True และ ทำการตรวจสอบนิพจน์ 5>2 ซึ่งมีค่าความจริงเป็นจริง True เพราะ 5 มีค่ามากกว่า 2

เอกสารคำสอนวิชา คพ.104 33
การจัดรูปแบบการแสดงผล
1. การแสดงผลหลายๆค่า ในบรรทัดเดียวกัน
การใช้คำสั่ง print() สามารถแสดงผลได้ทั้งข้อความ ค่าในตัวแปร ได้มากกว่า 1 ค่าโดยใช้ , ในการแบ่งค่าต่างๆ
เช่น print(“Hello”, name, “Hello Python”) โดยปกติ print() จะมีการขึ้นบรรทัดใหม่ทุกครั้งหลังจากแสดงผล
หากต้องการให้แสดงผลในบรรทัดเดียวกันไม่ต้องขึ้นบรรทัดใหม่ให้ใช้ end =
ตัวอย่าง 3.15 การใช้ , และ end

ผลลัพธ์

คำอธิบาย
บรรทัดที่ 1 ใช้ , คั่นระหว่าง ข้อความ และ คำสั่ง end โดยที่ end = “ ” คือ เมื่อมีการแสดงข้อความแล้วให้
พิมพ์ช่องว่างหลังข้อความ ไม่มีการขึ้นบรรทัดใหม่
บรรทัดที่ 2 end = “,” คือ เมื่อมีการแสดงข้อความแล้วให้พิมพ์,หลังข้อความ ไม่มีการขึ้นบรรทัดใหม่
บรรทัดที่ 3 end = “.” คือ เมื่อมีการแสดงข้อความแล้วให้พิมพ์.หลังข้อความ ไม่มีการขึ้นบรรทัดใหม่

2. การใช้ Place Holder เป็นการแทรกรูปแบบของการแสดงผล ดังนี้


สัญลักษณ์ คำอธิบาย
%s สำหรับการแสดงผลข้อความ
%f สำหรับการแสดงผลเลขทศนิยม
%d สำหรับการแสดงผลจำนวนเต็ม
สำหรับการแสดงผลเลขทศนิยม สามารถระบุจำนวนตัวเลขหลังทศนิยมที่ต้องการแสดงผล เช่น %.1f, %.2f
เป็นต้น หากไม่มีการระบุจะเป็นการแสดงเลขทศนิยม 6 หลัก

เอกสารคำสอนวิชา คพ.104 34
ตัวอย่าง 3.16 การระบุจำนวนตัวเลขหลังทศนิยม กับ %f

ผลลัพธ์

คำอธิบาย
บรรทัดที่ 2 เป็นการจัดรูปแบบข้อมูลเลขทศนิยมให้แสดงผล 6 หลัก
บรรทัดที่ 3 เป็นการจัดรูปแบบข้อมูลเลขทศนิยมให้แสดงผล 3 หลัก โดยหลักที่ 4 มีค่ามากกว่าหรือเท่ากับ 5
จึงทำการเพิ่มค่าหลักที่ 3 ขึ้น 1 ค่า
บรรทัดที่ 4 เป็นการจัดรูปแบบข้อมูลเลขทศนิยมให้แสดงผล 2 หลัก โดยหลักที่ 3 มีค่าน้อยกว่า 5 จึงทำการ
แสดงผลเพียง 2 หลักเดิมเท่านั้น
ตัวอย่าง 3.17 การใช้ %s %d %f

ผลลัพธ์

คำอธิบาย
บรรทัดที่ 3 เป็นการจัดรูปแบบการแสดงผลข้อความโดยใช้ %s และ การแสดงผลเลขจำนวนเต็มโดยใช้ %d
ซึ่งตัวแปร version เป็นข้อมูลชนิดเลขทศนิยม เมื่อต้องการให้แสดงผลแบบเลขจำนวนเต็มจึงทำให้มีการตัดค่าหลัง
เลขทศนิยมทิ้งไป
บรรทัดที่ 4 ตัวแปร version เป็นข้อมูลชนิดเลขทศนิยม เมื่อต้องการแสดงผลแบบเลขทศนิยม %f จึงทำให้
เป็นค่าเดิมและแสดงเลขทศนิยม 6 หลัก

เอกสารคำสอนวิชา คพ.104 35
แบบฝึกหัด
1. จงเขียนโปรแกรมรับชื่ออาหารจากผู้ใช้มา 2 ชื่อและแสดงผลลัพธ์ โดยมีการใช้คำสั่ง split() ร่วมด้วย
2. จงเขียนโปรแกรมเพื่อทำการรับข้อมูล ชื่อ e-mail และสีที่ชอบ และแสดงผลลัพธ์ทั้งแบบไม่ใช้ place
holder และแบบที่ใช้ place holder ร่วมด้วย
3. จงหาผลลัพธ์ของนิพจน์ต่อไปนี้
3.1 25//2
3.2 121%2
3.3 “LOVE”*True
3.4 “PYTHON”*False
3.5 (not 50>100) and (100<=50)
3.6 (11-2*15/5)/5
3.7 (7/2)*2+(7%2)
4. จงหาผลลัพธ์ของโปรแกรมต่อไปนี้

เอกสารคำสอนวิชา คพ.104 36

You might also like