1. คอมพิวเตอร์และโปรแกรม¶
Computers and Programs
1.1. จุดประสงค์¶
เข้าใจการทำงานของโปรแกรมที่เขียนด้วยภาษา Python
สร้าง แก้ไข และ run โปรแกรมบน spyder ได้
เขียนคำสั่งบน ipython ได้
สร้าง jupyter notebook ได้
เขียนคำสั่งและ run บน notebook ได้
เขียนโปรแกรมเพื่อแสดงข้อความ "สวัสดีชาวโลก" ได้
เขียนโปรแกรมเพื่อรับชื่อและแสดงข้อความ "สวัสดีคุณชื่อ" ได้
1.2. Computer Hardware¶

Fig. 1.1 hardware¶
1.3. Computer Software (Programs)¶
1.3.1. A. [แปลง] Compiled Programming Languages¶

Fig. 1.2 compile-program¶
1.3.1.1. ตัวอย่างภาษาโปรแกรมที่เป็นแบบ Compiled¶
1.3.2. B. [แปล] Interpreted Program¶

Fig. 1.3 interpreted-program¶
1.3.2.1. ตัวอย่างภาษาโปรแกรมที่เป็น interpreted¶
1.4. ไพธอน (Python)¶
ภาษาโปรแกรมเชิงวัตถุสำหรับใช้งานหลายด้าน
รองรับหลายระบบปฏิบัติการ
เขียนง่าย อ่านง่าย
มีชุดคำสั่งเสริมมากมาย สำหรับหลากหลายด้าน
1.5. ทำไมไพธอนมีคนใช้เยอะ?¶
1.5.1. เป็นภาษาโปรแกรมที่นิยมใช้ในการพัฒนาซอฟตแวร์¶
Top 10 Most Popular Programming Languages to Learn in 2020
Northe Eastern University
10 Most Popular Programming Languages in October 2020: Learn To Code
guru99
1.5.2. เป็นภาษาโปรแกรมที่นิยมใช้ในงานด้านวิทยาการข้อมูล¶
1.5.3. เป็นภาษาโปรแกรมที่ได้รับความนิยมในการพัฒนาระบบ IoT¶
Top Programming Languages for IoT Projects
orangesoft
7 Best Languages to Learn IoT Development in 2020
geeksforgeeks
Top 8 Programming Languages for IoT (with Examples)
howtocreateapps
What programming languages rule the Internet of Things?
networkworld
Best Programming Languages for IoT in 2020
electronicsmedia
1.6. เริ่มการเขียนคำสั่ง¶
คำสั่งสำหรับนำเข้าชุดคำสั่ง sys เพื่อเรียกใช้ฟังก์ชัน version เพื่อดูรายละเอียดของ Python
import sys sys.version
กรอกคำสั่งตรงช่องด้านล่าง แล้ว click รัน หรือกดปุ่ม Shift พร้อม Enter บน keyboard
คำสั่งแสดงข้อความบนหน้าจอ
print('ข้อความ')
ตัวอย่างคำสั่งแสดงข้อความอื่นๆ
print('Hello world') print("Hello world") print('สวัสดีชาวโลก') print("สวัสดีชาวโลก")
Exercise 01.1 จงเขียนคำสั่งเพื่อแสดงชื่อของตัวเอง เป็นภาษาไทย
Exercise 01.2 จงเขียนคำสั่งเพื่อแสดงชื่อเล่น
Exercise 01.3 จงเขียนคำสั่งเพื่อแสดงชื่อของตัวเอง เป็นภาษาอังกฤษ
Exercise 01.4 ลองเขียนคำสั่งเพื่อแสดง email ของตัวเอง
1.7. การแสดงผลการคำนวณเบื้องต้น¶
คำสั่งแสดงผลบวก
print(2+3)
คำสั่งแสดงผลลบ
print(2561-543)
คำสั่งแสดงผลคูณ
print(9*1024)
คำสั่งแสดงผลหาร
print(1024/7)
คำสั่งแสดงผลยกกำลัง
print(10**2) print(2**10)
คำสั่งแสดงผลค่ารากที่สองตัวเลข
print(100**0.5)
คำสั่งแสดงผลของสมการที่ซับซ้อนขึ้น
print( (2*3 + 3*3 + 1*3 + 2*3 + 2*3)/(3+3+3+3) )
Exercise 01.5 จงเขียนคำสั่งเพื่อแสดงผลลัพธ์ของสมการต่อไปนี้
\(2^3 + 9 \times 7\)
\(\frac{1}{2} + \frac{1}{3} + \frac{1}{4} + \frac{1}{5}\)
\(\sqrt{3^2 - 4\times 1 \times 2}\)
\(\frac{\sqrt{4\times 3 \times 7}}{2 \times 3}\)
1.8. การแสดงข้อความร่วมกับตัวเลข¶
print('ผลลัพธ์ ', 2**20)
print('สวัสดีคุณ', 'พอล')
print('สวัสดีคุณ'+'พอล')
print('สวัสดีคุณ'+str(2**20))
Note: str()
แปลงค่าให้เป็นข้อความ
1.9. การรวมหลายคำสั่งเป็นฟังก์ชัน¶
(ให้นิยาม) กำหนดชื่อและการทำงานของฟังก์ชัน
def hello():
print('Hello world')
print("Hello world")
print('สวัสดีชาวโลก')
print("สวัสดีชาวโลก")
(เรียกใช้ฟังก์ชัน) คำสั่งเรียกใช้
hello()
ตัวอย่างฟังก์ชัน
def print9():
print(' 9x1 = 9')
print(' 9x2 = 18')
print(' 9x3 = 27')
print(' 9x4 = 36')
print(' 9x5 = '+str(9*5))
print(' 9x6 = ', 9*6)
Exercise 01.6 จงเขียนฟังก์ชันแสดงสูตรคูณแม่ต่างๆ พร้อมเรียกใช้
สูตรคูณแม่ 4
สูตรคูณแม่ 7
สูตรคูณแม่ 12
1.10. การเรียกใช้ฟังก์ชันที่พร้อมใช้งาน¶
ฟังก์ชันที่เรียกใช้ได้เลย รายชื่อ built-in functions ทั้งหมด
1.10.1. 1. กลุ่มฟังก์ชันแปลงชนิดข้อมูล¶
bin(8) # แปลงตัวเลขเป็นเลขฐานสอง bool(1) # แปลงเป็นค่าเท็จจริง True, False chr(3585) # แปลงตัวเลขเป็นตัวอักขระ float('3.55') # แปลงเป็นเลขทศนิยม hex(20) # แปลงเป็นเลขฐาน 16 id(1) # แปลงเป็นหมายเลขรหัส int(3.2) # แปลงเป็นจำนวนเต็ม oct(9) # แปลงเป็นเลขฐาน 8 ord('ก') # แปลงอักขระเป็นจำนวนเต็ม str(619009499) # แปลงเป็นข้อความ
1.10.2. 2. กลุ่มฟังก์ชันให้ช่วยเหลือ¶
dir() # แสดงรายการฟังก์ชันที่สามารถเรียกใช้งานได้ help() # ขอความช่วยเหลือกับคำสั่งต่างๆ type('ข้อความ') # แสดงชนิดของข้อมูล
1.10.3. 3. กลุ่มฟังก์ชันสำหรับการประมวลผลอื่นๆ¶
ฟังก์ชันนำเข้าข้อมูล - input -
input() # ฟังก์ชันนำเข้าข้อความ (ให้ผู้ใช้กรอกจากคีย์บอร์ด)
input('กรุณากรอกข้อมูล ') # ฟังก์ชันนำเข้าข้อความพร้อมข้อความบอกผู้ใช้
ฟังก์ชันช่วยในการประมวลผล - process -
format( 1234, '<15d')
format('1234', '>15s')
format( 1234, '^15d')
min( [5,9,7,6,5,4] )
max( [5,9,7,3,7,1] )
len( [1,9,3,4,4] )
open('test.txt', 'r')
pow(2, 10)
range(10)
round(3.6)
round(3.4)
sorted( [1,9,3,4,4] )
sum( [1,9,3,4,4] )
ฟังก์ชันแสดงข้อความ - output -
print('ข้อความที่ต้องการให้ผู้ใช้เห็น')
1.11. การเก็บข้อความที่ผู้ใช้กรอกเพื่อใช้งาน¶
การนำเข้าข้อความที่ผู้ใช้กรอกเก็บไว้สำหรับอ้างอิงต่อไปโดยใช้ชื่อ x
x = input()
การแสดงค่าที่ x อ้างอิงถึง
print(x)
หลักเกณฑ์ในการตั้งชื่อตัวอ้างอิง (identifier) บางคนเรียก ตัวแปร - variable
เป็นลำดับของตัวอักษรติดกันแต่ละอันสามารถใช้ a-z, A-Z, 0-9, _ โดยไม่จำกัดความยาว
ตัวแรกต้องไม่เป็นตัวเลข
ต้องไม่เป็น keywords (คำสงวน)
ต้องไม่เป็นค่า literals - ชุดของอักขระที่ Python สามารถแปลงเป็นค่าได้ทันที เช่น 'Paul' 342.0 เป็นต้น
คำสงวน (keywords) ในภาษา Python มีอะไรบ้าง?
False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise
Exercise 01.7 ฝึกตั้งชื่อตัวอ้างอิงหรือตัวแปร
ตัวแปรสำหรับเก็บชื่อผู้ใช้
ตัวแปรสำหรับเก็บอายุผู้ใช้
ตัวแปรสำหรับเก็บค่า x
ตัวแปรสำหรับเก็บค่า y
ตัวแปรสำหรับเก็บค่า z
ตัวแปรสำหรับเก็บค่าปีเกิด
ตัวแปรสำหรับเก็บค่าเกรดเฉลี่ย
ตัวแปรสำหรับเก็บค่าความสูงของระดับน้ำในแม่โขง
ตัวแปรสำหรับเก็บค่าระยะทางจากวารินไปยังทุ่งศรีเมือง
1.12. การรับข้อความและแปลงเป็นค่าต่างๆ¶
การรับข้อความแล้วแปลงเป็นตัวเลข
x = input() age = int(x)
การรับข้อความแล้วแปลงเป็นตัวเลขโดยใช้คำสั่งซ้อนคำสั่ง
age = int(input())
การรับข้อความแล้วแปลงเป็นเลขทศนิยม
x = input() gpa = float(x)
การรับข้อความแล้วแปลงเป็นเลขทศนิยมโดยใช้คำสั่งซ้อนคำสั่ง
gpa = float(input())
ตัวอย่าง การเขียนโปรแกรมเพื่อรับชื่อผู้ใช้
name = input('ชื่ออะไรครับ? ') print('สวัสดีครับคุณ'+name)
ตัวอย่าง การเขียนโปรแกรมเพื่อรับชื่อผู้ใช้
name = input('What is your name? ') print('Hello, '+name)
ตัวอย่าง การเขียนโปรแกรมเพื่อรับอายุผู้ใช้
x = input('อายุเท่าไหร่? ') age = int(x) print('คุณอายุ '+str(age)+' ปี')
ตัวอย่าง การเขียนโปรแกรมเพื่อรับค่า x กับ y แล้วบอกผลบวก
x = int(input('x = ')) y = int(input('y = ')) print(' x + y = '+str( x+y ))
Exercise 01.7 จงเขียนโปรแกรมเพื่อให้ทำงานตามโจทย์ต่อไปนี้
จงเขียนโปรแกรมเพื่อรับค่า x กับ y แล้วบอกผลต่าง
จงเขียนโปรแกรมเพื่อรับค่า x กับ y แล้วบอกผลคูณ
จงเขียนโปรแกรมเพื่อรับค่า x กับ y แล้วบอกผลหาร
จงเขียนโปรแกรมเพื่อรับค่า x กับ y แล้วบอกผลลัพธ์เมื่อเอาค่า x ยกกำลัง y \(x^y\)
จงเขียนโปรแกรมเพื่อรับค่าปี พ.ศ.เกิดของผู้ใช้ แล้วบอกอายุ
จงเขียนโปรแกรมเพื่อรับค่าปี พ.ศ.เกิดของผู้ใช้ แล้วบอกปีเกิดของผู้ใช้เป็น ค.ศ.
จงเขียนโปรแกรมเพื่อรับค่าเกรดเฉลี่ยของเทอมต้น และเกรดเฉลี่ยของเทอมปลาย แล้วบอกเกรดเฉลี่ยรวมในปีนั้น