Chào các bạn! Các bạn đang xem loạt bài thuộc khóa học lập trình Python miễn phí do ksec.info tổ chức. Rất vui được gặp lại các bạn ở bài 7.Hôm nay chúng ta sẽ cùng nhau đi học về cấu trúc rẽ nhánh. Có lẽ cấu trúc rẽ nhánh là cấu trúc được sử dụng nhiều nhất khi chúng ta lập trình. Ở Python, lệnh được biết đến nhiều nhất là câu lệnh if . Trước khi đi vào với if, chúng ta sẽ học trước về khối lệnh trong Python.
1, Khối lệnh
Ở các ngôn ngữ lập trình khác, các bạn có lẽ sử dụng đến rất nhiều khối lệnh. Khối lệnh là một tập hợp các câu lệnh, một nhóm các lệnh mà vị thế của nó trong chương trình tương đương với một lệnh khác không nằm trong khối lệnh đó. Ở pascal, nó là begin...end; Ở C nó là {....} v.v.. Nhưng điều đặc biệt là ở Python không có kí hiệu bắt đầu và kết thúc khối lệnh như ở các ngôn ngữ khác. Vậy Python sử dụng gì để xác định khối lệnh? Các bạn chú ý là ở Python thì khối lệnh được xác định bằng độ thụt vào của các lệnh tính từ đầu dòng. Các lệnh liên tiếp có độ thụt vào bằng nhau sẽ được coi như 1 khối lệnh. Khi thụt vào chúng ta có thể dùng khoảng trắng (space) hoặc tab. Một tab được tính bằng 4 dấu cách nhé.
Để hiểu rõ hơn, chúng ta đi vào ví dụ minh họa nhé:
Code:
#coding: utf-8 print "Đây là khối lệnh thứ nhất" print "Nó nằm trực tiếp từ đầu dòng" print "Đây là khối lệnh thứ hai" print "Nó được lùi vào 1 tab so với khối lệnh thứ nhất" print "Nó có thể coi là khối lệnh con của khối lệnh thứ nhất" print "Đây là khối lệnh thứ ba", print "Nó được lùi vào 1 khoảng trắng so với khối lệnh thứ hai" print "Nó có thể coi là khối lệnh con của khối lệnh thứ hai"
Cú pháp của câu lệnh if .... else:
Code:
if <điều kiện>: <khối lệnh được thụt vào so với if> hoặc if <điều kiện>: <khối lệnh 1 được thụt vào so với if> else: <khối lệnh 2 được thụt vào so với else>
- Kiểm tra điều kiện, nếu điều kiện trả về giá trị đúng thì thực hiện khối lệnh con ngay sau if, nếu điều kiện sai kiểm tra tiếp có else hay không, nếu có else sẽ thực hiện tiếp khối lệnh con sau else, còn không có else sẽ chuyển tiếp sang lệnh tiếp theo.
Code:
if <điều kiện 1>: <Khối lệnh 1> elif <điều kiện 2>: <Khối lệnh 2> . . elif <điều kiện n>: <Khối lệnh n> else: <khối lệnh mặc định>
Các bạn hãy xem ví dụ dưới để hiểu rõ hơn về cấu trúc rẽ nhánh nhé:
Code:
thang = int(raw_input('Nhap vao thang nay (0 < thang < 13): ')) nam = int(raw_input('Nhap vao nam nay (0 < nam): ')) if thang in [1,3,5,7,8,10,12]: print "Thang %s nam %s co 31 ngay." % (thang,nam) elif thang in [4,6,9,11]: print "Thang %s nam %s co 30 ngay." % (thang,nam) else: if (nam%4 == 0 and nam%100 <> 0) or (nam%400 == 0): print "Thang hai nam %s co 29 ngay." % nam else: print "Thang hai nam %s co 28 ngay." % nam
Hôm nay chúng ta sẽ kết thúc bài 7 ở đây. Sau đây là bài tập về nhà cho các bạn:- Viết chương trình nhập vào 3 cạnh của tam giác, sau đó đưa ra xem đó là tam giác thường, vuông, cân, đều, vuông cân hay đó không phải là 3 cạnh của tam giác.
- Giải và biện luận hệ phương trình tuyến tính bậc nhất hai ẩn
ax + by = c
dx + ey = f
với các hệ số thực a, b, c, d, e, f được nhập vào từ bàn phím. - Xác định thứ của một ngày nào đó trong năm. Trong đó giá trị ngày, tháng, năm nhập vào từ bàn phím. In kết quả ra màn hình theo dạng: Ngày 19/5/2010 là ngày thứ sáu.
http://ksec.info/threads/bai-7-cau-truc-re-nhanh-trong-python.50/
0 comments:
Post a Comment