Câu lệnh rẽ nhánh if

Buổi 3

Python cho Tin học trẻ · Bảng B (THCS)

Buổi 3 – Câu lệnh rẽ nhánh if1 / 25

Hôm nay em sẽ học

  1. So sánh hai giá trị: ==, !=, <, >, <=, >=
  2. Câu lệnh if – else: "nếu … thì … nếu không thì …"
  3. Nhiều trường hợp với elif
  4. Kết hợp điều kiện: and, or, not
Buổi 3 – Câu lệnh rẽ nhánh if2 / 25

Khởi động: câu đố

Làm sao biết một số là chẵn hay lẻ?

  • 14 chia 2 dư mấy?
  • 7 chia 2 dư mấy?
  • Phép toán nào trong Python cho biết "dư bao nhiêu"?
Chẵn khi chia 2 dư 0: n % 2 == 0
Buổi 3 – Câu lệnh rẽ nhánh if3 / 25

Phần 1: So sánh

Đúng hay sai?
Buổi 3 – Câu lệnh rẽ nhánh if4 / 25

Các phép so sánh

Toán họcPythonVí dụKết quả
===5 == 5True
≠!=5 != 3True
<<2 < 1False
>>7 > 3True
≤<=4 <= 4True
≥>=3 >= 9False
Kết quả của phép so sánh là True (đúng) hoặc False (sai).
Buổi 3 – Câu lệnh rẽ nhánh if5 / 25

Một dấu bằng hay hai dấu bằng?

Gán

x = 5

Cất số 5 vào biến x

So sánh

x == 5

Hỏi: x có bằng 5 không?

Viết if n % 2 = 0: là lỗi. Phải viết ==.
Buổi 3 – Câu lệnh rẽ nhánh if6 / 25

Phần 2: if – else

Nếu … thì … nếu không thì …
Buổi 3 – Câu lệnh rẽ nhánh if7 / 25

Từ Scratch sang Python

ScratchPython
nếu < điều kiện > thìif điều_kiện:
nếu không thìelse:
các khối nằm trong "miệng"các dòng thụt vào 4 dấu cách
n = int(input())
if n % 2 == 0:
    print("CHAN")
else:
    print("LE")
Buổi 3 – Câu lệnh rẽ nhánh if8 / 25

Thụt lề là "miệng" của khối lệnh

n = int(input())
if n > 0:
    print("So duong")
    print("Lon hon 0")
print("Ket thuc")
5
So duong
Lon hon 0
Ket thuc
-2
Ket thuc
  • Hai dòng thụt vào thuộc lệnh if
  • Dòng print("Ket thuc") không thụt → luôn chạy
Đừng quên dấu hai chấm : ở cuối dòng if, else.
Buổi 3 – Câu lệnh rẽ nhánh if9 / 25

Thử ngay!

Nhập tuổi của em. Nếu tuổi từ 13 trở lên in THCS, ngược lại in TIEU HOC.

InputOutput
13THCS
10TIEU HOC
Buổi 3 – Câu lệnh rẽ nhánh if10 / 25

Phần 3: Nhiều trường hợp

elif = "nếu không thì nếu"
Buổi 3 – Câu lệnh rẽ nhánh if11 / 25

Xếp loại học lực

diem = float(input())
if diem >= 8:
    print("GIOI")
elif diem >= 6.5:
    print("KHA")
elif diem >= 5:
    print("TB")
else:
    print("YEU")
  • Python kiểm tra từ trên xuống
  • Gặp điều kiện đúng đầu tiên → làm nhánh đó, bỏ qua các nhánh còn lại
  • Không điều kiện nào đúng → làm nhánh else
Buổi 3 – Câu lệnh rẽ nhánh if12 / 25

Câu hỏi: đổi thứ tự thì sao?

diem = float(input())
if diem >= 5:
    print("TB")
elif diem >= 8:
    print("GIOI")

Nhập 9 thì chương trình in ra gì? Vì sao?

Thứ tự các nhánh rất quan trọng! Điều kiện chặt nhất nên đặt trước.
Buổi 3 – Câu lệnh rẽ nhánh if13 / 25

