Tải bản đầy đủ (.pdf) (22 trang)

CHUYÊN đề 1 tài LIỆU bồi DƯỠNG học SINH GIỎI TIN học bậc THCS CAN BAN PYTHON

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.4 MB, 22 trang )

TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI TIN HỌC BẬC THCS

CHUN ĐỀ 1:
CĂN BẢN NGƠN NGỮ LẬP TRÌNH PYTHON 3.x
Tác giả: NGƯT Nguyễn Tấn Phong
Đơn vị: Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng
PHẦN I: TÌM HIỂU NGƠN NGỮ LẬP TRÌNH PYTHON
I. Python là gì? Mơi trường IDE để lập trình python?
1. Python là gì?
Python là một ngơn ngữ lập trình, tương tự như những ngơn ngữ lập trình mà chúng
ta đã biết như Pascal, C/C++, Scratch, mBlock.
Về lý thuyết thì tất cả các NNLT đều với mục đích là trung gian giao tiếp giữa
người và máy tính, mỗi NNLT có những quy ước riêng để con người “diễn đạt” những
“suy nghĩ, chỉ thị” cho máy tính. Ví dụ thế này nhé: người Việt Nam, người Mỹ, người
Trung Quốc, … đều là con người nhưng mỗi quốc gia lại có một loại “chữ viết và tiếng
nói” khác nhau do con người quốc gia đó “quy ước”, nơm na hiểu “chữ viết và tiếng nói”
giống như là một NNLT vậy.
Về góc độ khoa học máy tính thì NNLT là cơng cụ để con người giải các bài tốn
thực tế trên máy tính thơng qua cấu trúc dữ liệu/cơ sở dữ liệu và các thuật toán/thuật giải.
Đứng ở quan điểm này thì thuật tốn/thuật giải ít chịu ảnh hưởng đến loại NNLT mà ta
chọn lựa, nhưng cấu trúc dữ liệu/cơ sở dữ liệu thì lại chịu ảnh hướng rất lớn từ NNLT mà
ta chọn lựa. Điều đó lý giải tại sao hiện nay có nhiều loại NNLT như vậy? Bởi vì mỗi loại
NNLT điều có những ưu điểm vượt trội của nó ở cấu trúc dữ liệu/cơ sở dữ liệu và về tính
hướng đối tượng. Chẳng hạn: Ưu điểm của NNLT Pascal là các câu lệnh được diễn đạt
tường minh theo ngơn ngữ nói, nhược điểm là phạm vi cấu trúc dữ liệu nhỏ, tính hướng
đối tượng cũng như cơ sở dữ liệu không rõ ràng. Ngược lại, NNLT C++ lại có cấu trúc
dữ liệu lớn, tính hướng đối tượng và CSDL tốt hơn nhưng câu lệnh lại diễn đạt khơng
tường minh. NNLT Scratch thì khắc phục được nhược điểm của Pascal/C++ và lại có
thêm nhiều ưu điểm về lập trình ứng dụng đa nền tảng nhưng lại có nhược điểm là diễn
đạt các thuật toán phức tạp hơn nhiều so với Pascal/C++.
Python được xem là một ngôn ngữ bậc cao phổ biến nhất hiện nay, chỉ xét ở góc


độ dạy học trong chương trình phổ thơng bậc THCS và THPT thì Python là NNLT khắc
phụ được những hạn chế của NNLT Pascal và C/C++. Điều đó thể hiện rõ nhất ở 3 điểm:
+ Câu lệnh được diễn đạt tường minh theo ngơn ngữ nói.
+ Phạm vi dữ liệu lớn, tính hướng đối tượng tường minh.
+ Khả năng lập trình đa nền tảng.
2. Mơi trường IDE để lập trình python?
Hiểu đơn giản như thế này nhé! Con người chỉ hiểu ngơn ngữ của người (lời nói,
cử chỉ, hành vi, chữ viết, …). Máy tính chỉ hiểu ngơn ngữ máy (dạng nhị phân, tương ứng
với trạng thái có (1) và khơng có (0) dịng điện đi qua một dãy song song 8 mạch điện, 0
hoặc 1 gọi là 1 bit, mỗi chữ viết của con người tương ứng 8 bit = 1 byte). Vậy muốn con
người giao tiếp với máy tính thì cần có một đối tượng trung gian làm “phiên dịch” gọi
là một trình biên dịch (hoặc trình thơng dịch – khái niệm mới xuất hiện gần đây).
Về cơ bản, trình biên dịch và trình thơng dịch đều có chung nhiệm vụ “phiên dịch”
tức là chuyển đổi “ngôn ngữ” của con người thành “ngôn ngữ máy”. Điểm khác dễ hiểu


Căn bản ngơn ngữ lập trình python

2

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

nhất là, trình biên dịch sẽ dịch tồn bộ chương trình trước khi thực thi (tức gửi cho CPU
thực thi), cịn trình thơng dịch sẽ dịch và thực thi tuần tự từng câu lệnh từ trên xuống
dưới. Do vậy, trình thơng dịch sẽ mất nhiều thời gian hơn trình biên dịch.
Ví dụ: chương trình có 1000 câu lệnh, ở câu lệnh thứ 1000 bị lỗi cú pháp, nếu trình
biên dịch nó sẽ báo lỗi ngay khi tiến hành thực thi nhưng trình thơng dịch nó vẫn thực thi
999 câu lệnh phía trước, đến câu lệnh thứ 1000 nó mới báo lỗi.
Và một trình biên dịch/thông dịch tối thiểu cần 3 thành phần sau:
- Một trình soạn thảo: để “diễn đạt” những “suy nghĩ, chỉ thị” của con người cho

