# Loops

## Vòng lặp For

Vòng lặp for ở trong Python có tác dụng lặp các biến dữ liệu có kiểu dữ liệu list, tuple hoặc string,...&#x20;

#### Cú pháp:

```python
for variable in data:
	# code
```

Câu lệnh for trong Python khác một chút so với các ngôn ngữ khác quen dùng như C, PHP, ... Thay vì lặp theo các bước, cung cấp cho dev xác định các bước lặp và điều kiện tạm dừng như C, PHP, ... . Câu lệnh for của Python lặp qua các phần tử của 1 danh sách truyền vào \~ tương tự với foreach - lặp tất cả các phần tử.

#### Ví dụ:

```python
words = ['I', 'Love', 'You'];
for w in words:
    print(w)

# I
# Love
# You
```

#### Ví dụ khác:

```python
for c in 'Hello':
   print(c)
#H
#e
#l
#l
#o
```

> Hàm `range()`: giúp chúng ta có thể tạo ra một list một cách nhanh chóng.&#x20;

#### Cú pháp:

```python
range(elementNumbers)
```

Với cú pháp này tạo ra 1 list bắt đầu từ 0 liên tục và kết thúc khi có đủ elementNumbers:

```python
range(5)
```

```python
range(start, stop [, step])
```

Hàm `range()` có 3 tham số:

* `start` Số nguyên bắt đầu, chuỗi sẽ bắt đầu với tham số này. Giá trị mặc định là 0.
* `stop` Số nguyên kết thúc, chuỗi sẽ kết thúc với tham số này.
* `step` Số nguyên xác định khoảng cách giữa các số bên trong chuỗi. Giá trị mặc định là 1.

Kết hợp range với for cho phép tạo vòng lặp dễ dàng hơn

#### Ví dụ:

```python
for number in range(5):
    print(number)
 
#0
#1
#2
#3
#4
```

## Vòng lặp While

Vòng lặp while trong python tương tự trong các ngôn ngữ khác, lặp khi thỏa mãn điều kiện cho trước.

#### Cú pháp:

```python
while <condition>:
	# code
```

> `break` và `continue`: Giống với PHP, break cho phép thoát khỏi vòng lặp, còn continue cho phép bỏ qua lượt chạy hiện tại của vòng lặp và chạy tiếp.

```python
i = 0
while (i <= 10):
	print(i)
	if i == 5:
		break
	i += 1

for i in ‘i am a robot’:
	if i == ‘ ’:
		continue
	print(i, end=’’)
```

> `else` trong vòng lặp: khác với các ngôn ngữ khác, trong Python có else trong for. Khi được sử dụng với vòng lặp, mệnh đề else xảy ra khi trong vòng lặp không có câu lệnh break nào được chạy - khi chạy hết các vòng lặp, và ngược lại nếu có lệnh break trong vòng lặp thì sẽ không chạy vào else.

```python
for x in range(5):
    print(x)
else:
    print('else')

#1
#2
#3
#4
#else
```

```python
for x in range(5):
    print(x)
    if x % 2 == 0:
        break
else:
    print('else')

#0
```

## &#x20;**Exception**

Ngoại lệ (Exception) là lỗi xảy ra trong quá trình thực thi một chương trình, khi thực hiện 1 đoạn code nào đó mà có thể xảy ra lỗi trong quá trình chạy mà ta chưa thể xác định được trước, nó có thể làm cho chương trình bị chết, chết trang, ... hoặc khi lưu vào db có thể 1 lỗi nào đó xảy ra khiến dữ liệu lưu vào bị gián đoạn tạo ra các dữ liệu lỗi. Trong TH này chúng ta sử dụng try-catch để bắt các lỗi hiển th&#x1ECB;**.**

#### **Cú pháp:**

```python
try:
// code
except:
// ngoai le
finally:
// run every time
```

Đoạn code trong khối lệnh try sẽ được chạy, nếu có lỗi xảy ra thì chạy vào except, và code trong khối finally sẽ luôn chạy bất kể có lỗi hay không.

## Follower me

* **Facebook**: [https://www.facebook.com/lamsaodecode](https://www.facebook.com/100013678592616)
* **Blog:** <https://lamsaodecode.blogspot.com>
* **Github:** <https://lamsaodecode.github.io/introduction>
