Bài tập câu lệnh rẽ nhánh trong python

Cấu trúc rẽ nhánh là một phần không thể thiếu được trong các ngôn ngữ lập trình, và đương nhiên là với Python cũng không ngoại lệ, bài này chúng ta hay cũng nhau tìm hiểu về cấu trúc rẽ nhánh trong Python.

1. Luồng xử lý

Nếu như trong thực tế, chúng ta thường có các trường hợp để xử lý vấn đề thì trong ngôn ngữ lập trình nó cũng như thế khái niệm này trong lập trình gọi là rẽ nhánh.

Nói một cách dễ hiểu hơn thì "nếu điều kiện này đúng thì thực hiện khối lệnh A, nếu sai thì thực hiện khối lệnh B". Ở đây các điều kiện trả về giá trị khác 0 hoặc bằng True thì coi là đúng và trả về 0, None hoặc False thì coi là sai.

Câu lệnh rẽ nhánh trong Python được thể hiện qua cậu lệnh if-else với các dạng sau:

Câu lệnh if-else

If-else dịch ra tiếng Việt có nghĩa là nếu thì và nó ở trong lập trình cũng thế. Các điều kiện mà mệnh đề if đưa ra trả về là đúng [True] thì nó sẽ thực thi code bên trong mệnh đề if và ngược lại nếu điều kiện đó sai thì nó sẽ thực hiện code trong mệnh đề else.

Cú pháp của câu lệnh if-else:

if condition: 
    #code
else:
    #code

Trong đó, condition là điều kiện của mệnh đề if.

VD: Mình sẽ viết 1 chương trình kiểm tra xem giá trị của biến a bằng 100 thì in ra là đúng và nếu không bằng thì in ra là sai.

a = 100
if [a == 100]:
    print['Dung']
else:
    print['Sai']
# Ket qua: Dung

Nếu như trong trường hợp chúng ta không cần thực thi điều gì khi điều kiện đó không đúng thì chúng ta có thể bỏ mệnh đề else cho gọn code.

VD: Mình sẽ bỏ mệnh đề else ở VD trên đi.

a = 100
if [a == 100]:
    print['Dung']
# Ket qua: Dung

Và đương nhiên là chúng ta cũng có thể lồng các if đó lại với nhau được.

VD: Viết chương trình kiểm tra xem điểm có hợp lệ hay không, nếu hợp lệ thì in ra là với điểm đó thì qua môn hay học lại

a = 7
if [a >= 0 and a <= 10]:
    if [a >= 4]:
        print['Qua mon']
    else:
        print['Hoc lai']
else:
    print['Diem khong hop le']
# Ket qua: Qua mon

Câu lệnh if-elif-else

Trong thực tế thì không phải lúc nào chúng ta cũng có 2 trường hợp nếu thì. Mà có đôi lúc tồn tại vô vàn điều kiện khác nhau và để giải quyết điều này thì trong Python có cung cấp thêm co chúng ta mệnh đề if-elif-else với cú pháp như sau:

if condition:
    # code
elif condition2:
    # code
elif condition3:
    # code
else:
    #code

Trong đó, thì sau các mệnh đề if và elif sẽ tồn tại các điều kiện condition tương ứng, và nếu như các điều kiện đó đúng thì code ở trong mệnh đề đó sẽ được thực hiện.

VD: Mình sẽ giải quyết lại bài toán tính điểm ở trên bằng mệnh đề if-elif-else.

a = 9
if [a >= 4 and a <= 10]:
    print['Qua mon']
elif [a >= 0 and a <4]:
    print['Hoc lai']
else:
    print['Diem khong hop le']
# Ket qua: Qua mon

3. Kết luận

Trong Python không hỗ trợ cú pháp swtich-case mà thay vào đó bạn có thể sử dụng kiểu dữ liệu dictionary để giải quyết.

VD: chuyển đổi chữ thành số.

a = 'hai'
dic = {
    'mot': 1,
    'hai': 2,
    'ba': 3,
}
print[dic.get[a,'khong ro']]
# Ket Qua: 2

Như vậy, thông qua bài học này, chúng ta đã tìm hiểu về câu lệnh rẽ nhánh trong Python. Cảm ơn các bạn đã đọc.