máy tính, ta gọi là mã nguồn (source code).
- Một trình dịch (compiler): Để dịch mã nguồn của con người sang hệ nhị phân
cho máy tính hiểu.
- Một trình sốt lỗi (debugger): giúp tìm ra lỗi “diễn đạt” của con người trong mã
nguồn khi dịch sang ngôn ngữ máy.
Một công cụ bao gồm cả 3 thành phần như trên gọi là mơi trường lập trình IDE
(integreted development environment, dịch nôm na là môi trường phát triển tích hợp).
Một NNLT có thể có nhiều mơi trường lập trình IDE khác nhau, các IDE này ln
đảm bảo những cấu trúc của NNLT và mỗi IDE khác nhau sẽ có thêm những ưu điểm
khác nhau. Ví dụ: NNLT Pascal có các IDE như Turbo Pascal, Borland Pascal, Pascal for
Dos, Pascal for win, Free Pascal, Lazarus Pascal, olalaPascal, …; NNLT C++ có các IDE
như Turbo C++, Borland C++, Code::Blocks, DevC++, Visual C++, Eclipse C++, ….
Python có rất nhiều mơi trường lập trình IDE và rất đa dạng hiện nay như Python 3.x.x
Shell, Sublime Text 3, notepad++, PyCharm,… tùy vào sở thích của từng lập trình viên
mà chọn IDE phù hợp.
2.1. Hướng dẫn cài đặt Python 3.x.x Shell
a. Tải phần mềm Python 3.x.x Shell
Địa chỉ: />Chú ý quan trọng: Python hiện nay có hai phiên bản là 2.x và 3.x; phiên bản 2.x
đã dừng hỗ trợ vào 01.01.2020; phiên bản 3.x thì vẫn tiếp tục được phát triển với nhiều
thư viện. Việc chọn lựa phiên bản 2.x hay 3.x cũng có những sự khác biệt về cách trình
bày câu lệnh và khả năng hỗ trợ lập trình đa nền tảng khác nhau.

(Hình trên là tải python 3.10.0 cho hệ điều hành windows)

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python


3

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

b. Cài đặt Python 3.x.x
(.x.x là phiên bản phát triển hiện tại, ví dụ trong hình là phiên bản 3.10.0, các phiên
bản này thường xuyên được cập nhật theo thời gian do nhà phát triển cung cấp; phiên
bản sau ln được tích hợp thêm điểm mới).
Khi tải được tập tin có chữ “python-3.x.x.exe” về, hãy nhấp đôi chuột vào tập tin
đề cài đặt. Việc cài đặt rất đơn giản và nhanh chóng. Hãy để tất cả các option mặc định
và chạy chương trình.
Khi cài đặt xong trên menu Start của Windows có icon như hình:

(Hình trên là python 3.10 cho hệ điều hành windows 64bit)
+ IDLE (Python 3.10 64-bit) là mơi trường lập trình kết hợp viết code thành các
tập tin *.py và viết lệnh thực thi ngay (trong chuyên đề này chỉ làm việc với môi trường
IDLE).
+ Python 3.8 (64-bit) là môi trường lập trình viết lệnh thực thi ngay (gọi là
interactive mode).
c. Giao diện của IDLE (Python 3.10 64-bit)
c.1. Giao diện interactive mode (viết lệnh thực thi ngay)

Trong cửa sổ bên trên chúng ta thấy có 2 phần chính:
(1)Thanh cơng cụ (menu): nó bao gồm rất nhiều, nhưng chỉ một số chúng sẽ được
sử dụng thường xuyên.
(2) Phần trung tâm soạn thảo lệnh: đây là nơi bạn viết code python ở chế độ chạy
lệnh trực tiếp (interactive mode) và xem kết quả thực thi chương trình (bao gồm kết quả
tính tốn và thông báo lỗi).
NGƯT Nguyễn Tấn Phong


- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

4

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

c.2. Giao diện coding mode (viết lệnh thành tập tin)
Từ giao diện interactive mode, hãy chọn File => New (hoặc Ctrl + N). Khi đó,
giao diện coding mode (viết lệnh thành tập tin) sẽ được mở như hình. Đây là giao diện
giúp lập trình viên sắp xếp các lệnh thành một tập tin *.py để thực thi tuần tự.

Hãy gõ những dòng lệnh như hình.
Bây giờ nhấn File => Save (hoặc Ctrl + S)

Gõ vào tên chương trình là ctdautien.py
Hãy nhấn phím F5 và xem kết quả ở cửa sổ interactive mode.

Hãy đặc biệt ghi nhớ là ấn F5 để dịch và chạy chương trình.
c.3/ Tìm hiểu “chương trình đầu tiên” có gì?
Hãy quan sát nội dung đoạn code mà bạn đã tạo như hình:
Câu lệnh trong python
Giải thích
Viết chú thích trong tập tin *.py; Các chú thích
chỉ để người dùng dễ hiểu, khơng phải là lệnh
thực thi của chương trình.
Khai báo biến ten, chờ nhận dữ liệu từ bàn phím

In ra dịng chữ: Xin chào bạn ….

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

5

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

PHẦN II: LẬP TRÌNH PYTHON CƠ BẢN
I. CÁC KIỂU DỮ LIỆU CƠ BẢN TRONG PYTHON
Python có các kiểu dữ liệu cơ bản sau:
Kiểu dữ
python
liệu cơ bản Từ khóa
Ví dụ
Phạm vi giá trị
-7;
8;
9;
125478

hạn, cấp phát động
Số ngun
int
2.56; -56.52

Vơ hạn, cấp phát động
Số thực
float
True; False
true/false
Lơ gíc
bool
‘abcd123EFG’
Vơ hạn, cấp phát động
Chuỗi kí tự str
Trong Python kiểu dữ liệu cơ bản có phạm vi giá trị rất lớn, nó có cấu trúc bộ nhớ
cho dữ liệu dạng động, khác hoàn toàn trong Pascal và C/C++ là dạng tĩnh. Hiểu đơn giản
là bộ nhớ chứa/lưu dữ liệu sẽ tự thay đổi phù hợp với giá trị mà nó nhận, bộ nhớ máy tính
càng lớn phạm vi giá trị trong python càng lớn.
II. KHAI BÁO BIẾN TRONG PYTHON
Thông thường các NNLT sẽ yêu cầu khai báo biến đi kèm với kiểu dữ liệu của biến
và kiểu dữ liệu có tính tĩnh trong suốt quá trình thực thi, nhưng Python thì cho phép khai
báo biến tùy thích ở bất kỳ vị trí nào mà người lập trình muốn, khơng cần phải khai báo
kèm kiểu dữ liệu, chương trình tự nhận diện kiểu dữ liệu theo giá trị mà nó đang nhận,
kiểu dữ liệu của biến là động, kể cả trong các thủ tục/hàm hoặc cấu trúc lặp.
Cú pháp: biến = <giá trị khởi tạo>
Ví dụ: a = 10 -> biến a là kiểu int
a = 10.0 -> biến a là kiểu float
a = '10' -> biến a là kiểu str

