Professional Documents
Culture Documents
Slide Chương 2 - 8LT - GV
Slide Chương 2 - 8LT - GV
Số tín chỉ: 3
Bộ môn: Tin học
7/2020 1
CHƯƠNG 2.
CÁC THÀNH PHẦN CƠ SỞ
CỦA PYTHON
Số tiết: 8 LT
KHỞI ĐỘNG BÀI
3
KHỞI ĐỘNG BÀI
• Top 10 ngôn ngữ lập trình phổ biến nhất trên thế giới 2022
Nguồn: https://www.ieee.org
4
MỤC TIÊU CHƯƠNG 2
Trình bày được các bước viết và biên dịch chương trình
Liệt kê và trình bày được các yếu tố cơ bản trong NNLT Python
Ghi nhớ và vận dụng các lệnh cơ bản trong NNLT Python vào
1 số bài toán đơn giản.
5
NỘI DUNG CHƯƠNG 2
6
NỘI DUNG CHƯƠNG 2
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.1.1. Lịch sử phát triển
2.1.2. Đặc điểm của ngôn ngữ Python
2.1.3. Cài đặt công cụ lập trình Python
2.1.4. Các bước viết và biên dịch chương trình với Python
7
NỘI DUNG CHƯƠNG 2
2.2. Các yếu tố cơ bản của ngôn ngữ lập trình Python
2.2.1. Bảng chữ cái
2.2.2. Từ khóa
2.2.3. Tên gọi
2.2.4. Chú thích
2.2.5. Các kiểu dữ liệu cơ sở
2.2.6. Các đại lượng
2.2.7. Biểu thức
2.2.8. Cấu trúc chương trình
8
NỘI DUNG CHƯƠNG 2
2.3 Các lệnh cơ bản
2.3.1. Lệnh gán
2.3.2. Lệnh vào, ra dữ liệu
2.3.3. Các lệnh điều khiển rẽ nhánh
2.3.4. Các lệnh điều khiển chu trình
9
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.1.1. Lịch sử phát triển
2.1.2. Đặc điểm của ngôn ngữ Python
2.1.3. Cài đặt công cụ lập trình Python
2.1.4. Các bước viết và biên dịch chương trình với Python
10
2.1.1. Lịch sử phát triển
• Python được tạo ra bởi Guido van Rossum
• Kế thừa từ ngôn ngữ ABC
• , phát triển từ 12/1989 và phát hành năm 1991 Guido van Rossum
(31/1/1956)
• Phiên bản chính thức: ver1 (1/1994), ver2
Công bố lần đầu Version 1 Version 2 Version 3
(16/10/2000),
1989 ver31991
(3/12/2008) 2000
(3.10) 2008
11
2.1.1. Lịch sử phát triển
• Python là ngôn ngữ lập trình bậc cao, hướng đối tượng
• Là ngôn ngữ mã nguồn mở(
• Là ngôn ngữ kịch bản3 Guido van Rossum
(31/1/1956)
– Cho phép người lập trình viết các đoạn mã nhỏ thực hiện
nhiệm cụ thể như xử lý văn bản, bảng tính, trang web động,..
– Khai báo biến tự nhiên, phong phú và động
– Nhiều phép tính cấp cao được cung cấp sẵn
– Thông dịch thay vì biên dịch
• Biên dịch: dịch toàn bộ thành mã máy rồi thực thimã máy rồi thực thi
• Thông dịch: dịch từng lệnh, xong lệnh nào chạy lệnh đó.
12
2.1.1. Lịch sử phát triển
• Là ngôn ngữ phổ biến và được sử dụng cho:
– Phát triển web (phía server)
– Phát triển phần mềm Guido van Rossum
– Toán học (31/1/1956)
– Phân tích dữ liệu
– Kịch bản hệ thống
13
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.1.1. Lịch sử phát triển
2.1.2. Đặc điểm của ngôn ngữ Python
2.1.3. Cài đặt công cụ lập trình Python
2.1.4. Các bước viết và biên dịch chương trình với Python
14
2.1.2. Đặc điểm của ngôn ngữ Python
15
2.1.2. Đặc điểm của ngôn ngữ Python
• Python có thể làm việc trên các nền tảng khác nhau: Windows, Mac, Linux,
Raspberry Pi,…
• Python có cú pháp đơn giản, rõ ràng (tương tự tiếng Anh) và cực kỳ linh
hoạt (versatile) (giống giả mã)
• Ví dụ:
x=2 # Không cần khai báo kiểu dữ liệu
y=4
x, y = y, x # Hoán vị không cần biến trung gian
x = “Y1A”
16
2.1.2. Đặc điểm của ngôn ngữ Python
• Python sử
Đặcdụng
điểm dòng mới (tương ứng enter) để hoàn
Python Ngôn ngữ một
thành kháccâu lệnh
(các
Hoàn câungữ
ngôn
thành lệnh khác thườngNhấn dấu chấm
dùngEnter phẩyphẩy
Dấu chấm hoặc dấu hoặc
(semicolon) ngoặc dấu
đơn
Xácngoặc đơn vi(parentheses)
định phạm khối lệnh (vòng Thụt lề Dấu ngoặc nhọn (curly brackets)
•lặp,Python
hàm, lớp)dựa vào thụt lề (indentation), sử dụng khoảng trắng để xác định
(indentation)
Viếtphạm
chươngvi,trình có số
ví dụ dòngvi
phạm lệnh
củaÍtvòng lặp, hàmNhiều
và lớp (các ngôn ngữ khác
Tốcthường
độ lập trình
dùng dấu ngoặc nhọn Nhanh hơnbrackets)
– curly Chậm hơn
Lưu ý:
• Python có thư viện tiêu chuẩn toàn diện cho nhiều tác vụ, cộng đồng phát
triển lớn.
• Có thể mở rộng đơn giản thông qua C/C++, đóng gói các thư viện C/C++
17
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.1.1. Lịch sử phát triển
2.1.2. Đặc điểm của ngôn ngữ Python
2.1.3. Cài đặt công cụ lập trình Python
2.1.4. Các bước viết và biên dịch chương trình với Python
18
2.1.2. Đặc điểm của ngôn ngữ Python
• Zen of Python: Bản tóm tắt các nguyên tắc lập trình và triết lý thiết kế của
Python.
– Đây là một tài liệu văn bản ngắn được viết bởi Tim Peters, một trong
những tác giả của ngôn ngữ Python.
– Zen of Python: là một hướng dẫn về cách lập trình Python tốt hơn, cách
sử dụng các tính năng của Python và cách tư duy của người lập trình
Python.
– Để hiển thị các câu trong Zen of python, hãy nhập lệnh "import this" rồi
thực thi lệnh.
19
2.1.2. Đặc điểm của ngôn ngữ Python
Zen of Python các nguyên tắc phần mềm ảnh hưởng thiết kế của Python (19):
1. Đẹp tốt hơn xấu (Beautiful/ ugly)
2. Rõ ràng tốt hơn ngầm/ ẩn (explicit/implicit)
3. Đơn giản tốt hơn phức tạp (Simple/ complex)
4. Phức tạp tốt hơn lộn xộn (complex/complicate)
5. Phẳng hơn tốt hơn là lồng nhau (flat/nested)
6. Thưa tốt hơn dày (Sparse/Dense)
7. Số lượng có thể đọc (Readability counts)
8. Các trường hợp đặc biệt không đủ đặc biệt để phá vỡ quy tắc (break the rules)
9. Thực tế đánh bại sự trong sáng (practicality/ purity).
10+11. Lỗi không nên trôi qua im lặng trừ khi sự im lặng là rõ ràng (pass silently)
20
2.1.2. Đặc điểm của ngôn ngữ Python
Các nguyên tắc phần mềm ảnh hưởng thiết kế của Python (19):
12. Khi đối mặt với sự mơ hồ, hãy từ chối cám dỗ của việc suy đoán (ambiguity).
13. Nên có một – và thà chỉ có một – cách rõ ràng để làm điều đó
14. Cách ban đầu có thể không rõ ràng, trừ phi bạn là người Hà Lan.
15. Bây giờ thì tốt hơn không bao giờ,
16. Không bao giờ thì thường là tốt hơn ngay bây giờ.
17. Nếu bản thực hiện mà khó giải thích, thì đó là một ý tưởng tồi.
18. Nếu bản thực hiện mà dễ giải thích, thì đó có thể là một ý tưởng hay.
19. Không gian tên là một ý tưởng rất chi là vĩ đại—hãy làm thế nhiều hơn!
21
2.1.2. Đặc điểm của ngôn ngữ Python
Các nguyên tắc phần mềm ảnh hưởng thiết kế của Python:
Ví dụ2: tính tổng
1. Đẹp tốt hơn xấu #không tốt
danh_sach = [1,2,3,4,5]
2. Rõ ràng tốt hơn ngầm/ ẩn tong = sum(danh_sach)
Các nguyên tắc phần mềm ảnh hưởng thiết kế của Python:
6. Thưa tốt hơn dày (Sparse/Dense)
7. Số lượng có thể đọc
Ví dụ 6: Số lần xuất hiện của các từ Ví dụ 7: Bình phương
25
2.1.2. Đặc điểm của ngôn ngữ Python
Các nguyên tắc phần mềm ảnh hưởng thiết kế của Python:
12. Khi đối mặt với sự mơ hồ, hãy từ chối cám dỗ của việc suy đoán (ambiguity).
13. Nên có một – và thà chỉ có một – cách rõ ràng để làm điều đó
14. Cách ban đầu có thể không rõ ràng, trừ phi bạn là người Hà Lan.
15. Bây giờ thì tốt hơn không bao giờ,
16. Không bao giờ thì thường là tốt hơn ngay bây giờ.
17. Nếu bản thực hiện mà khó giải thích, thì đó là một ý tưởng tồi.
18. Nếu bản thực hiện mà dễ giải thích, thì đó có thể là một ý tưởng hay.
19. Không gian tên là một ý tưởng rất chi là vĩ đại—hãy làm thế nhiều hơn!
26
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.1.1. Lịch sử phát triển
2.1.2. Đặc điểm của ngôn ngữ Python
2.1.3. Cài đặt công cụ lập trình Python
2.1.4. Các bước viết và biên dịch chương trình với Python
27
2.1.3. Cài đặt IDE lập trình Python
• Nhiều máy PC và Mac có thể được cài sẵn Python
– Để check đã cài Python: Vào Command Line → gõ lệnh: python --version
– Hoặc vào Link download: https://www.python.org/
• Các IDE: Visual Studio Code, Thony, Pycharm, Netbeans hay Eclipse
• Lưu ý với IDE: có 2 cửa sổ khác nhau
– Cửa sổ Shell cho phép nhập mã và xem kết quả trên cùng cửa sổ (áp dụng với đoạn
lệnh nhỏ),
– hoặc mở cửa sổ mới để viết chương trình riêng. (cửa sổ Shell chạy bằng enter, cửa sổ
mới chạy bằng F5 hoặc thực đơn)
28
2.1.3. Cài đặt công cụ lập trình Python
– Pycharm có giao diện dễ dùng, giúp tăng hiệu suất công việc khi
viết chương trình lớn, …
– Pycharm là sản phẩm của hãng Jet Brains, công ty số 1 thế giới
hiện nay về các công cụ IDE lập trình hiện đại.
29
2.1.3. Cài đặt công cụ lập trình Python
30
2.1.3. Cài đặt công cụ lập trình Python
Hệ thống thực đơn, thanh công cụ chính
Giao diện của Pycharm:
31
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.1.1. Lịch sử phát triển
2.1.2. Đặc điểm của ngôn ngữ Python
2.1.3. Cài đặt công cụ lập trình Python
2.1.4. Các bước viết và biên dịch chương trình với Python
32
2.1.4. Các bước viết và dịch chương trình
33
2.1.4. Các bước viết và dịch chương trình
34
2.1.4. Các bước viết và dịch chương trình
• Ví dụ 1: Mở Command Prompt của Windows chạy các lệnh Python sau:
print(“Chào mừng bạn đến với Python”)
10 + 2
3 ** 2
35
2.1.4. Các bước viết và dịch chương trình
• Cách 2: Sử dụng Pycharm
– Khởi động Pycharm
– Tạo dự án project mới
– Xác định vị trí lưu
– Tạo file mới: File → New →
Python File → đặt tên tệp
– Nhập tập lệnh Python
– Bấm nút Run hoặc nhấn
Shift+F10 (chú ý tên file thực
thi)
36
2.1.4. Các bước viết và dịch chương trình
• Ví dụ 2: Mở PyCharm tạo file lưu và chạy các lệnh Python sau:
print(“Chào mừng bạn đến với Python”)
print(10 + 2)
print(3 ** 2)
37
NỘI DUNG CHƯƠNG 2
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.2. Các yếu tố cơ bản của Python
2.3 Các lệnh cơ bản
38
2.2. Các yếu tố cơ bản của Python
39
2.2.1. Bảng chữ cái
• Python sử dụng bộ kí tự Unicode, bao gồm:
– Chữ cái: A → Z, a →z
– Số: 0 → 9
– Các dấu ngăn cách: dấu cách, dấu nhảy tab, dấu xuống dòng
40
2.2.1. Bảng chữ cái
- Bộ ký tự toàn cầu, cho phép Python hỗ trợ các ngôn ngữ khác nhau, giúp
lập trình viên tạo ra các ứng dụng quốc tế đa ngôn ngữ
- Unicode có nhiều hệ thống mã hóa ký tự, trong đó UTF-8 có phổ biến nhất.
• Lưu ý: có thể sử dụng tiếng Việt trong viết câu lệnh và ghi chú thích
41
2.2. Các yếu tố cơ bản của Python
42
2.2.2. Từ khóa
• Khái niệm: Là một tập các từ dùng
riêng cho từng ngôn ngữ lập trình. Mỗi
từ khóa có một ý nghĩa và tác dụng cụ
thể. Ví dụ như tên kiểu dữ liệu, tên toán
tử, tên hàm v.v..
• Lưu ý:
– Không được đặt tên các đối tượng khác
trùng tên với từ khóa như biến, hằng,
mảng…
– Từ khóa phải viết bằng chữ thường.
43
2.2. Các yếu tố cơ bản của Python
44
2.2.3. Tên gọi
• Khái niệm: Là một dãy các ký tự đặt cạnh nhau, được dùng để định danh
các đối tượng khác nhau trong chương trình.
• Tên được dùng để đặt tên cho tên biến, tên hàm, tên hằng, tên danh sách,
tên từ điển, …
• Quy tắc đặt tên:
– Tên chỉ được chứa các chữ cái, chữ số và dấu gạch nối _
– Tên phải bắt đầu bằng chữ cái hoặc dấu gạch nối (tên biến)
– Không được trùng với từ khóa
– Phân biệt giữa chữ hoa và chữ thường
– Không được dùng các ký tự đặc biệt như @, $, %, …
45
2.2.3. Tên gọi
• Ví dụ: Xác định các tên hợp lệ để đặt tên biến trong chương trình
dia_chi Có
-hoten Không
in Không
1a Không
_1a Có
a% Không
46
2.2. Các yếu tố cơ bản của Python
47
2.2.4. Chú thích
• Mục đích: dùng để giải thích, làm rõ nghĩa cho một câu lệnh nào đó, và được
trình dịch bỏ qua khi dịch và chạy chương trình
• Vị trí: Ở bất kỳ đâu trong chương trình, đứng riêng biệt hoặc sau các câu lệnh.
• Phân loại: chú thích trên 1 dòng và chú thích trên nhiều dòng
– Trên 1 dòng: Dùng dấu thăng # Nội dung chú thích
– Trên nhiều dòng:
• C1: dùng dấu # cho từng dòng
• C2: dùng ba dấu nháy đơn hoặc 3 dấu nháy kép (bản chất là khai báo một chuỗi trên nhiều
dòng mà không gán cho biến nào)
• Ví dụ:
‘‘‘ Lưu ý: cách chú thích nhiều dòng này yêu cầu các dòng
Chú thích 1 đều có độ thụt lề (indentation) như nhau
Chú thích 2
‘‘‘ 48
2.2.4. Chú thích
Câu 1. Cho biết khẳng định nào sau đây là đúng
A. Python sẽ bỏ qua chú thích khi dịch chương trình
B. Chú thích bắt buộc phải có trong chương trình
C. Chú thích làm thay đổi kết quả chạy dịch chương trình
D. Python console không hỗ trợ chú thích
49
2.2.4. Chú thích
Câu 2. Hãy chọn đáp án đúng
A. Chú thích trên 1 dòng bắt đầu bởi dấu #
B. Chú thích trên nhiều dòng có thể bắt đầu và kết thúc bởi 3 dấu nháy đơn
C. Chú thích trên nhiều dòng có thể bắt đầu và kết thúc bởi 3 dấu nháy kép
D. Tất cả những điều trên đều đúng
50
2.2.4. Chú thích
Câu 3. Chọn đáp án đúng về ghi chú thích trong Python
A. Ký tự #
B. 1 dấu ngoặc đơn
C. Một dấu ngoặc kép
D. Ba dấu ngoặc đơn
51
BÀI TẬP
Bài 1. Sử dụng Pycharm nhập và chạy đoạn chương trình sau:
# xây dựng chương trình hiển thị ra màn hình hình chữ nhật
print("* * * * * * * * * * *")
print("* *")
print("* *")
print("* * * * * * * * * * *")
52
NỘI DUNG CHƯƠNG 2
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.2. Các yếu tố cơ bản của Python
2.3 Các lệnh cơ bản
53
2.2. Các yếu tố cơ bản của Python
54
2.2.5. Các kiểu dữ liệu cơ sở
• Khái niệm kiểu dữ liệu: là một tập hợp các giá trị mà một biến thuộc
kiểu đó có thể nhận được, và trên đó xác định một số phép toán.
• Phân loại:
– Kiểu dữ liệu cơ sở: kiểu số (int, float, complex), kiểu xâu ký tự (str), kiểu logic (bool)
– Kiểu dữ liệu có cấu trúc: kiểu danh sách (list), kiểu bộ (tuple), kiểu tập hợp (set), kiểu
từ điển (dict)
– Kiểu xây dựng sẵn (kiểu nhị phân (bytearray, bytes, memoryview), không kiểu
(NoneType).
– Kiểu do người dùng tự định nghĩa (class)
– Để xác định kiểu của 1 đối tượng dùng hàm type()
55
2.2.5. Các kiểu dữ liệu cơ sở
• Kiểu số: gồm 3 loại số nguyên (int), thực
(float), phức (complex)
• X=2
– int: bao gồm các số nguyên dương hoặc âm, • Y=-3.6
không có phần thập phân và không giới hạn độ
dài • Z=6e3
– float: số thực hay số dấu chấm động là số • F=-14.5E3
dương hoặc âm có chứa 1 hoặc nhiều chữ số
phần thập phần/ có thể biểu diễn bằng cách viết • C=2+5j
khoa học. (e/E để chỉ lũy thừa của 10)
– complex: số phức có a là phần thực, b là phần
ảo
• Cú pháp tạo số phức: a+bj
56
2.2.5. Các kiểu dữ liệu cơ sở
• Thứ tự của các phép toán:
Thứ tự ưu tiên Toán tử Diễn giải
1 function(), (), ** Các hàm, trong ngoặc, toán tử mũ
2 * / % // Phép nhân, chia, chia lấy phần dư, lấy phần nguyên
3 +- Toán tử cộng, trừ
4 <= < > >= Toán tử so sánh lớn nhỏ
5 <> == != Toán tử so sánh bằng, khác
6 = %= /= //= -= += *= **= Các toán tử gán
7 in, is, is not Các toán tử kiểm tra
8 not, or, and Các toán tử logic
• Ví dụ: x = 5.0
y = (2 * x ** 2 + 7 * x +13)/ (x + 2)
57
2.2.5. Các kiểu dữ liệu cơ sở
X=1 # int
• Chuyển đổi kiểu dữ liệu (trừ số phức không y=2.8 # float
z=1j # complex
chuyển về được các kiểu số khác): các kiểu số #convert from int to float:
có thể chuyển về các kiểu khác a=float(x)
#convert from float to int:
• Cú pháp chuyển KDL: b=int(y)
#convert from int to complex:
Tên_biến= tên_kiểu(biến_cũ) c=complex(x)
Tên_biến = tên_kiểu (biến_cũ) print(a)
print(b)
print(c)
print(type(a))
print(type(b))
print(type(c))
58
2.2.5. Các kiểu dữ liệu cơ sở
Số ngẫu nhiên
• Module: random
• Function: randint, randbytes, randrange, seed,…
• Ví dụ:
import random
print(random.randrange(1, 10))
from random import randint
x = randint(1,10)
print('A random number between 1 and 10: ', x)
59
2.2.5. Các kiểu dữ liệu cơ sở
Các hàm toán học
• Module: math
• Functions: sin, cos, tan,exp, log,log10,factorial, sqrt,abs, floor, ceil, …, các hằng pi, e
• Ví dụ:
from math import abs,sin, pi
print('Pi is roughly', pi)
print('sin(0) =', sin(0))
print(abs(-4.3))
print(round(3.336, 2))
• Lưu ý: để xem các hàm có trong 1 module bằng cửa sổ Command Line và ý nghĩa của các
hàm, thực hiện như sau:
import module
dir(module)
help (module.tên_hàm)
60
2.2.5. Các kiểu dữ liệu cơ sở
• Kiểu xâu ký tự: là tất cả các giá trị, dữ liệu được khai báo thông qua cặp
dấu nháy đơn ‘ ’ hoặc dấu nháy kép “ ”, hay cũng có thể dùng cặp ba dấu
nháy đơn liên tiếp ‘‘‘ ’’’ hoặc 3 cặp nháy kép liên tiếp “““ ”””
– Thông thường, cặp nháy đơn hoặc nháy kép để biểu diễn một chuỗi ngắn
– Cặp 3 dấu nháy đơn hoặc 3 dấu nháy kép dùng cho một chuỗi dài nằm trên nhiều
dòng
• Ví dụ:
s = “Lập trình Python”
print(s)
str1 = “““ Đây là một chuỗi dài được trình bày trên nhiều
dòng sử dụng ba dấu nháy kép ”””
print(s1)
61
2.2.5. Các kiểu dữ liệu cơ sở
• Kiểu xâu ký tự (str):
Để in ra ký tự đặc biệt trong chuỗi, Python quy định sử dụng ký tự điều
khiển \ đặt trước ký tự đặc biệt
Các kiểu ký tự điều khiển dùng trong Python
Tên Ký hiệu Ý nghĩa
Alert \a Phát ra một tiếng bíp
Backspace \b Đưa con trỏ lùi về một khoảng trắng (một ký tự)
Newline \n Đưa con trỏ xuống dòng và về đầu dòng tiếp theo
Horizontal tab \t In ra một khoảng trắng bằng phím Tab
Single quote \’ In ra ký tự ‘
Double quote \” In ra ký tự “
Blackslash \\ In ra ký tự \
62
2.2.5. Các kiểu dữ liệu cơ sở
• Kiểu xâu ký tự (str):
– Các toán tử với ký tự
Toán tử Ý nghĩa Cú pháp Ví dụ
Nối các chuỗi với nhau s1+s2 s1 = “hello”; s2 = “world”
+
s1,s2 chuỗi ký tự s12 = s1+s2 #chuỗi s12 = Hello world
Tạo ra một chuỗi lặp đi lặp s*n s1 = “helllo”
lại với số lần bất kỳ s: chuỗi ký tự n=2
* n: 1 số nguyên s1n = s1 * n #s1n = hellohello
n<0: trả về chuỗi rỗng
Kiểm tra chuỗi con có nằm s1 in s s1 = “hello”
in trong chuỗi mẹ không s1, s: chuỗi ký tự s = “hello world”
s1 in s # True
63
2.2.5. Các kiểu dữ liệu cơ sở
• Kiểu xâu ký tự (str):
– Các thao tác với ký tự:
• Vị trí các ký tự trong chuỗi: Các ký tự trong chuỗi được đánh số thứ
tự từ 0 đến n-1 hoặc –n đến -1 từ trái qua phải
0 1 2 3 4 5 Vị trí dương
P Y T H O N Ký tự
-6 -5 -4 -3 -2 -1 Vị trí âm
s • Cú pháp truy xuất ký tự:
<Tên biến chuỗi> [<vị trí>]
64
2.2.5. Các kiểu dữ liệu cơ sở
• Kiểu xâu ký tự (str):
– Các thao tác với ký tự:
• Cú pháp truy xuất nhiều ký tự:
<Tên biến chuỗi> [<start>:<end>:<step>]
• Trong đó: <step> là bước nhảy lấy ký tự, nếu thiếu giá trị này thì bước
nhảy bằng 1.
• Ví dụ:
s1 = "Hello world"
s2 = s1[1:10:2] # s2=el ol
print(s2)
2.2.5. Các kiểu dữ liệu cơ sở
• Kiểu xâu ký tự (str):
– Các phương thức xử lý chuỗi:
Phương thức Ý nghĩa Cú pháp
Đếm số lần xuất hiện của 1 chuỗi con <chuỗi_mẹ.count(<chuỗi_con>,[,start[,end]])
count()
trong chuỗi mẹ
Viết hoa ký tự đầu tiên trong chuỗi, các <chuỗi>.capitalize()
capitalize() ký tự còn lại viết thường
68
2.2. Các yếu tố cơ bản của Python
69
2.2.6. Các đại lượng
• Hằng (constant): là đại lượng giá trị không thay đổi trong quá trình tính toán.
– Vị trí: tham gia vào các biểu thức tính toán và các lệnh gán
– Giá trị xác định kiểu dữ liệu và các phép toán có thể thực hiện/ thao tác tương ứng.
– Ví dụ: a=5
b=“a b c d”
print(type(a))
print(type(b))
– Giá trị số: thực hiện các phép toán số học và các hàm trong module math
– Giá trị xâu: thực hiện các phép toán, hàm với ký tự, xâu ký tự (in, not in, print, len,
và các hàm upper, lower, find,…
70
2.2.6. Các đại lượng
• Biến (variable): là một đại lượng có giá trị thuộc một kiểu dữ liệu nào đó và
giá trị này có thể thay đổi trong thời gian tồn tại của biến.
– Trong Python không có câu lệnh khai báo biến như các ngôn ngữ khác, biến được tạo
tại thời điểm nó được gán 1 giá trị ban đầu.
– Cú pháp: tê
– n_biến=giá_trị tên_biến = giá_trị
– Kiểu dữ liệu của biến được xác định thông qua giá trị mà nó được gán và có thể thay
đổi liên tục.
– Ví dụ: x = 4 # x is of type int
print(x)
x = "Sally" # x is now of type str
print(x)
71
2.2.6. Các đại lượng
• Có thể gán nhiều giá trị cho nhiều biến: số lượng biến phải bằng số giá trị
x, y, z = "Orange", "Banana", "Cherry“
print(x); print(y); print(z)
• Có thể gán cùng một giá trị cho nhiều biến
x = y = z = "Orange“
print(x); print(y); print(z)
• Giải nén một tập hợp: để gán các giá trị trong một tập hợp (list, tuple…) cho
các biến
fruits = ["apple", "banana", "cherry"]
x, y, z = fruits
print(x); print(y); print(z)
72
2.2. Các yếu tố cơ bản của Python
73
2.2.7. Biểu thức
• Khái niệm: Biểu thức là sự kết hợp giữa các toán hạng và toán tử theo một cách
phù hợp để diễn đạt một công thức toán học nào đó.
Trong đó:
– Các toán hạng có thể là hằng, biến hay lời gọi hàm hoặc là một biểu thức con nào đó.
– Các toán tử phụ thuộc vào tập các toán tử mà ngôn ngữ hỗ trợ.
• Giá trị biểu thức: được ước lượng và có kiểu dữ liệu phụ thuộc vào các thành
phần trong biểu thức.
• Vị trí của biểu thức: xuất hiện trong bất kì một câu lệnh nào của Python
• Ví dụ: ─ Vế phải của một câu lệnh gán : ví dụ: x = 5*a ;
– Làm tham số thực sự của hàm: ví dụ: sqrt(y)
– Trong câu lệnh điều kiện if, for…
74
TRẮC NGHIỆM
Câu 1. Lệnh gán nào sau đây là đúng
A. z = print(z)
B. z = “23” + 50
C. z = 5, w = 10
D. z = w = 10
75
TRẮC NGHIỆM
Câu 2. Sau các lệnh thì giá trị của y bằng bao nhiêu?
x=y=1
x = x +1
A. 2
B. None
C. 1
D. True
76
TRẮC NGHIỆM
Câu 3. Câu lệnh nào sau đây hợp lệ?
A. z, w = 1
B. a_b_c =1
C. __abc__ = 1
D. –a_b_c- = 1
77
NỘI DUNG CHƯƠNG 2
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.2. Các yếu tố cơ bản của Python
2.3 Các lệnh cơ bản
78
2.2. Các yếu tố cơ bản của Python
79
2.2.8. Cấu trúc chương trình
• Mỗi câu lệnh trong Python thường được tổ chức trên 1 dòng và trình thông dịch sẽ đọc và thực hiện
từng câu lệnh.
• Mỗi câu lệnh sẽ được xác định kết thúc thông qua dòng mới (enter).
• Nếu có nhiều lệnh trên 1 dòng → dùng dấu chấm phẩy ;
Ví dụ: print(x); print(y); print(z)
• Nếu 1 lệnh ở trên nhiều dòng: Python hỗ trợ 2 cách viết
– Cách 1: Lệnh nối tiếp ngầm định (explicit), ─ Cách 2: Lệnh nối tiếp rõ
khi có các cặp dấu (),{ },[ ] ràng (implicit) bằng cách sử
─ Ví dụ: dụng dấu \
if (
A=[ ─ Ví dụ:
person_1 >= 18 and
[1,2,3],
person_2 >= 18 and s = 1 + 2 + 3 + \
[3,4,5]
person_3 < 18 4 + 5 + 6 + \
]
): 7 + 8 + 9
print(A)
print('2 Persons should have ID Cards')
80
2.2.8. Cấu trúc chương trình
• Gồm 3 phần chính như sau:
import <tên thư viện/module> # Khai báo sử dụng thư viện hoặc module
…
# Định nghĩa các hàm
def <tên_hàm> ([danh sách tham số])
…… # Cấu trúc giống với thân chương trình chính
# Phần thân chương trình chính
<Câu lệnh 1> # Các câu lệnh được canh lề trái
# Khối lệnh 1.1 lùi vào 1 Tab/khoảng trống so với câu lệnh 1
[<Khối lệnh 1.1>]
<Câu lệnh 2> # Các câu lệnh được canh lề trái
# Khối lệnh 2.1 lùi vào 1 Tab/ khoảng trống so với câu lệnh 2
[Khối lệnh 2.1]
81
2.2.8. Cấu trúc chương trình
• Trong đó:
– <tên thư viện/tên module>: là tên thư viện hoặc module người dùng có sử dụng các
hàm, lớp để phục vụ các công việc trong chương trình, như thư viện/ module math
– <tên hàm>: là tên hàm (chương trình con) do người dùng định nghĩa
– <chương trình chính>: chứa các khối lệnh, thân chương trình chính
– Khoảng trống khối lệnh cần thụt vào so với lệnh chứa nó thông thường hay dùng một
khoảng Tab
82
2.2.8. Cấu trúc chương trình
• Nạp thư viện/module trong Python
– Nếu các tệp cùng thư mục: Cú pháp: import tên_tệp
– Nếu các tệp không cùng thư mục: 2 cách
• Cách 1: Dùng biến sys.path trong module sys
Cú pháp: import sys
sys.path.insert(0,đường_dẫn_thư_mục) hoặc
sys.path.append(đường_dẫn_thư _mục)
import tệp
• Cách 2: sử dụng biến môi trường PYTHONPATH thông qua cửa sổ Command Line
– Bước 1: Mở cửa sổ Command Line và thiết lập đường dẫn
set pythonpath=đường_dẫn_thư_mục
import sys
– Bước 2: Trong chương trình Python
import tên_tệp
83
2.2.8. Cấu trúc chương trình
• Nếu chỉ muốn sử dụng các hàm, các khai báo trong một tệp khác: 2 cách
– Cách 1: import cả tệp
Cú pháp: import tên_tệp # gọi thư viện/tệp
tên_tệp.tên_hàm() # sử dụng hàm trong thư viện/tệp
– Cách 2: import trực tiếp đối tượng trực tiếp từ tệp
Cú pháp: from tên_tệp import tên_hàm/đối_tượng
• Ví dụ:
a=3.2
import math
print(math.ceil(a))
hoặc
from math import ceil
print(ceil(a))
84
2.2.8. Cấu trúc chương trình
85
2.2.8. Cấu trúc chương trình
Bài tập: Viết chương trình tính diện tích, chu vi hình tròn biết:
bán kính hình tròn = 1 + 2 + 3+ 4 + … + 10
Gợi ý:
Bán kính = n * (n + 1) /2 # n số phần tử trong biểu thức
Diện tích = Pi * Bán kính2
Chu_vi_HT = 2 * Pi * bán kính
Pi sử dụng module math
86
NỘI DUNG CHƯƠNG 2
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.2. Các yếu tố cơ bản của Python
2.3 Các lệnh cơ bản
87
2.3. Các lệnh cơ bản
2.3.1. Lệnh gán
2.3.2. Lệnh vào, ra dữ liệu
2.3.3. Các lệnh điều khiển rẽ nhánh
2.3.4. Các lệnh điều khiển chu trình
88
2.3. Các lệnh cơ bản
Giới thiệu
• Khái niệm: Lệnh là một chỉ thị yêu cầu máy thực hiện
• Phân loại:
– Câu lệnh đơn giản: là lệnh không chứa các lệnh khác. Ví dụ: phép gán, lời gọi hàm loại
void, lệnh nhảy không điều kiện goto
– Câu lệnh phức hợp/ ghép: khối lệnh, lệnh rẽ nhánh, lệnh lặp-chu trình
• Lưu ý
– Lệnh được ghi trên 1 dòng và kết thúc bằng dấu Enter. Nếu có nhiều lệnh trên cùng dòng
thì mỗi lệnh kết thúc bằng dấu chấm phẩy ;
– Nếu 1 lệnh kéo dài trên nhiều dòng thì dùng dấu \ để ghép lệnh
– Khối lệnh/ lệnh ghép dùng dấu hiệu thụt lề để xác định
– Khối lệnh/ các lệnh ngang hàng luôn thụt lề giống nhau
89
2.3.1. Lệnh gán
• Chức năng: gán 1 giá trị cho một biến
Cú pháp: tên_biến= giá trị
tên_biến = giá trị
• Ví dụ:
x = “Hello World”
a = 3.5
Li = [3, 5, 7]
Tu = (“apple”,”banana”, “grape”)
Se = {“Huyền”, 1990, 3.2}
Di = {“Name”:“Huyền”, “YOB”: 1990, “GPA”:3.2}
• Có thể gán nhiều giá trị cho nhiều biến
• Có thể gán một giá trị cho nhiều biến
90
2.3. Các lệnh cơ bản
2.3.1. Lệnh gán
2.3.2. Lệnh vào, ra dữ liệu
2.3.3. Các lệnh điều khiển rẽ nhánh
2.3.4. Các lệnh điều khiển chu trình
91
2.3.2. Lệnh vào ra dữ liệu – Hàm input()
92
2.3.2. Lệnh vào ra dữ liệu – Hàm input()
• Có thể nhập dữ liệu cho nhiều biến trong cùng 1 lệnh: dùng phương thức split
hoặc khả năng của List.
• Cách 1: dùng phương thức split(): input().split(separator,maxsplit)
Trong đó:
– separator xác định ký tự phân tách xâu nhập vào, mặc định là khoảng trắng
– Maxsplit xác định bao nhiêu lần tách được thực hiện, mặc định là -1 tương ứng với số lần xuất hiện
dấu phân tách.
• Ví dụ:
x,y,z=input().split() # nhập dữ liệu cho 3 biến và phân tách bằng khoảng trắng
a,b=input().split(“;”) # nhập dữ liệu cho 2 biến cách nhau bởi dấu ;
a,b,c=input().split(“,”,2)# nhập dữ liệu cho 3 biến phân tách nhau bằng dấu phẩy và
tách bởi 2 lần ( tương ứng 3 biến)
93
2.3.2. Lệnh vào ra dữ liệu – Hàm input()
94
2.3.2. Lệnh vào ra dữ liệu – Hàm print()
• Trong đó:
– values: các giá trị xâu ký tự hoặc biến cần in giá trị ra màn hình.
– sep: xác định cách tách các đối tượng khi có nhiều giá trị cần in (mặc định là ‘ ’)
– end: xác định giá trị được in ở cuối dòng (mặc định là xuống dòng ‘\n’)
• Ví dụ 1: a=5; print(a)
print(“ngon ngu lap trinh Python”)
95
2.3.2. Lệnh vào ra dữ liệu – Hàm print()
• Ví dụ 2 (lệnh vào ra dữ liệu): Để xuất nhiều thông tin trong cùng một câu
lệnh, dùng dấu “,” để ngăn cách.
a=5; b=7
print("gia tri cua a va b la:")
print(a, b,sep=',', end='\n')
96
2.3. Các lệnh cơ bản
2.3.1. Lệnh gán
2.3.2. Lệnh vào, ra dữ liệu
2.3.3. Các lệnh điều khiển rẽ nhánh
2.3.4. Các lệnh điều khiển chu trình
97
2.3.3. Lệnh điều khiển rẽ nhánh If
• Chức năng: cho phép thực hiện các công việc khác nhau tương ứng với các điều kiện khác
nhau.
• Cú pháp: False
if điều_kiện: <Điều kiện>
Khối_lệnh1
else: True
Khối_lệnh2 <khối lệnh 2>
<khối lệnh 1>
• Trong đó:
– <Điều kiện>: Luôn cho kết quả trả về là một trong hai giá trị đúng (True hoặc False)
– <khối lệnh 1>: là khối lệnh được chạy khi biểu thức lô-gic có giá trị đúng, các câu lệnh trong khối
lệnh có lề trái dịch sang phải một khoảng trống so với câu lệnh if
– <khối lệnh 2>: là khối lệnh được chạy khi biểu thức lô-gic có giá trị sai, các câu lệnh trong khối có
lề trái thụt vào một khoảng trống so với câu lệnh else
98
2.3.3. Lệnh điều khiển rẽ nhánh If
• Cú pháp: if elif
if điều_kiện1:
Khối_lệnh1
elif điều_kiện2:
Khối_lệnh2
…
else:
Khối_lệnh n+1
• Trong đó:
– <Điều kiện 1, 2, ...n>: biểu thức logic cho kết quả True hoặc False
– <Khối lệnh 1, 2, .., n]: Khối lệnh được chạy sau khi biểu thức logic tương ứng 1, 2, … n có giá trị
True, các lệnh trong khối có lề trái dịch sang phải 1 khoảng trống so với câu lệnh if hoặc elif
– <Khối lệnh n+1>: là khối lệnh được chạy khi tất cả biểu thức logic từ 1 đến n có giá trị False.
99
2.3.3. Lệnh điều khiển rẽ nhánh If
Ví dụ: Cho hai số a và b
a = 15; b = 50
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
100
2.3.3. Lệnh điều khiển rẽ nhánh If
Lưu ý:
• Nếu sử dụng if khuyết thì khối lệnh có thể viết trên 1 dòng thông qua dấu
chấm phẩy
a=7
b=2
if a>b: print("ket luan"); print(a, "lon hơn",b)
• Nếu chỉ có 1 công việc cần thực hiện thì có thể dùng cú pháp if… else rút
gọn trên cùng 1 dòng:
a = 2
b = 8
print("A") if a > b else print("B")
101
2.3.3. Lệnh điều khiển rẽ nhánh If
• Các câu lệnh trong khối lệnh của if, else, elif phải tương ứng thụt lề như
nhau. (do python dựa vào thụt lề để xác định phạm vi trong code, các ngôn
ngữ khác thường dùng { })
a = 15
b = 50
if b > a:
print("b is greater than a") # you will get an error
• Nếu câu lệnh if rỗng (không có nội dung) thì dùng câu lệnh pass.
if b > a:
pass
• Câu lệnh If có thể lồng nhau
• Lưu ý: Không có câu lệnh switch … case trong Python
102
BÀI TẬP
Bài tập: Nhập vào ba số a, b, c. In ra thông báo xem ba số
đó có là ba cạnh của một tam giác hay không.
103
2.3. Các lệnh cơ bản
2.3.1. Lệnh gán
2.3.2. Lệnh vào, ra dữ liệu
2.3.3. Các lệnh điều khiển rẽ nhánh
2.3.4. Các lệnh điều khiển chu trình
104
2.3.4. Lệnh điều khiển chu trình for
• Chức năng: cho phép thực hiện lặp công việc với số lần lặp cho trước hoặc thực hiện công
việc trên các phần tử của 1 dãy (list, tuple, dictionary, set, string). (hơi khác so với câu lệnh
for trong các NN khác)
• Cú pháp:
for tên_biến
For tên_biến in range (số_lần_lăp): in range (số_lần_lăp):
Khối_lệnh_lặp
Khối_lệnh_lặp
• Ví dụ
for i in range (10): # in ra 0→9
print(i)
for i in range(4): # in 4 dòng, mỗi dòng 6 ngôi sao
print('*’*6)
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
105
2.3.4. Lệnh điều khiển chu trình for
• Để dừng vòng lặp for giữa chừng dùng câu lệnh break (so sánh 2 đoạn code sau)
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
107
2.3.4. Lệnh điều khiển chu trình for
• Python cho phép các câu lệnh for lồng nhau
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
• Nếu vòng lặp rỗng (không có nội dung), dùng câu lệnh pass.
for x in [0, 1, 2]:
pass
108
BÀI TẬP
In ra số Fibonacci thứ n với n là số nguyên dương bất kỳ. Biết
Fibonacci là 1 dãy số vô hạn, được bắt đầu bởi số 0 và số 1, các số
tiếp theo luôn bằng tổng của 2 số liền trước cộng lại.
Fn = Fn-1 + Fn-2
F0 = 0 và F1 = 1.
Gợi ý:
Dãy Fibonacci 0 1 1 2 3 5 8 13 21
Số thứ tự 1 2 3 4 5 6 7 8 9
109
NỘI DUNG CHƯƠNG 2
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.2. Các yếu tố cơ bản của Python
2.3 Các lệnh cơ bản
110
2.3. Các lệnh cơ bản
2.3.1. Lệnh gán
2.3.2. Lệnh vào, ra dữ liệu
2.3.3. Các lệnh điều khiển rẽ nhánh
2.3.4. Các lệnh điều khiển chu trình
111
2.3.4. Lệnh điều khiển chu trình while
• Chức năng: cho phép thực hiện lặp tập hợp các câu lệnh trong khi
điều kiện đúng. (không biết trước số lần lặp)
• Cú pháp:
while điều_kiện: while điều_kiện:
Khối_lệnh_lặp Khối_lệnh_lặp
• Ví dụ:
1. i = 1
2. while i < 6:
3. print(i)
4. i += 1
112
2.3.4. Lệnh điều khiển chu trình while
Lưu ý:
• Cần thay đổi giá trị biến điều khiển →tránh • Để dừng vòng lặp hiện tại và chuyển
vòng lặp vô hạn sang lần lặp kế tiếp dùng câu lệnh
i=0 continue
while i<10: i =1
print(i) while i<6:
• Để dừng vòng lặp giữa chừng dùng câu lệnh if i ==3:
break. i += 1
i = 1 continue
while i < 6: print(i)
i += 1
print(i)
if i == 3:
break
i += 1
113
2.3.4. Lệnh điều khiển chu trình while
• Để thực hiện công việc khi điều kiện sai (kết thúc vòng lặp while) dùng câu
lệnh else.
i = 1
while i < 6:
print(i)
i += 1
else:
print(“ i bang 6")
• Nếu vòng lặp while rỗng (không có nội dung) dùng câu lệnh pass
a = ‘programing with Python'
i = 0
while i < len(a):
i += 1
pass
print('Value of i :', i)
114
2.3.4. Lệnh điều khiển chu trình while
• Python cho phép while lồng nhau
i = 1
while i != 4:
j = 1
while j != 4:
print(i,j)
j += 1
i += 1
115
2.3.4. Lệnh điều khiển chu trình while
• Xử lý ngoại lệ trong Python Try-except
Xét ví dụ:
x = 5
y = 0
print(x/y)
→ Nhận xét: Chương trình không thực thi do có lỗi do có ngoại lệ xảy ra
116
2.3.4. Lệnh điều khiển chu trình while
• Xử lý ngoại lệ trong Python Try-except:
– Khi lỗi ngoại lệ xảy ra thì chương trình sẽ ngừng thực thi.
– Python cung cấp cơ chế xử lý ngoại lệ bằng try – except, khi đó chương trình sẽ ngừng thực thi,
chuyển qua quá trình gọi và in ra lỗi đến khi nó được xử lý.
– Cú pháp: try:
# Khối lệnh thực thi
except ExceptionType
# Khối lệnh xử lý ngoại lệ loại type
except ExceptionType
# Khối lệnh xử lý ngoại lệ loại type
except:
Trong đó: # Xử lý tất cả các ngoại lệ còn lại
- try: có thể chứa các thao tác gây ra ngoại lệ. Có nhiều loại ngoại lệ khác nhau như ValueError,
TypeError, ZeroDivisionError, FileNotFoundError
- except: Khối lệnh chứa các thao tác xử lý ngoại lệ
117
2.3.4. Lệnh điều khiển chu trình while
• Xử lý ngoại lệ trong Python Try-except:
– Nếu muốn giải quyết nhiều ngoại lệ khác nhau thì sử dụng từ khóa Exception trong
except.
try:
# Khối lệnh thực thi
except Exception
# Khối lệnh xử lý ngoại lệ
finally:
# Khối lệnh sau khi khối lệnh try hoặc except kết thúc
– Trong đó:
• finally: Khối lệnh trong finally sẽ được thực hiện dù có hay không có ngoại lệ xảy ra.
118
2.3.4. Lệnh điều khiển chu trình while
• Xử lý ngoại lệ trong Python Try-except
Xét ví dụ:
try:
x = 5
y = 0
print(x/y)
except ZeroDivisionError:
print("Khong the chia cho so 0")
→ Nhận xét: Chương trình thực thi và không báo lỗi
119
BÀI TẬP
Bài tập: Hãy xây dựng chương trình để giải bài toán gửi tiền tiết
kiệm như sau:
Anh A có gửi số tiền a vào một ngân hàng với lãi suất hàng tháng là
5%. Hỏi sau bao nhiêu tháng anh thu được số tiền b (b>a).
120
NỘI DUNG CHƯƠNG 2
2.1. Giới thiệu về ngôn ngữ lập trình Python
2.2. Các yếu tố cơ bản của ngôn ngữ lập trình Python
2.3 Các lệnh cơ bản
121
TỔNG KẾT CHƯƠNG 2
• Tìm hiểu lịch sử phát triển Python
• Tìm hiểu 19 nguyên tắc lập trình Zen of python
• Hướng dẫn cài đặt Pycharm
• Tìm hiểu các yếu tố cơ bản của Python
• Tìm hiểu các lệnh cơ bản của Python
122
Giải thích thuật ngữ
Thuật ngữ Giải thích
Script language ngôn ngữ lập trình kịch bản
Dynamic language Ngôn ngữ động
Indentation Thụt lề
Curly brackets Dấu ngoặc nhọn
Zen of Python Bản tóm tắt nguyên tắc lập trình
complex Số phức
break Thoát khỏi vòng lặp
continue Bỏ qua 1 vòng lặp đến vòng lặp kế tiếp
pass Không thực hiện
Try-except Xử lý ngoại lệ
123
Câu hỏi ôn tập
1. Trình bày tóm tắt lịch sử phát triển của ngôn ngữ lập trình Python
2. Trình bày 19 nguyên tắc lập trình Zen of Python
3. Trình bày các bước cài đặt công cụ lập trình IDE Pycharm
4. Nêu các bước viết và biên dịch chương trình với Pycharm
5. Trình bày về 1 số yếu tố cơ bản của ngôn ngữ lập trình Python: Bảng chữ cái, từ khóa, tên gọi, chú
thích
6. Trình bày về 1 số yếu tố cơ bản của ngôn ngữ lập trình Python: Các kiểu dữ liệu cơ sở, các đại lượng
7. Trình bày về một số yếu tố cơ bản của ngôn ngữ lập trình Python: Biểu thức, Cấu trúc chương trình
8. Nêu cú pháp và giải thích lệnh gán trong Python
9. Nêu cú pháp và giải thích lệnh Lệnh vào, ra dữ liệu trong Python
10. Nêu cú pháp và giải thích lệnh Các lệnh điều khiển rẽ nhánh if trong Python
11. Nêu cú pháp và giải thích lệnh Các lệnh điều khiển chu trình while trong Python
12. Nêu cú pháp và giải thích lệnh Các lệnh điều khiển chu trình for trong Python
124
BÀI TẬP
Bài 1. Cho trước (hoặc nhập từ bàn phím) xâu ký tự str, in ra xâu thu được từ str bằng cách viết
theo thứ tự ngược lại
Bài 2. Cho trước 2 xâu str1, str2, viết chương trình trộn 2 xâu trên lại và in kết quả màn hình. Việc
trộn theo nguyên tắc như sau:
- Lần lượt từ trái qua phải, viết các ký tự str1, sau đó đến str2
- Lần lượt từ trái qua phải, viết ký tự str2 sau đó đến str1
Bài 3: Kiểm tra 1 số xem có phải là số hoàn hảo không? Biết số hoàn hảo là một số nguyên dương
lớn hơn 0 và có tổng các ước (ngoại trừ số đó) bằng chính nó.
Bài 4: In ra các số nguyên tố nhỏ hơn N
Bài 5: In ra số Fibonacci thứ n với n là số nguyên dương bất kỳ. Biết Fibonacci là 1 dãy số vô hạn,
được bắt đầu bởi số 0 và số 1, các số tiếp theo luôn bằng tổng của 2 số liền trước cộng lại.
Fn = Fn-1 + Fn-2
F0 = 0 và F1 = 1.
125
CÂU HỎI TRẮC NGHIỆM
Câu 1. Giá trị x sau khi thực hiện câu lệnh sau sẽ là gì?
x = 4 ** 2 – 4 * 4 == 0
A. True
B. False
C. Không là False cũng không là True
D. Chương trình báo lỗi
126
CÂU HỎI TRẮC NGHIỆM
Câu 2. Cho đoạn chương trình sau:
a = 5
b =7
x = a < b or a < 0 and b < 0
Giá trị của x là:
A. True
B. False
C. Chương trình báo lỗi
D. None
127
CÂU HỎI TRẮC NGHIỆM
Câu 3. Giá trị a và y là bao nhiêu sau khi thực hiện đoạn code sau:
a=1
y = a+1 * 2 + 16/a +3
y *= 2 +4
A. 132
B. 36
C. 50
D. 80
128
TRẮC NGHIỆM
Câu 4. Xác định tên biến nhớ hợp lệ
A. a-b-c
B. a_b_c
C. __abc__
D. –a_b_c-
129
CÂU HỎI TRẮC NGHIỆM
Câu 5. Giả sử có đoạn chương trình sau:
a = 5
b = 7
a, b = b, a
Sau các lệnh trên giá trị các biến nhớ a, b bằng bao nhiêu?
A. a = 5, b = 5
B. a =5, b = 7
C. a = 7, b = 7
D. a = 7, b =5
130