Lập trình Python

1. Rẽ nhánh dạng thiếu

a. Cú pháp:

if  :
   

b. Ý nghĩa: Nếu điều kiện đúng thì được thực hiện và bị bỏ qua khi điều kiện sai

+ Dãy các lệnh thụt vào 1 tab so với if [gọi là dãy các lệnh thuộc if]

+ Nếu dãy các lệnh chỉ gồm một dòng lệnh thì có thể đặt sau dấu :

c. Ví dụ:

[1] if delta0:
	x1 = [-b – math.sqrt[delta]]/[2*a]
	x2 = -b/a – x1
	print[“Phuong trinh co 2 nghiem phan biet”]
	print[“X1 =“,x1,” X2 =“,x2]

Dãy gồm 4 câu lệnh thuộc if, các câu lệnh này thụt vào 1 tab so với câu lệnh if [Câu lệnh ghép]

2. Rẽ nhánh dạng đầy đủ

a. Cú pháp:

if  :
	
elif :
        ]
……
[else:
	]

b. Ý nghĩa: Kiểm tra điều kiện 1, nếu điều kiện 1 đúng thì thực hiện dãy các lệnh 1, ngược lại thì kiểm tra điều kiện 2, nếu điều kiện 2 đúng thì thực hiện dãy các lệnh 2, ngược lại thì kiểm tra điều kiện của elif tiếp theo, nếu các điều kiện tiếp theo vẫn không đúng thì thực hiện dãy các lệnh.

– Ví dụ:

[1] if n == 0: print[“Bằng không”]
    elif n > 0: print[“Đây là số dương”]
    else: print[“Đây là số âm”]
[2] if n%2 == 0: print[“Đây là số chẵn”]
    else: print[“Đây là số lẻ”]

3. Câulệnh if lồngnhau

dụ 1: Viết chương trình giải phương trình bậc nhất một ẩn ax + b = 0

Chương trình:

a, b = map[float,input[“Moi nhap he so a, b: “].split[]]
if a == 0:
     if b == 0: print[“Phuong trinh co vo so nghiem”]
     else: print[“Phuong trinh vo nghiem”]
else: print[“Phuong trinh co nghiem x =“,-b/a]

dụ 2: Viết chương trình giải phương trình bậc hai một ẩn ax2 + bx + c = 0

Hướng dẫn:

delta = b*b – 4*a*c

delta < 0: Phương trình vô nghiêm

delta = 0: Phương trình có nghiệm kép x1 = x2 = -b/[2*a]

delta > 0: Phương trình có 2 nghiệm phân biệt x1 = [-b – math.sqrt[delta]]/[2*a]; x2 = -b/a – x1

Phần bài tập cấu trúc rẽ nhánh:

Câu 1: Viết chương trình nhập vào số nguyên dương n, sau đó xuất ra màn hình đó là số chẵn hay số lẻ?

Câu 2: Viết chương trình kiểm tra bộ ba số a, b, c nhập vào từ bàn phím có phải là bộ ba cạnh của một tam giác hay không?

Câu 3: Viết chương trình kiểm tra xem điểm M[x,y] nằm trong, trên hay ngoài đường tròn tâm I[a,b] và bán kính R nhập vào từ bàn phím?

Câu 4: Viết chương trình kiểm tra bộ ba số a, b, c nhập vào từ bàn phím có phải là bộ ba cạnh của một tam giác hay không?

Câu 5: Viết chương trình giải phương trình bậc nhất một ẩn: ax + b = 0, với a, b nhập vào từ bàn phím

Câu 6: Viết chương trình giải phương trình dạng: ax2 + bx + c = 0, với a, b, c nhập vào từ bàn phím?

Câu 7: Viết chương trình nhập vào năm bất kỳ [ví dụ 2021], hãy cho biết năm đó có phải năm nhuận hay không?

Câu 8: Viết chương trình nhập vào 3 số thực dương bất kỳ, xuất ra màn hình đó là tam giác thường, tam giác cân, tam giác vuông, tam giác vuông cân, tam giác đều hay không phải là ba cạnh của một tam giác?

Xem tiếp Bài 4 – Cấu trúc lặp trong ngôn ngữ lập trình Python

Chủ Đề