Ví dụ: Ở hình trên biến st thay đổi kiểu dữ liệu tính từ khi nó được nhận giá trị
mới.
Chú ý:
- Lệnh type(biến) để kiểm tra kiểu dữ liệu hiện tại của biến trong python.
- Tên biến được đặt theo qui tắc phải bắt đầu bằng chữ cái, khơng có khoảng trắng

và khơng trùng với từ khố; python phân biệt chữ cái in hoa và in thường.
Ví dụ: dongia, Dongia, donGia, … là các biến khác nhau.

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

6

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

III. PHÉP TOÁN, BIỂU THỨC VÀ CÂU LỆNH TRONG PYTHON
1. Phép “gán”
Trong python phép “gán” là tạo ra một giá trị mới cho một biến, dùng dấu “=” để
chỉ phép gán. Chú ý quan trọng: Trong python có phân biệt chữ hoa và thường của biến.
Ví dụ:
a = 10 → Gán số 10 là giá trị trong bộ nhớ của biến a
b = 20 → Gán số 20 là giá trị trong bộ nhớ của biến b
c = a + b → Gán kết quả phép tính a+b = 30 là giá trị trong bộ nhớ của biến c
Chú ý: Biến lần đầu tiên xuất hiện trong chương trình hoặc chương trình con thì
khi đó dấu “=” được hiểu là khai báo giá trị khởi đầu cho biến. Từ lần sau trở đi, dấu ‘=’
là phép gán.
2. Phép tốn:
a. Phép tốn số học:
Python
Phép tốn
Kí hiệu

Ví dụ
Cộng
+
3+5 -> 8
Trừ
3 – 5 -> -2
Nhân
*
3*5 -> 15
Chia
/
4/2 ->2.0
Chia nguyên
//
4//2->2
Chia dư
%
5%3 -> 2
Lũy thừa
**
2**3 ->8
b. Chuyển đổi kiểu dữ liệu/Ép kiểu trong Python
Python qui ước tất cả chữ số “0..9” được nhập vào từ bán phím mặc định là kiểu
chuỗi (tức là không thể thực hiện các phép tốn số học với giá trị đó), muốn thực hiện
được các phép tính thì phải chuyển dữ liệu (cịn gọi là ép kiểu).
Ép kiểu
Hàm chuyển
Ví dụ
thành xâu ký tự
str()

thành số nguyên

int()

thành số thực

float()

c. Các phép toán so sánh:
Đây là các phép toán mà giá trị trả lại là đúng hoặc sai. Nếu giá trị của biểu thức là
đúng thì nó nhận giá trị 1, ngược lại là sai thì biểu thức nhận giá trị 0. Nói cách khác 1 và
0 là giá trị cụ thể của 2 khái niệm "đúng", "sai". Mở rộng hơn C++ quan niệm một giá trị
bất kỳ khác 0 là "đúng" và giá trị 0 là "sai".
Python
Phép tốn
Kí hiệu
Ví dụ
Bằng nhau
==
3==4 -> 0
Khác nhau
!=
3!=4 ->1
Lớn hơn
>
3>4 -> 0
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng



Căn bản ngơn ngữ lập trình python

7

Lớn hơn hoặc bằng
Bé hơn
Bé hơn hoặc bằng

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

>=
<
<=

4>=4 -> 1
3<4 -> 1
3<=4 -> 1

d. Các phép tốn lơ gíc (luận lý):
Hai tốn hạng của loại phép tốn này phải có kiểu lơgic tức chỉ nhận một trong hai
giá trị "đúng" (được thể hiện bởi các số nguyên khác 0) hoặc "sai" (thể hiện bởi 0). Khi
đó giá trị trả lại của phép tốn là 1 hoặc 0 và được cho trong bảng sau:
Python
Phép tốn
Kí hiệu
Ví dụ

and
(3 > 1) and (7<2) -> 0

Hoặc
or
5 or (4 >= 6) -> 1
Không, phủ định
not
not (4 + 3 < 7) -> 1
2. Biểu thức:
Biểu thức là dãy kí hiệu kết hợp giữa các toán hạng, phép toán và cặp dấu () theo
một qui tắc nhất định. Các toán hạng là hằng, biến, hàm. Biểu thức cung cấp một cách
thức để tính giá trị mới dựa trên các tốn hạng và tốn tử trong biểu thức.
Ví dụ: (x + y) * 2 - 4 ; 3 - x + sqrt(y) ;
(-b + sqrt(delta)) / (2*a) ;
3. Câu lệnh đơn/ghép:
a. Lệnh đơn: là một câu lệnh trong python được thiết lập từ các từ khoá và các
biểu thức …
b. Lệnh ghép (hay khối lệnh): Một số câu lệnh được gọi là lệnh có cấu trúc, tức
bên trong nó lại chứa dãy lệnh khác.
Trong Python, những khối lệnh ghép sẽ được nhận biết thơng qua thụt lề. Đó là lý
do vì sao thụt lề trong Python vô cùng quan trọng, nếu bạn thụt hoặc thò nhầm là sẽ bị
báo lỗi ngay.

Quan trọng: chỉ dùng dấu “;” nếu các câu lệnh đó trong cùng một khối lệnh nhưng
viết trên cùng một dòng.
4. Các hàm tốn học có sẵn:
a. Một số hàm tốn học có sẵn trong Python
Python Ý nghĩa
Ví dụ
abs(x)
Giá trị tuyệt đối của x
x**2

Bình phương của x
x**0.5
Căn bậc 2 của x
round(x) Làm trịn đến số ngun gần nhất
b. Một số hàm tốn học trong module math
Mặc định, python chỉ có một số phép tốn và hàm tốn học cơ bản. Ngồi ra thư
viện (module) math có thêm nhiều hàm nâng cao thêm trên số.
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

