Buổi 3: Câu lệnh rẽ nhánh if
Hôm nay em sẽ học
- So sánh hai giá trị:
==,!=,<,>,<=,>= - Câu lệnh
if – else: "nếu … thì … nếu không thì …" - Nhiều trường hợp với
elif - Kết hợp điều kiện:
and,or,not
Bấm vào slide rồi dùng phím ← → để chuyển, phím F để xem toàn màn hình.
Mở toàn màn hình1. Kiến thức chính
Phép so sánh
| Toán học | Python | Ví dụ | Kết quả |
|---|---|---|---|
| = | == | 5 == 5 | True |
| ≠ | != | 5 != 3 | True |
| <, > | <, > | 2 > 7 | False |
| ≤, ≥ | <=, >= | 4 <= 4 | True |
= là gán, hai dấu == là so sánh. Viết if n % 2 = 0: là lỗi.if – else
n = int(input()) if n % 2 == 0: print("CHAN") else: print("LE")
- Cuối dòng
if,elsephải có dấu hai chấm:. - Các lệnh thụt vào 4 dấu cách thuộc về khối đó – giống phần nằm trong "miệng" khối nếu của Scratch.
- Dòng không thụt lề nằm ngoài
if, luôn được chạy.
Nhiều trường hợp: elif
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 thì làm nhánh đó và bỏ qua các nhánh còn lại. Vì vậy thứ tự các nhánh rất quan trọng.
Kết hợp điều kiện
| Python | Đúng khi | Ví dụ |
|---|---|---|
and | cả hai đều đúng | x >= 1 and x <= 10 |
or | ít nhất một cái đúng | x < 0 or x > 100 |
not | điều kiện sai | not (x == 0) |
Python cho phép viết gọn như toán học: 1 <= x <= 10.
So sánh chữ theo thứ tự bảng chữ cái: "A" <= c <= "Z" kiểm tra c có phải chữ in hoa không.
2. Ghi nhớ và lỗi thường gặp
| Em viết | Vấn đề |
|---|---|
if n > 0 | thiếu dấu : |
dòng trong if không thụt vào | lỗi IndentationError |
| lẫn phím Tab và dấu cách khi thụt lề | lỗi thụt lề – trong Thonny bấm Tab sẽ ra 4 dấu cách |
if 1 < x < 10 khi đề nói "từ 1 đến 10" | phải là <= |
3. Câu hỏi tự kiểm tra
print(7 >= 7, 3 != 3)in ra gì?- Đoạn code sau in ra gì khi nhập
9?
d = int(input()) if d >= 5: print("TB") elif d >= 8: print("GIOI")
- Viết điều kiện "x nằm ngoài đoạn từ 1 đến 10".
4. Bài tập về nhà
Bài 1 ★ – CHIAHET
Input: hai số nguyên a, b trên một dòng (b ≠ 0).
Output: YES nếu a chia hết cho b, ngược lại NO.
| Input | Output |
|---|---|
12 4 | YES |
7 2 | NO |
Bài 2 ★★ – LOAIKYTU
Input: một ký tự c (chữ cái, chữ số hoặc dấu câu).
Output: CHU HOA, CHU THUONG, CHU SO hoặc KHAC.
| Input | Output |
|---|---|
G | CHU HOA |
7 | CHU SO |
? | KHAC |
Bài 3 ★★★ (thử thách) – HOCBONG
Bạn được học bổng nếu điểm trung bình ba môn Toán, Văn, Anh từ 8.0 trở lên và không có môn nào dưới 6.5.
Input: ba số thực (điểm Toán, Văn, Anh) trên một dòng.
Output: YES nếu được học bổng, ngược lại NO.
| Input | Output |
|---|---|
9 8 7.5 | YES |
10 10 6 | NO |
8 8 7 | NO |
NO..py đặt tên theo tên bài. Chạy thử với tất cả ví dụ trước khi nộp!Chưa mở đáp án
Đáp án sẽ được mở sau khi các em nộp bài tập về nhà.
Chưa mở đáp án
Đáp án sẽ được mở sau khi các em nộp bài tập về nhà.