Phần 4: Kết hợp điều kiện

và – hoặc – không
Buổi 3 – Câu lệnh rẽ nhánh if14 / 25

and, or, not

ScratchPythonĐúng khi
< > và < >andcả hai đều đúng
< > hoặc < >orít nhất một cái đúng
không < >notđiều kiện sai
if x >= 1 and x <= 10:
    print("Trong doan 1..10")
if 1 <= x <= 10:
    print("Viet gon nhu toan hoc")
if x < 0 or x > 100:
    print("Ngoai pham vi")
Buổi 3 – Câu lệnh rẽ nhánh if15 / 25

Luyện tập

Bài ★ cả lớp · Bài ★★★ thử thách
Buổi 3 – Câu lệnh rẽ nhánh if16 / 25

Bài 1 ★ – CHANLE

Input: số nguyên n (|n| ≤ 10¹⁸).

Output: CHAN nếu n chẵn, LE nếu n lẻ.

InputOutput
14CHAN
-7LE
Buổi 3 – Câu lệnh rẽ nhánh if17 / 25

Bài 2 ★ – LONHON

Input: hai số nguyên a, b trên một dòng.

Output: số lớn hơn (nếu bằng nhau thì in số đó).

InputOutput
3 88
-5 -9-5
Không dùng hàm max – hãy dùng if.
Buổi 3 – Câu lệnh rẽ nhánh if18 / 25

Bài 3 ★ – DAU

Input: số nguyên n.

Output: DUONG, AM hoặc KHONG.

InputOutput
12DUONG
0KHONG
-3AM
Buổi 3 – Câu lệnh rẽ nhánh if19 / 25

Bài 4 ★★ – XEPLOAI

Input: điểm trung bình (số thực từ 0 đến 10).

Output: GIOI (≥ 8), KHA (≥ 6.5), TB (≥ 5), còn lại YEU.

InputOutput
8.0GIOI
6.4TB
Thử cả các điểm "ở biên": 8, 6.5, 5.
Buổi 3 – Câu lệnh rẽ nhánh if20 / 25

Bài 5 ★★ – MAX3

Input: ba số nguyên a, b, c trên một dòng.

Output: số lớn nhất.

InputOutput
4 9 29
-1 -1 -5-1
Gợi ý: giả sử m = a là lớn nhất, rồi so m với b, với c.
Buổi 3 – Câu lệnh rẽ nhánh if21 / 25

Bài 6 ★★★ – TIENDIEN

Giá điện tính bậc thang:

Mức dùngGiá mỗi kWh
50 kWh đầu tiên1800 đồng
kWh thứ 51 đến 1002000 đồng
từ kWh thứ 1012500 đồng

Input: số kWh k (0 ≤ k ≤ 10⁶). Output: số tiền.

InputOutput
120240000
3054000
Buổi 3 – Câu lệnh rẽ nhánh if22 / 25

Lỗi thường gặp

Em viếtVấn đề
if n % 2 = 0:phải là ==
if n > 0thiếu dấu :
dòng trong if không thụt vàoIndentationError
if 1 < x < 10 khi đề nói "từ 1 đến 10"phải là <=
Trong Thonny / VS Code: bấm Tab để thụt vào 4 dấu cách.
Buổi 3 – Câu lệnh rẽ nhánh if23 / 25

Tóm tắt buổi 3

if dieu_kien_1:
    ...
elif dieu_kien_2:
    ...
else:
    ...
  • So sánh: == != < > <= >=
  • Kết hợp: and, or, not
  • Dấu : và thụt lề 4 dấu cách
  • Thứ tự các nhánh quan trọng
Buổi 3 – Câu lệnh rẽ nhánh if24 / 25

Bài về nhà

  1. Nhập một ký tự. In CHU HOA, CHU THUONG, CHU SO hoặc KHAC.
  2. Nhập hai số a, b (b ≠ 0). In YES nếu a chia hết cho b, ngược lại NO.
Gợi ý bài 1: có thể so sánh chữ: "A" <= c <= "Z".
Buổi 3 – Câu lệnh rẽ nhánh if25 / 25
← → chuyển slide · F toàn màn hình