8

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

Để dùng mudule math thì đầu chương trình phải import thư viện math vào. Cú
pháp: import math

IV. NHẬP XUẤT DỮ LIỆU MỀM
1. Khái niệm dữ liệu:
a. Khái niệm: Về cơ bản dữ liệu đối với một NNLT (Pyhton, C/C++, Pascal,
Scratch, …) được hiểu là những chữ, số và các ký tự đặc biệt có trên bàn phím.
Như vậy, NNLT sẽ có ba dạng dữ liệu cơ bản sau:
- Kiểu số: gồm số nguyên và số thực.
- Kiểu ký tự: là gồm 1 chữ (gọi là ký tự) nhìn thấy được trên bàn phím, bao gồm:
chữ cái thường, chữ cái in hoa, chữ số, ký tự đặc biệt (như dấu phẩy, dấu #, dấu cách, dấu
!, @, &, …). Một chữ thì là kiểu kí tự, nhiều ký tự là kiểu xâu kí tự.

- Kiểu lơ gíc: là kiểu dữ liệu dạng logic (thường viết là bool, chỉ có 2 giá trị là
True/False) dùng để xác định tính đúng hoặc sai của các phép tốn, gồm các phép toán so
sánh (>, >=, <, <=, ==, !=) và các phép toán quan hệ (and, or, not). Như vậy, kiểu lơ gíc
khơng thể nhập được từ bàn phím mà chỉ có thể nhận giá trị trong các phép toán logic.
Chú ý: Để đọc được dữ liệu ta bắt buộc phải khai báo “biến” nhớ thuộc kiểu dữ
liệu nào thì khi đó NNLT mới hiểu để xử lý (tất cả các ngơn ngữ lập trình phương thức
coding hiện nay đều tuân thủ nguyên tắc này)
b. Dữ liệu mềm (nhập/xuất chuẩn): Nếu dữ liệu được nhập trực tiếp từ bàn phím
(cịn gọi là đọc dữ liệu từ bàn phím) hoặc xuất ra màn hình để xem (cịn gọi là ghi dữ liệu
ra màn hình) thì gọi là thao tác vào/ra dữ liệu mềm (hay nhập/xuất chuẩn)
Ưu điểm: Thao tác nhanh gọn, giúp thử các chương trình nhanh chóng.
Nhược điểm: Dữ liệu sẽ bị mất sau khi trở về môi trường viết code.
Ví dụ: Viết chương trình nhập vào 5 số ngun từ bàn phím, xuất ra màn hình tổng
của 5 số đó?

Kết quả hiển thị ra màn hình:

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

9

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

c. Dữ liệu cứng: Nếu các dữ liệu được đọc vào từ một tập tin (file) hoặc xuất ra/ghi
vào một tập tin (file) thì gọi là dữ liệu cứng.

Ưu điểm: Dữ liệu không bị mất khi trở về màn hình viết code, chứa được các dữ
liệu lớn, lưu trữ được trên các thiết bị lưu trữ (ổ cứng, usb, …).
Nhược điểm: Phải nắm kỹ các thao tác và câu lệnh đọc/ghi dữ liệu.
Chú ý: Đối với các kì thi chọn học sinh giỏi dữ liệu vào/ra bắt buộc từ file.
2. Lệnh nhập/xuất chuẩn từ bàn phím/màn hình
Python
Thao tác
Lệnh
Ví dụ
Nhập từ bàn phím input('Chuỗi thơng báo') n = input()
Xuất ra màn hình
print(nội dung cần xuất)
print(n)
Trong Python, lệnh input() sẽ mặc định đọc vào là một giá trị dạng chuỗi. Do vậy,
muốn đọc vào dữ liệu dạng số ta phải dùng hàm ép kiểu.
Ví dụ:

Với câu lênh trên ta dùng hàm int() để chuyển chuỗi số '125' được nhập từ bàn
phím thành số ngun có giá trị là 125. Nếu ta nhập một kí tự nào khác các chữ số từ '0'
đến '9' lệnh trên sẽ báo lỗi sai kiểu.

V. CÂU LỆNH ĐIỀU KIỆN if: elif: else:
Python
Dạng
thức if
Cú pháp
If thiếu
if điều kiện:
lệnh/khối lệnh
If đủ

if điều kiện:
lệnh/khối lệnh
else:
lệnh/khối lệnh
If rẽ nhánh if điều kiện:
lệnh/khối lệnh
elif điều kiện:
lệnh/khối lệnh

else:
lệnh/khối lệnh

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

10

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

Ví dụ: Viết chương trình xếp loại học lực học kỳ của học sinh dựa trên điểm thi
giữa kỳ, điểm thi cuối kỳ được nhập từ bàn phím.
Điểm trung bình mơn học kỳ = (2*điểm thi cuối kỳ + điểm thi giữa kỳ)/3;
- Nếu Điểm trung bình mơn học kỳ >= 8.0 thì xếp loại “Hồn thành tốt”.
- Nếu 5.0 <= Điểm trung bình mơn học kỳ < 8.0 thì xếp loại “Hồn thành”.
- Nếu Điểm trung bình mơn học kỳ < 5.0 thì xếp loại “Có nội dung chưa hồn
thành”.

*/Code Python

VI. CÂU LỆNH LẶP
Python
Giải thích
Dạng
lặp
Cú pháp
for <biến> in <danh sách tuần tự>: <biến> là một biến tuỳ ý, dùng để nhận
lệnh/khối lệnh
lần lượt các phần tử trong Xác định for <biến> in <danh sách tuần tự>: tuần tự>;
Ví dụ:
lệnh/khối lệnh
số lần lặp
else:
lệnh/khối lệnh
while <biểu thức điều kiện>:
lệnh/khối lệnh
Không xác while <biểu thức điều kiện>:
định số lần
lệnh/khối lệnh
lặp
else:
lệnh/khối lệnh

<biểu thức điều kiện> là một biểu
thức so sánh chỉ trả về True hoặc False.
Ví dụ:


