หน่วยที่ 6 นิพจน์ (Expression)
หน่วยที่ 6 นิพจน์ (Expression)
นิพจน์ (Expression) ในภาษา Python คือการรวมกันของค่าต่างๆ, ตัวแปร, ตัวดำเนินการ, และฟังก์ชัน ที่เมื่อประมวลผลแล้วจะให้ค่าออกมา นิพจน์สามารถเป็นสิ่งที่ง่ายหรือซับซ้อนก็ได้ และสามารถใช้ในหลากหลายบริบทในโค้ด เช่น การกำหนดค่าให้ตัวแปร, การประมวลผลข้อมูล, การทำงานร่วมกับโครงสร้างควบคุมต่างๆ เป็นต้น
1. (),[]
2. !
3. *,/,%
4. +,-
5. <<,>>
6. <, <= , >, >=
7. ==, !=
8. &
9. ^
10. |
นิพจน์ตัวเลขเป็นการคำนวณระหว่างตัวเลขโดยใช้ตัวดำเนินการทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร เป็นต้น
# การบวก
result = 3 + 5
print(result) # ผลลัพธ์เป็น 8
# การลบ
result = 10 - 4
print(result) # ผลลัพธ์เป็น 6
# การคูณ
result = 7 * 6
print(result) # ผลลัพธ์เป็น 42
# การหาร
result = 20 / 4
print(result) # ผลลัพธ์เป็น 5.0
# การหารเอาเศษ
result = 20 % 3
print(result) # ผลลัพธ์เป็น 2
# การยกกำลัง
result = 2 ** 3
print(result) # ผลลัพธ์เป็น 8
ตัวแปรในนิพจน์ใช้เพื่อเก็บค่าและสามารถเปลี่ยนแปลงได้ตามต้องการ
x = 10
y = 20
result = x + y
print(result) # ผลลัพธ์เป็น 30
นิพจน์ตรรกะใช้ในการดำเนินการเปรียบเทียบและดำเนินการตรรกะ เช่น AND, OR, NOT
a = True
b = False
print(a and b) # ผลลัพธ์เป็น False
print(a or b) # ผลลัพธ์เป็น True
print(not a) # ผลลัพธ์เป็น False
นิพจน์เชิงเปรียบเทียบใช้ในการเปรียบเทียบค่าต่าง ๆ
x = 15
y = 10
print(x > y) # ผลลัพธ์เป็น True
print(x == y) # ผลลัพธ์เป็น False
print(x != y) # ผลลัพธ์เป็น True
print(x >= y) # ผลลัพธ์เป็น True
print(x <= y) # ผลลัพธ์เป็น False
นิพจน์สามารถประกอบด้วยการเรียกใช้ฟังก์ชันเพื่อคำนวณและส่งค่ากลับมา
def add(a, b):
return a + b
result = add(3, 5)
print(result) # ผลลัพธ์เป็น 8
นิพจน์สามารถซ้อนกันได้เพื่อทำการคำนวณที่ซับซ้อนมากขึ้น
result = (3 + 5) * 2
print(result) # ผลลัพธ์เป็น 16
result = (10 - 2) / (4 + 4)
print(result) # ผลลัพธ์เป็น 1.0
การดำเนินการกับสตริง เช่น การเชื่อมต่อ การทำซ้ำ
name = "Alice"
greeting = "Hello, " + name
print(greeting) # ผลลัพธ์เป็น "Hello, Alice"
repeated_string = "ha" * 3
print(repeated_string) # ผลลัพธ์เป็น "hahaha"
นิพจน์เชิงเงื่อนไขใช้ในการเลือกค่าตามเงื่อนไขที่กำหนด
x = 10
y = 20
max_value = x if x > y else y
print(max_value) # ผลลัพธ์เป็น 20
ใช้สำหรับสร้างลิสต์ใหม่โดยการประมวลผลจากลิสต์ที่มีอยู่แล้ว
squares = [x**2 for x in range(10)]
print(squares) # ผลลัพธ์เป็น [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
การใช้ตัวดำเนินการเพื่อกำหนดค่าให้กับตัวแปร
x = 10
y = 5
x += y # เท่ากับ x = x + y
print(x) # ผลลัพธ์เป็น 15
x *= 2 # เท่ากับ x = x * 2
print(x) # ผลลัพธ์เป็น 30
นิพจน์ใน Python เป็นพื้นฐานที่สำคัญในการเขียนโปรแกรมและทำให้เราสามารถสร้างโค้ดที่มีความยืดหยุ่นและมีประสิทธิภาพในการประมวลผลต่างๆ ได้อย่างมีประสิทธิภาพ
โปรแกรมนี้จะคำนวณค่า BMI (Body Mass Index) จากน้ำหนักและส่วนสูงที่ผู้ใช้ป้อนเข้าไป และแสดงผลลัพธ์พร้อมกับหมวดหมู่ของค่า BMI
def calculate_bmi(weight, height):
"""คำนวณค่า BMI"""
bmi = weight / (height ** 2)
return bmi
def bmi_category(bmi):
"""กำหนดหมวดหมู่ของค่า BMI"""
if bmi < 18.5:
return "น้ำหนักต่ำกว่าเกณฑ์"
elif 18.5 <= bmi < 24.9:
return "น้ำหนักปกติ"
elif 25 <= bmi < 29.9:
return "น้ำหนักเกิน"
else:
return "โรคอ้วน"
# รับค่าน้ำหนักและส่วนสูงจากผู้ใช้
weight = float(input("กรุณาป้อนน้ำหนักของคุณ (กิโลกรัม): "))
height = float(input("กรุณาป้อนส่วนสูงของคุณ (เมตร): "))
# คำนวณค่า BMI
bmi = calculate_bmi(weight, height)
# กำหนดหมวดหมู่ของค่า BMI
category = bmi_category(bmi)
# แสดงผลลัพธ์
print(f"ค่า BMI ของคุณคือ: {bmi:.2f}")
print(f"หมวดหมู่ค่า BMI ของคุณคือ: {category}")
ฟังก์ชัน calculate_bmi:
รับน้ำหนัก (weight) และส่วนสูง (height) เป็นพารามิเตอร์
คำนวณค่า BMI โดยใช้สูตร: น้ำหนัก (กิโลกรัม) / (ส่วนสูง (เมตร))^2
ส่งค่าผลลัพธ์ BMI กลับ
ฟังก์ชัน bmi_category:
รับค่า BMI เป็นพารามิเตอร์
ใช้เงื่อนไข (Conditional Expression) ในการกำหนดหมวดหมู่ของค่า BMI และส่งค่าผลลัพธ์เป็นข้อความ
การรับค่าจากผู้ใช้:
ใช้ input เพื่อรับค่าน้ำหนักและส่วนสูงจากผู้ใช้ และแปลงค่าเป็นชนิด float
การคำนวณค่า BMI และหมวดหมู่:
เรียกใช้ฟังก์ชัน calculate_bmi เพื่อคำนวณค่า BMI
เรียกใช้ฟังก์ชัน bmi_category เพื่อกำหนดหมวดหมู่ของค่า BMI
การแสดงผลลัพธ์:
แสดงค่า BMI โดยใช้การฟอร์แมตสตริงเพื่อให้แสดงทศนิยม 2 ตำแหน่ง
แสดงหมวดหมู่ของค่า BMI
ตัวอย่างการทำงานของโปรแกรม
คำถาม: เขียนโปรแกรมเพื่อคำนวณและแสดงผลลัพธ์ของพื้นที่และเส้นรอบวงของวงกลม โดยใช้รัศมีที่ผู้ใช้ป้อนเข้าไป
พื้นที่ = pi * r ^ 2
เส้นรอบวง = 2 * pi * r
ป้อนค่ารัศมีของวงกลม (ในหน่วยเช่น เมตร): 5
พื้นที่ของวงกลมที่มีรัศมี 5.0 หน่วย = 78.53981633974483 ตารางหน่วย
เส้นรอบวงของวงกลมที่มีรัศมี 5.0 หน่วย = 31.41592653589793 หน่วย
คำถาม: เขียนโปรแกรมเพื่อรับตัวเลขจากผู้ใช้ และตรวจสอบว่าตัวเลขนั้นเป็นเลขคู่หรือเลขคี่
คำถาม: เขียนโปรแกรมเพื่อรับค่าตัวเลขจากผู้ใช้ แล้วคำนวณเลขแฟกทอเรียลของตัวเลขนั้น
การหาค่าแฟกทอเรียล (Factorial) ของจำนวนเต็มบวก n คือการคูณตัวเลขทุกตัวตั้งแต่ 1 ถึง n โดยที่ n!=n×(n−1)×(n−2)×…×1 โดยที่ 0! ถือเป็น 1
เราสร้างฟังก์ชัน factorial(n) ที่รับพารามิเตอร์ n ซึ่งคือจำนวนเต็มบวกที่ต้องการหาค่าแฟกทอเรียล
ถ้า n เป็น 0 ฟังก์ชันจะส่งค่ากลับเป็น 1 เนื่องจาก 0!=1
หาก n มากกว่า 0 ฟังก์ชันจะใช้ลูป for เพื่อคูณตัวเลขตั้งแต่ 1 ถึง n เข้าด้วยกันและส่งค่าคำตอบกลับ
ตัวอย่างการใช้งานที่แสดงผลค่าแฟกทอเรียลของเลข 5 ในที่นี้จะได้ผลลัพธ์เป็น 120 (คือ 5!=5×4×3×2×1=120)
คำถาม: เขียนโปรแกรมเพื่อรับค่าอุณหภูมิในหน่วยเซลเซียสจากผู้ใช้ แล้วแปลงเป็นหน่วยฟาเรนไฮต์
เราใช้สูตรการแปลงอุณหภูมิจากเซลเซียสเป็นฟาเรนไฮต์ F=C x (9/5)+32
กรุณาป้อนค่าอุณหภูมิในหน่วยเซลเซียส: 30 ค่าอุณหภูมิ 30.0 องศาเซลเซียส เท่ากับ 86.0 องศาฟาเรนไฮต์
คำถาม: เขียนโปรแกรมเพื่อคำนวณค่า (a + b) ^ c และ a ^ (b + c) โดยที่ a, b และ c เป็นค่าที่ผู้ใช้ป้อนเข้าไป