Để thực hiện 1 hay 1 nhóm các lệnh nào đó phụ thuộc vào kết quả của điều kiện, Python dùng cấu trúc lệnh if-else:
a = 15 b = 10 if (a > b): # cấu trúc: if theo sau bởi "(so sánh)" theo sau bởi dấu ":" print("Row, row your boat, gently down the stream...")
Đoạn code trên đơn giản có nghĩa là:
- Gán cho a giá trị 15
- Gán cho b giá trị 10
- Nếu giá trị của a lớn hơn giá trị của b thì in ra dòng chữ “Row, row your boat,…”. Đây là khối câu lệnh cần thực hiện.
Khối câu lệnh được thực hiện khi kết quả của if trả về là đúng, hay còn gọi là True. Khi kết quả của if là sai (hay False) thì khối câu lệnh của if sẽ không được chạy. Chúng ta cũng có thể thêm khối “else” để thực hiện một số lệnh khác chỉ khi kết quả if là False:
a = 100 b = 150 if (a > b): print("a > b is true") print("Row, row your boat, gently down the stream...") else: print("a > b is false") print("Old Mac Donald had a farm...")
Bạn có thể thử nghiệm với đoạn code ở trên ở Python Shell dưới đây. (Hãy thử với các giá trị khác mà bạn muốn để hiểu rõ thêm).
Vào lề (Indentation)
Python sử dụng việc vào lề để phân biết quan hệ của các khối câu lệnh. Ở Python Shell vào lề tương đương với dùng phím <tab> trên bàn phím hoặc 4 lần phím <space>. Việc vào lề đôi lúc được thể hiện bởi 4 dấu chấm “….”
a = b = 10 if (a > b): # nhớ đừng quên dấu ":" print("Dòng này đã vào lề 1 tab, hay 4 khoảng trống để thể hiện nó thuộc về block của if") print("Dòng này cũng vậy") else: # Dòng này thì không print("Dòng này vào lề để thể hiện nó thuộc khối của else")
Chúng ta sẽ học thêm nhiều hơn nữa về if-else ở các bài sau.
Dạng dữ liệu cơ bản: string, boolean, float, integer
Python hỗ trợ nhiều loại dữ liệu. Trong bài này chúng ta sẽ học 4 loại:
- string: dạng chuỗi ký tự, ví dụ “Hello, Vietnam”. Giá trị luôn được đặt trong dấu ngoặc kép (“) hoặc ngoặc đơn (‘)
- boolean: đem lại kết quả của 1 so sánh, chỉ có thể là True (đúng) hoặc False (sai)
- float: kiểu số thực, ví dụ: 0.7, 1.5, 4.5. Chú ý trong python dấu cho hàng thập phân là dấu chấm “.” (không như tiếng Việt là dấu “,”)
- integer: kiểu số nguyên, ví dụ: 1, 2, 3, 5, 8, 13,…
integer_x = 12 float_y = 12.5 string_a = "I am a string" string_b = "String I am" boolean_k = True print(integer_x) print(float_y) print(string_a) print(string_b) print(boolean_k) print(integer_x == float_y) # khi so sánh "bằng", dùng "==" thay vì "="
Bạn cũng có thể kết nối 2 biến string với nhau sử dụng “+”.
a = "Row, row" b = "your boat" print(a + " " + b) # sẽ in ra "Row, row your boat"
Nhưng bạn không thể áp dụng phương pháp này nếu pha trộn string với dạng data khác.
# đoạn code dưới đây không hợp lệ a = 1 b = "Hello" print(a + b)