Page 27 - Python Simple
P. 27

4. Bàn thêm về luồng điều khiển                                  http://www.vithon.org/tutorial/2.5/node6.html




                                                  Bài chỉ dẫn Python



             4. Bàn thêm về luồng điều khiển

             Ngoài câu lệnh while vừa giới thiệu, Python có các câu lệnh điều khiển luồng từ các ngôn ngữ khác, với
             chút sửa đổi.

             4.1 if câu lệnh

             Có lẽ loại câu lệnh biết đến nhiều nhất là câu lệnh if . Ví dụ:

                >>> x = int(raw_input("Please enter an integer: "))
                >>> if x < 0:
                ...      x = 0
                ...      print 'Negative changed to zero'
                ... elif x == 0:
                ...      print 'Zero'
                ... elif x == 1:
                ...      print 'Single'
                ... else:
                ...      print 'More'
                ...

             Có thể không có hoặc có nhiều phần elif , và phần else là không bắt buộc. Từ khóa `elif' là viết tắt
             của `else if', và dùng để tránh thụt vào quá nhiều. Dãy if ... elif ... elif ... dùng thay cho câu lệnh
             switch hay case tìm thấy trong các ngôn ngữ khác.

             4.2 for câu lệnh

             for trong Python khác một chút với C hoặc Pascal. Thay vì lặp qua một dãy số (như trong Pascal), hoặc
             cho phép người dùng tự định nghĩa bước lặp và điều kiện dừng (như C), câu lệnh for của Python lặp
             qua các phần tử của một dãy bất kỳ (một danh sách, hoặc một chuỗi), theo thứ tự mà chúng xuất hiện
             trong dãy. Ví dụ:
                >>> # Measure some strings:
                ... a = ['cat', 'window', 'defenestrate']
                >>> for x in a:
                ...     print x, len(x)
                ...
                cat 3
                window 6
                defenestrate 12

             Rất nguy hiểm nếu bạn sửa đổi dãy trong khi bạn đang lặp qua nó. Nếu bạn cần sửa đổi một danh sách
             khi đang lặp (ví dụ như để nhân đôi các phần tử nào đó) bạn sẽ cần phải lặp qua một bản sao của nó.
             Cách viết cắt miếng làm cho việc này đơn giản:
                >>> for x in a[:]: # make a slice copy of the entire list
                ...    if len(x) > 6: a.insert(0, x)
                ...
                >>> a
                ['defenestrate', 'cat', 'window', 'defenestrate']

             4.3 range() hàm


             Nếu bạn cần lặp qua một dãy số, hàm có sẵn range() trở nên tiện dụng. Nó tạo ra danh sách chứa các
             dãy số học:
                >>> range(10)
                [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]



     1 of 7                                                                                   08/31/2011 07:39 AM
   22   23   24   25   26   27   28   29   30   31   32