Trong python, cấu trúc lặp có thêm trường hợp rẽ nhánh else. Điểm mạnh của
python là với cấu trúc lặp for có một phạm vi và điều kiện thực hiện lặp rất lớn và tiện
dụng. Trong tài liệu chuẩn python, cú pháp for được mô tả như sau:
for variable_1, variable_2, .. variable_n in sequence:
# for-block
else:
# else-block

Với mô tả như trên thì sau for có rất nhiều biến điều khiển và “sequence” được
hiểu là một dãy tuần tự/trình tự có cấu trúc, nó có thể là một chuỗi, một dãy số, một danh
sách, một khoản tuần tự, ….
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

11

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

*/Lệnh dừng vòng lặp: Hầu hết các NNLT hiện nay điều có câu lệnh để “dừng”
(còn gọi là “bẻ gãy”) một vòng lặp mà khơng cần điều kiện kết thúc vịng lặp xảy ra.
Python
Dạng
lệnh
Cú pháp
Bẻ gãy vòng lặp break
1. Một số dãy tuần tự (sequence) của lệnh for

a. Hàm range()
Cú pháp: for i in range(giá trị đầu, giá trị cuối, bước nhảy):
Số lần lặp <= giá trị cuối – (giá trị đầu + bước nhảy)
Ví dụ: range(5) -> lặp 5 lần (khuyết giá trị đầu và bước nhảy, mặc định là 0)
range(1,5) -> lặp 5-(1+0) = 4 lần.
range(1,5,2) -> lặp 5 – (1+2) = 2 lần.

b. Lặp với số phần tử của một chuỗi, list hay tuple
Cú pháp: for i in chuỗi:
[phần tử 1,phần tử 2, …,phần tử n]:
(giá trị 1,giá trị 2, …,giá trị n):
Số lần lặp = số phần tử có trong list hay tuple
Ví dụ: [1,’1’,’teo’,’ti’,[1,5]] -> lặp 5 lần

Chú ý: Trong Python, kiểu danh sách list và tuple giống nhau là các phần tử có
kiểu dữ liệu tùy ý, khác nhau là phần tử trong list thì thay đổi giá trị được, tuple thì khơng
thay đổi được.
2. Một số ví dụ về vịng lặp for và while trong python
Ví dụ 2.1: Viết chương trình nhập vào một số nguyên dương n. Xuất ra màn hình
tổng các số nguyên chẵn trong phạm vi từ 0 đến n?
Chẳng hạn: Nhập n = 10; Xuất ra màn hình: 30
Nhập n = -10; Xuất ra màn hình: -30
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

12


Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

*/Code Python
Cách 1: Dùng bước nhảy trong hàm range()

Cách 2: Dùng phép toán chia lấy dư (%)

Ví dụ 2.2: Viết chương trình nhập vào một số ngun n. Tính giai thừa của n?
Cơng thức tính giai thừa n: n! = 1.2.3…n
*/Code Python

Bây giờ ta thử với n = 3 và n = 100 nhé!
Ví dụ 2.3: Viết chương trình nhập vào một chuỗi các số nguyên, xuất ra màn hình
các số nguyên được tách từ chuỗi? Chẳng hạn: Nhập vào s = -12 0 25 -36, xuất ra màn
hình các số: -12, 0, 25, -36.
*/Code python

Chú ý: Ở dòng lệnh thứ 4, biến điều khiển vòng lặp i tự nhận là dữ liệu kiểu chuỗi
theo sequence là st.split(‘ ’). Do vậy ở dòng lệnh số 5, ta phải dùng hàm ép kiểu int(i) để
chuyển chuỗi số của i thành số nguyên có giá trị trong chuỗi i. Ta cũng có thể dùng hàm
eval(i) thay cho int(i).
Ví dụ 2.4: Viết chương trình nhập vào hai số nguyên a và b. Xuất ra màn hình
UCLN của hai số a, b?
*/Code python

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng



Căn bản ngơn ngữ lập trình python

13

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

VII. MỘT SỐ KIỂU DỮ LIỆU CĨ CẤU TRÚC
Kiểu dữ liệu có cấu trúc hay còn gọi là cấu trúc dữ liệu (CTDL) là một kiểu dữ liệu
mà các đối tượng dữ liệu của nó được tổ chức theo một cấu trúc nhất định và có trình tự.
Tổ chức cấu trúc phổ biến nhất là một dãy tuần tự của các phần tử.
Trong phần này chỉ trình bày 2 kiểu dữ liệu thường dùng với học sinh bậc THCS
là chuỗi (string) và danh sách (list); cách vận dụng list như mảng một chiều và hai chiều
trong chương trình THCS.
1. Kiểu dữ liệu chuỗi (Xâu kí tự)
Trong python, chuỗi hay xâu kí tự được hiểu là một tập hợp nhiều ký tự tính từ trái
qua phải. Để khai báo dữ liệu kiểu chuỗi, ta thực hiện theo cú pháp sau:
Tên_biến_chuỗi = 'giá_trị_chuỗi '
Lưu ý: Trong python dùng các cặp dấu nháy đơn ' ' và cặp dấu nháy kép " " để xác
định giá_trị_chuỗi
Ví dụ: Hai chuỗi s1, s2 dưới đây có giá trị như nhau trong python.

a. Chỉ số phần tử chuỗi (indexing)
Trong Python, các kí tự tạo nên chuỗi sẽ được đánh chỉ số từ 0 tới n – 1 hoặc -n tới
-1 từ trái qua phải, với n là số kí tự có trong chuỗi.
Ví dụ: Chuỗi s1 ở trên có 13 ký tự, nhưng chỉ số các kí tự được đánh như sau:
ns =
s
i
n

h
n
a m
2 0 0 8
1
2
3
4
5
6 7 8 9 10 11 12
Chỉ số 0
(index) -13 -12 -11 -10
-9
-8
-7 -6 -5 -4 -3 -2 -1
Muốn truy xuất đến phần tử nào của chuỗi ta dùng chỉ số của nó.
Ví dụ:

Quan trọng: Chuỗi trong Python là bất biến, có nghĩa nó không thể thay đổi giá
trị bằng phép gán giá trị mới cho từng phần tử trong chuỗi.
Ví dụ: Nếu ta đổi kí tự ‘a’ thành ‘k’ của chuỗi s1 bằng phép gán, thì sẽ báo lỗi.

