[toc]
### **Hàm print() trong Python**
- **Ý nghĩa** Hàm **`print()`** trong Python có tác dụng hiển thị dữ diệu ra màn hình khi chương trình thực thi.
- **Cú pháp**:
```python=
print(*objects, sep=' ')
```
- **Tham số** của hàm **`print()`**:
- **objects**: Đối tượng được in, có thể có nhiều đối tượng, các đối tượng cách nhau 1 dấu phẩy.
- **sep**: cách tách riêng các đối tượng, giá trị mặc định là một khoảng trắng ` `.
- **Các ví dụ**:
**Hàm `print()` với một đối tượng**
```python=
print()
print(123)
print('Tan Khoa')
```
***Kết quả các lệnh như sau:***
```
Dòng lệnh 1: Không in nội dung gì, chỉ in xuống dòng
123 Dòng lệnh 2: In ra số 123 và xuống dòng
Tan Khoa Dòng lệnh 3: In ra văn bản Tan Khoa và xuống dòng
```
***Chú ý:*** Muốn in văn bản (text - chuỗi) thì phải đặt trong cặp dấu nháy đơn hoặc đôi `'...'` hoặc `"..."`.
**Hàm `print()` với một nhiều tượng**
```python=
print('12 + 34')
print(12 + 34)
print('12 + 34 =', 12 + 34)
```
***Kết quả các lệnh như sau:***
```
12 + 34 Dòng lệnh 2: In ra văn bản 12 + 34 vì '12 + 34' đặt trong cặp dấu '...'
46 Dòng lệnh 1: In ra kết quả của biểu thức 12 + 34 nên ra KQ là 46
12 + 34 = 46 Dòng lệnh 3: In ra hai đối tượng của dòng lệnh 1 & 2
```
***Chú ý:*** Để in nhiều đối tượng trong một hàm **`print()`** thì các đối tượng cách nhau 1 dấu phẩy. Như dòng lệnh 3 có hai đối tượng nên giữa hai đối tượng cách nhau 1 dấu phẩy **`print('12 + 34 =', 12 + 34)`**
**Hàm `print()` với tham số sep (separator)**
```python=
print(12, 34)
print(12, 34, sep = '; ')
print('12 + 34', 12 + 34, sep = '=')
print('12 + 34', 12 + 34, sep = ' = ')
```
***Kết quả các lệnh như sau:***
```
12 34 Không có tham số sep nên mặt định là dấu cách
12; 34 Có tham số sep='; ' nên giữa các kết quả sẽ thêm dấu '; '
12 + 34=46 Có tham số sep='=' nên giữa các kết quả sẽ thêm dấu '='
12 + 34 = 46 Có tham số sep=' = ' (có dấu cách trước và sau dấu =)
```
### Các phép toán số học
| Toán tử | Tên phép toán | Cú pháp | Ví dụ|
| -------- | -------- | -------- |-------- |
| `+` | Cộng | `x + y` |$12 + 5$ cho kết quả là $17$ |
| `-` | Trừ | `x - y` |$12 - 5$ cho kết quả là $7$ |
| `*` | Nhân | `x * y` |$12 * 5$ cho kết quả là $60$ |
| `/` | Chia | `x / y` |$12 / 5$ cho kết quả là $2.4$ |
| `//` | Chia lấy phần nguyên| `x // y` |$12 // 5 = 2.4$ nhưng lấy phần nguyên là $2$ |
| `%` | Chia lấy số dư | `x % y` |$12 \% 5$ cho kết quả là dư $2$|

### **Hướng dẫn các bài tập trong contest (kỳ thi)**
#### **Bài 1**: Hình chữ nhật dấu *
**Nhận xét:** Đề bài yêu cầu in ra $3$ dòng, mỗi dòng $10$ dấu `*`
**Hint**: Dùng lệnh **`print('**********')`** để in $10$ dấu sao, các dấu `*` được đặt trong cặp dấu nháy.
```python=
print('**********')
print('**********')
print('**********')
```
#### **Bài 2**: Cây thông 1
**Nhận xét:** Đề bài yêu cầu in ra cây thông bằng dấu `*`
**Hint**: Dùng lệnh **`print('')`** tương ứng để in ra cây thông như yêu cầu cảu đề.
```python=
print(' *')
print(' ***')
print(' *****')
print(' *******')
print(' *********')
print('***********')
print(' *')
print(' *')
print(' *')
```
#### **Bài 3**: Cây thông 2
**Nhận xét:** Đề bài yêu cầu in ra cây thông bằng dấu `*`
**Hint**: Giống bài 2, chỉ thay dấu cách bằng các dấu * ở giữa từ dòng 2 đến dòng 5.
#### **Bài 4**: Phép toán 1
**Nhận xét:** Đề yêu cầu in biểu thức và kết quả của biểu thức ``+, -, *, //``
**Hint**: Mỗi lệnh **`print()`** in ra hai đối tượng nên có dấu phẩy để ngăn cách các đối tượng. Đối tượng thứ nhất là "2468 + 1234 =", đối tượng thứ hai là kết quả của phép toán 2468 + 1234.
```python
print("2468 + 1234 =", 2468 + 1234)
```
Các lệnh còn lại chỉ thay các phép toán.