- Để duyệt qua chuỗi ta dùng vịng lặp.
Ví dụ:
b. Cắt chuỗi
Cắt chuỗi là tạo ra một chuỗi mới là bản sao của chuỗi ban đầu.
Cú pháp: biến_chuỗi[vị trí bắt đầu : vị trí dừng : bước nhảy]

NGƯT Nguyễn Tấn Phong


- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

14

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

Ví dụ:

c. Tốn tử chuỗi trong python
Phép toán + Gộp chuỗi
Phép toán * Lặp chuỗi
d. Một số hàm thường dùng của kiểu chuỗi trong python
Cú pháp: tên_hàm(chuỗi)
len(chuỗi)
Độ dài của chuỗi
max(chuỗi)
eval(chuỗi)
Tính chuỗi biểu thức tốn học min(chuỗi)
sorted(chuỗi)
sorted(chuỗi, reverse = True)
Ví dụ:

Kí tự lớn nhất trong chuỗi
Kí tự bé nhất trong chuỗi
Sắp xếp chuỗi tăng dần
Sắp xếp chuỗi giảm dần


e. Một số phương thức thường dùng của kiểu chuỗi trong python
Cú pháp: chuỗi.phương_thức()
chuỗi.split(‘kí tự’) Tách chuỗi thành các chuỗi con tại ‘kí tự’
chuỗi.strip()
Bỏ khoảng trắng trước và sau chuỗi
chuỗi.upper()
Chuyển chuỗi thành chữ in hoa
chuỗi.lower()
Chuyển chuỗi thành chữ thường
chuỗi.replace(s1,s2) Thay chuỗi con s1 bằng chuỗi con s2 trong chuỗi
chuỗi.count(s1)
Đếm số chuỗi con s1 có trong chuỗi
chuỗi.find(s1)
Cho biết vị trí đầu tiên chuỗi con s1 trong chuỗi
chuỗi.index(‘kí tự’) Cho biết chỉ số của ‘kí tự’ trong chuỗi
Chú ý: - Với kiểu dữ liễu chuỗi trong python ta có thể truy cập/xem bằng cách
nhập chuỗi. khi đó các phương thức sẽ hiện ra để ta chọn (như hình).

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

15

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

f. Thay đổi giá trị chuỗi trong python

Không thể gán một phần tử của chuỗi bằng một giá trị khác nhưng ta có thể thay
đổi chuỗi hoặc một phần tử của chuỗi bằng cách gán chính chuỗi đó với bản sao của nó
sau khi kết hợp các tốn tử, hàm và phương thức.
Ví dụ 1:
Kết quả xuất ra màn hình:

Ví dụ 2: Nhập một chuỗi từ bàn phím. Hãy xuất ra màn hình chuỗi đã loại bỏ các
khoảng trắng thừa?
*/Code Python
Kết quả chạy code:

2. Mảng một chiều (hay danh sách List)
Tương tự như chuỗi kí tự, mảng một chiều hay danh sách (List) là một tập hợp gồm
nhiều phần tử có thứ tự theo chỉ số (index) từ trái sang phải.
Điểm khác của List và chuỗi:
So sánh
Xâu kí tự (str)
Danh sách (list)
Giống nhau Là một tập hợp gồm nhiều phần tử có thứ tự theo chỉ số (index) từ trái
sang phải.
Khác nhau
- Mỗi phần tử chỉ chứa 1 ký tự (1 - Mỗi phần tử có thể là số, một kí
chữ)
tự, một chuỗi hoặc một list hoặc
tuple.
- Có thể thay đổi giá trị bằng phép
- Không thể thay đổi giá trị bằng gán.
phép gán.
Để khai báo dữ liệu kiểu list, ta thực hiện theo cú pháp sau:
Tên_biến_list = [phần tử 0, phần tử 1,…, phần tử n]

Hoặc
Tên_biến_list = [giá trị khởi tạo]*số phần tử
Ví dụ: a=[] -> khai báo một list có tên là a rỗng
b=[1,2, ' teo', ' ti',[12,25]] -> khai báo list có tên b chứa nhiều phần tử
1 2 teo ti [12,25]
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

16

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

c = [5]*10 -> khai báo list c có 10 phần tử là số 5
5 5 5 5 5 5 5 5 5 5
Chú ý:
- Một list mà tất cả các phần tử của nó chỉ chứa các số thường được gọi là dãy số.
Ví dụ: a = [1,2,8,-20,6,7] -> list a được gọi là một dãy số.
- Muốn truy xuất đến phần tử nào của chuỗi ta dùng chỉ số của nó.
Ví dụ: b=[1,2, ' teo', ' ti',[12,25]]
Truy xuất: b[1]-> 2; b[2]-> ' teo'; b[4]-> [12,25]
- Để duyệt qua chuỗi ta dùng vòng lặp.

- Để thay đổi giá trị của một phần tử trong list, ta dùng phép gán:
b[2] = 'cun' -> thay giá trị 'teo' bằng giá trị 'cun'.
- Các hàm thường dùng của list: list(), len(), max(), min(), sorted(), sum(), ….
- Các phương thức thường dùng của list: append(), insert(), reverse(), extend(),

count(), index(),remove(), pop(), sort(), clear().
Phân biệt hàm và phương thức của list:
+ Hàm trả về một giá trị nào đó cần tìm kiếm trong list và khơng làm thay đổi list.
Cú pháp: tên_hàm(tên_list)
+ Phương thức làm thay đổi một hoặc nhiều giá trị trong list khác với list ban đầu.
Cú pháp: tên_list.tên_phương_thức()
VIII. DỮ LIỆU KIỂU FILE TEXT
1. Vai trò kiểu tệp
Tất cả các dữ liệu có kiểu: int, float, str, list, … đều được lưu trữ ở bộ nhớ trong
(RAM) và do đó dữ liệu sẽ bị mất khi tắt máy. Với một số bài toán, dữ liệu cần được lưu
trữ để xử lí nhiều lần và với khối lượng lớn cần có kiểu dữ liệu tệp (file).
Kiểu dữ liệu tệp có những đặc điểm sau:
- Được lưu trữ lâu dài ở bộ nhớ ngồi (đĩa từ, CD,…) và khơng bị mất khi tắt
nguồn điện;
- Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung
lượng đĩa.
2. Tệp văn bản
Tệp văn bản là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII. Trong
tệp văn bản, dãy kí tự kết thúc bởi nhóm kí tự xuống dịng (#32) hay kí tự kết thúc tệp.
Các dữ liệu dạng văn bản như sách, tài liệu, bài học, giáo án, các chương trình nguồn viết
bằng ngôn ngữ bậc cao,... thường được lưu trữ dưới dạng tệp văn bản.
Hai thao tác cơ bản đối với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp.
Thao tác đọc/ghi với tệp được thực hiện với từng phần tử của tệp.
Để có thể thao tác với kiểu dữ liệu tệp, người lập trình cần tìm hiểu cách thức mà
ngơn ngữ lập trình cung cấp, gồm 3 vấn đề chính:
(1) Khai báo biến kiểu file (để liên kết với tên file).
(2) Mở file để: + Đọc dữ liệu;
+ Ghi dữ liệu;
(3) Đóng file.
NGƯT Nguyễn Tấn Phong


- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

17

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

3. Thao tác với file văn bản (text) trong python
3.1. Tạo ra một file văn bản để lưu dữ liệu trong python như thế nào?
Bước 1: Từ môi trường soạn thảo mã nguồn của Python => New (hoặc Ctrl + N)
=> Nhập dữ liệu vào ô soạn thảo => Save (hoặc Ctrl + S)
Bước 2: Lưu tệp với tên do người dùng đặt kèm theo phần mở rộng qui định.
Ví dụ: Tạo một file có tên UCLN.INP chứa hai số nguyên cách nhau một khoảng
trắng.
UCLN.INP UCLN.OUT
2 10
3.2. Mở một file để xem dữ liệu
Để mở một file văn bản ta thực hiện như sau: Từ môi trường soạn thảo mã nguồn
của Python => Open (hoặc Ctrl + O) => Chọn file cần mở ra xem ở trong hộp thoại.
Chú ý: Trong thi HSG môn tin, nội dung dữ liệu của file vào và ra sẽ được cho
trước trong đề. Thí sinh dự thi tự tạo file dữ liệu vào và viết lệnh để NNLT tạo file dữ liệu
ra.
Ví dụ: Đề thi HSG tỉnh Lâm Đồng

3.3. Thao tác với file văn bản
a) Biến file
Là một “tên” do người dùng đặt để lưu địa chỉ của file (tương tự các biến có kiểu

dữ liệu khác).
Ví dụ: f, f1, fi, fo, …
b) Mở tệp
Để có thể đọc và ghi một file thì mở file là cơng việc đầu tiên. Python cho phép
chúng ta thực hiện điều đó với hàm open().
Cú pháp: <tên biến file> = open('tên file.mở rộng',mode)
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

18

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

Trong đó:
- 'tên file.mở rộng' là tên của tập tin cần mở.
- mode quy định cách thức mà tập tin được mở để thao tác đọc hoặc ghi. Nếu ghi
là 'w' thì mở file mới để ghi dữ liệu, bỏ qua không ghi hoặc ghi 'r' là mở để đọc dữ liệu.
Ví dụ:
fi = open('UCLN.INP') -> chỉ định biến fi mở file có tên UCLN.INP để đọc dữ liệu.
fo = open('UCLN.OUT','w') -> chỉ định biến fo mở file có tên UCLN.OUT để ghi dữ liệu.
c) Lệnh đọc dữ liệu từ file vào biến nhớ
Cú pháp: <tên biến nhớ> = <tên biến file>.readline().split()
Ví dụ:
fi = open('UCLN.INP')
a,b = map(int,fi.readline().split())
print(a)

print(b)
Chú ý:
- Chỉ lệnh .split() là chỉ thị đọc giá trị trong file cho đến khi gặp khoảng trắng thì
gán giá trị đọc đó vào một biến. Nếu chỉ có 1 số thì khơng dùng chỉ lệnh .split()
- Bất kỳ giá trị nào đọc từ bàn phím hay đọc từ file dạng text, ngôn ngữ python đều
mặc định gán cho kiểu chuỗi str. Nên muốn dùng dữ liệu đọc lên từ file là dạng số (để
tính tốn được) thì phải dùng hàm chuyển dữ liệu về số. Có 3 hàm cơ bản để chuyển về
dạng số là int(), float() và eval().
Chẳng hạn:
fi = open('UCLN.INP')
a,b = fi.readline().split() #lệnh đọc dữ liệu từ file lên cho biến a và b
a,b=int(a), float(b) #chuyển a thành số nguyên, b thành số thực
print(a)
print(b)
- Để chuyển một nhóm nhiều giá trị cùng kiểu (ví dụ là chữ số) về cùng một kiểu
số (int, float) ta dùng hàm map(kiểu số cần chuyển, bộ dữ liệu có cấu trúc)
Chẳng hạn:
a,b = map(int,fi.readline().split()) # đọc 2 chữ số chuyển thành int và gán cho biến
a và b
a = list(map(int,fi.readline().split())) # đọc tất cả các chữ số trên 1 dòng chuyển
thành int và gán vào mảng một chiều a.
d) Lệnh ghi dữ liệu từ biến nhớ vào file
Cú pháp: <tên biến file>.write(‘nội dung hoặc giá trị cần ghi’)
hoặc
print(nội dung hoặc giá trị cần ghi, file = <tên biến file>)
Ví dụ:
fo = open('UCLN.OUT','w')
fo.write(str(a))
print(a,file=fo)
Chú ý: - Nếu ghi vào file bằng lệnh fo.write() thì dữ liệu là số phải dùng hàm str()

chuyển dữ liệu số về chuỗi. Nếu dùng lệnh print() thì khơng cần chuyển nhưng phải thêm
chỉ thị file=fo.
- Muốn ghi xuống dòng phải thêm chỉ thị \n.
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

19

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

e) Đóng tệp
Sau khi làm việc xong với tệp cần phải đóng tệp. Việc đóng tệp là đặc biệt quan
trọng sau khi ghi dữ liệu, khi đó hệ thống mới thực sự hồn tất việc ghi dữ liệu ra tệp.
Thủ tục đóng tệp có dạng:
<biến tệp>.close()
Ví dụ
fi.close();
fo.close();
Ví dụ: Viết chương trình giải phương trình bậc nhất ax + b = 0.
*/Cách giải phương trình bậc nhất ax+b=0 như sau:
+ Nếu a = 0 và b = 0 thì phương trình vơ số nghiệm.
+ Nếu a = 0 và b ≠ 0 thì phương trình vơ nghiệm.
𝑏
+ Nếu a ≠ 0 thì phương trình có một nghiệm là x = −
𝑎
- Dữ liệu đọc vào từ file: PTBN.INP

+ Dòng đầu tiên chứa hai số nguyên a và b, cách nhau một khoảng trắng.
- Dữ liệu ghi ra file: PTBN.OUT
+ Dòng đầu tiên ghi kết quả là nghiệm tìm được.
PTBN.INP
PTBN.OUT
00
vơ số nghiệm
5 10
-2
**/Hướng dẫn chương trình mẫu:
Lần lượt thực hiện các thao tác sau để giải bài toán với dữ liệu đọc file:
Thao tác 1: Tạo một file dữ liệu đầu vào có tên là PTBN.INP
Bước 1. Từ môi trường viết lệnh của Python => New (hoặc Ctrl + N) => Nhập dữ
liệu vào ô soạn thảo (chú ý: các số là giá trị của biến phải cách nhau một khoảng trắng)
=> Save (hoặc Ctrl + S)
Bước 2. Lưu tệp với tên do người dùng đặt kèm theo phần mở rộng qui định.

Đến đây, đã tạo được file dữ liệu đầu vào PTBN.INP. Các bài tập khác làm tương tự.
NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

20

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

Thao tác 2: Tạo file bài làm (source code) có tên là PTBN.py

Bước 1. Từ môi trường viết lệnh của Python => New (hoặc Ctrl + N) => Save
(hoặc Ctrl + S) => Viết hồn chỉnh code để giải bài tốn.

Bước 2. Nhấn Ctrl + S để lưu trước khi chạy.
Bước 3. Viết code và chạy thử để giải bài toán.
Code mẫu tham khảo:

Thao tác 3: Kiểm tra lại kết quả bài làm được ghi trong file PTBN.OUT
Bước 1. Từ môi trường viết lệnh của Python => File => Open (hoặc Ctrl + O) =>
mở file đã lưu trên đĩa (như hình):

NGƯT Nguyễn Tấn Phong

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

21

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

Kiểm tra kết quả từ file được mở ra:

- - HẾT - -

MỘT SỐ HÀM TÍCH HỢP SẴN TRONG PYTHON
Tên
abs()
input()

int()
float()
eval()
str()
isinstance()
format()
bin()
oct()
hex()
chr()

Cơng dụng
Trả về giá trị tuyệt đối của một số
Đọc từ bàn phím và trả về chuỗi
Trả về số nguyên từ số hoặc chuỗi
Trả về số thập phân từ số, chuỗi
Tính giá trị một biểu thức
Chuyển đối tượng đã cho thành chuỗi
Kiểm tra kiểu dữ liệu đối tượng (int,
float, str, list)
Trả về representation được định dạng
của giá trị
Chuyển số nguyên sang chuỗi nhị
phân
Chuyển số nguyên sang chuỗi bát
phân
Chuyển số nguyên sang chuỗi thập
lục phân
Trả về một ký tự có mã code
Unicode


NGƯT Nguyễn Tấn Phong

Ví dụ
abs(-7) -> 7
int('12') -> 12; int(3/2) ->1
float('2.3') -> 2.3; float(3/2) -> 1.5
eval('3+5*2-5/2') -> 10.5
str(15) -> '15'
isinstance(2,int) -> True
format(123.446, ".2f")
bin(15) -> '0b1111'
oct(10) -> '0o12'
hex(10) -> '0xa'
chr(65) -> A

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng


Căn bản ngơn ngữ lập trình python

ord()
len()
range()
list()
max()
min()
round()
sum()
pow()

sorted()
reversed()
open()
type()
print()

22

Tài liệu bồi dưỡng học sinh giỏi tin học bậc THCS

Trả về mã code Unicode của một ký
tự
Trả về độ dài của đối tượng (list, str)
Trả về list số nguyên từ số bắt đầu
đến số kết thúc -1
Tạo list trong Python (list, str)
Trả về phần tử lớn nhất (list, str)
Trả về phần tử nhỏ nhất (list, str)
Làm trịn số thập phân
Tính tổng của 2 đối tượng, trong đó
phải có 1 đối tượng là list(int,float)
Trả về x mũ y
Trả về list được sắp xếp
Trả về iterator đảo ngược của một
dãy
Trả về đối tượng File
Trả về kiểu đối tượng
In đối tượng được cung cấp

ord('A') -> 65

len('asd4') -> 4
range(1,5) ->1, 2, 3, 4
range(1,5) -> [1,2,3,4]

MỘT SỐ HÀM TỐN HỌC TRONG MODULE MATH
Muốn sử dụng thì cần viết lệnh import math trước khi dùng đến lệnh
Ví dụ:

Tên
math.pi
math.sqrt(x)
math.floor(x)
math.ceil(x)
math.trunc(x)
math.factorial(n)
math.gcd(a,b)
math.sin(x)
math.cos(x)
math.tan(x)
math.asin(x)
math.acos(x)
math.atan(x)

NGƯT Nguyễn Tấn Phong

Cơng dụng
Số  (3.141592…)
Căn bậc 2 của x
Làm trịn xuống
Làm tròn lên

Bỏ phần thập phân của số thực x
n! = 1.2..n
Ước chung lớn nhất của a và b
Các hàm lượng giác

Ví dụ

- Trường THCS Đồng Nai, huyện Cát Tiên, tỉnh Lâm Đồng



×