Tải bản đầy đủ (.docx) (48 trang)

Đề cương luyện hsg tin học Lập trình 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 (2.56 MB, 48 trang )

ĐỀ CƯƠNG ÔN LUYỆN HỌC SINH GIỎI
MÔN TIN HỌC
A. LÝ THUYẾT PYTHON CƠ BẢN
BÀI 1. HIỂN THỊ KẾT QUẢ TRÊN PYTHON
1. Câu lệnh hiển thị kết quả ra màn hình
Để in thơng tin ra màn hình, ta dùng lệnh Print
ví dụ: print(“Chào bạn”)
2. Hiển thị nhiều thông tin
Bên cạnh chuỗi kí tự, hàm print cũng có thể in sớ nguyên lẫn số thập phân.
Python sẽ tự động thêm dấu khoảng trắng vào giữa các thông tin cần in. Một biến sớ
cũng được xem là một thơng tin, và hồn tồn có thể ghép vào câu lệnh print theo
cách như trên. Một ví dụ như sau:

3. Hiển thị với kí tự phân cách
4. Hiển thị với kí tự kết thúc
5. Hiển thị với sớ thập phân

* Hàm round để làm trịn số thập phân, kết quả sẽ là a=3.24.


BÀI 2. NHẬP DỮ LIỆU VÀ KIỂU DỮ LIỆU
1. Khai báo biến, gán giá trị:
Trong Python, các biến không cần phải khai báo khi gán giá trị trực tiếp:
Kết quả:
* ‘\n’ để xuống hàng trong câu lệnh print, có thể để trong cặp dấu nháy đơn
hoặc nháy kép.
Lưu ý trong Python có phân biệt chữ hoa-thường, ví dụ hai biến a và A trong
chương trình trên.
2. Nhập giá trị cho biến từ bàn phím
Để nhận giá trị từ bàn phím ta cần dùng câu lệnh input(“Thông báo”). Khi
nhập giá trị từ bàn phím, đới với sớ nguyên hoặc sớ thực ta cần ép kiểu cho biến, vì


mặc định khi khơng ép kiểu thì giá trị nhập vào được Python hiểu là kiểu chuỗi.
Ví dụ:
Kết quả:

Lưu ý, mỗi câu lệnh print sẽ tự động xuống hàng, nên các câu lệnh trong
chương trình trên khi thêm kí hiệu ‘\n’ đã tạo ra khoảng cách khá xa giữa các hàng,
việc này là không cần thiết.
3. Các phép toán trong Python:
Áp dụng cho số
Tên
Kí hiệu
Ngun
Cộng
+
x
Trừ
x
Nhân
*
x
Chia sớ thực
/
x
Chia lấy phần
nguyên
//
x
Chia lấy phần dư
%
x

Phép mũ
**
x
Ví dụ:

2

Áp dụng cho số thực
x
x
x
x


Kết quả:

3


4. Xử lý lỗi nhập liệu

Để xử lý cho trường hợp người dùng nhập vào chuỗi, hoặc gọi chung là giá
trị số không hợp lệ, kĩ thuật đơn giản nhất là sử dụng câu lệnh try except, như
chương trình ví dụ sau đây:
Trong đoạn chương trình trên, Python sẽ cớ gắng chuyển đổi giá trị chuỗi
nhập vào sang số nguyên và gán nó vào biến a. Trong trường hợp quá trình này
thất bại (do dữ liệu khơng hợp lệ), phần except sẽ được thực thi và a có giá trị là
0. Ngược lại, nếu việc chuyển đổi thành công, phần except sẽ không được thực
thi.



BÀI 3. CÂU LỆNH ĐIỀU KIỆN IF
Cú pháp:

Sau câu lệnh if..else, các câu lệnh nằm trong nó phải được thụt vào một kí
tự tab.
Tuỳ vào chương trình mà có thể có else hoặc không có else, các câu lệnh
if..else cũng có thể lồng vào cho nhau, điều kiện là những phép so sánh:

Ví dụ:

5


Bài tập
1.Nhập một sớ từ bàn phím, in ra kết quả đó là số chẵn hay số lẻ.

6


7


BÀI 4. CÂU LỆNH FOR
CÚ PHÁP:
for <biến đếm> in range(số cận dưới, số cận trên): <câu lệnh>
ví dụ:

Kết quả sẽ in ra màn hình các sớ từ 0 đến 9 (đủ 10 sớ, n=10). Chỉ sớ bắt
đầu trong Python tính từ 0 chứ khơng phải tính từ 1.

V. CÂU LỆNH WHILE
CÚ PHÁP:
while <điều kiện>: <câu lệnh>
ví dụ:

Sự khác nhau giữa while và for: For xác định được số lần lặp trong vùng
range, còn while khi chưa biết phải lặp lại bao nhiêu lần, khi nào cịn thỗ điều
kiện thì câu lệnh vẫn được thực hiện.

Có một sự mới mẻ đối với vòng lặp while trong Python đó là bạn có thể kết
hợp thêm từ khóa ELSE để xử lý cho lần lặp khơng được thực hiện khi điều kiện
lặp false.
Ví dụ:

VI. MẢNG MỘT CHIỀU TRONG PYTHON:
Gán giá trị trực tiếp và truy xuất dữ liệu trong mảng
ví dụ:
8


Lưu ý: chỉ số mảng bắt đầu từ 0.
Nhập mảng từ bàn phím:
ví dụ:

Hoặc:

Chỉ sớ của mảng được tín từ 0, nên để in ra màn hình “Nhap phan tu thu 1
ta cần tăng i+1, đồng thời dữ liệu trong Input là kiểu chữ nên cần dùng str() để
chuyển. Nếu không ép kiểu cho biến temp, dữ liệu trong mảng a được hiểu là
chữ.

BÀI TẬP:

sử dụng while:

9


2. Viết chương trình đếm sớ lượng sớ chẵn trong mảng. Mảng được nhập
cớ định ở đầu chương trình.

sử dụng while:

3. Viết chương trình tìm sớ lớn nhất trong mảng. Mảng được nhập cớ định
ở đầu chương trình.

10


Sử dụng While:

4. Hãy thực hiện lại tất cả các yêu cầu trên, với mảng được nhập vào từ bàn
phím.

11


BÀI 5. THAO TÁC VỚI FILE TRONG PYTHON
1. Ghi dữ liệu ra File
Ví dụ:


kết quả

Trong ví dụ trên, các chữ dong 1, dong 2,.. được ghi vào file tes.txt, ta có
thể chỉ định đường dẫn cho file test.txt ví dụ D:/test.txt. Ban đầu chưa có file
test, chương trình sẽ tạo ra file test, cứ mỗi lần chạy nội dung trong file test sẽ bị
xoá và ghi lại nội dung mới. Ký hiệu “\n” là kí hiệu x́ng dịng.
Ký tự “w” cho phép mở chế độ mở file để ghi file, một số chế độ thường
dùng:
– "r": Chỉ mở file để đọc.
– "w": Chỉ mở file để ghi. Nếu file chưa tồn tại thì tạo file mới. Nếu file đã
có thì xóa nội dung file cũ và ghi nội dung mới.
– "a": Chỉ mở file để ghi thêm. Nếu file chưa tồn tại thì tạo file mới. Nếu
file đã có thì ghi thêm nội dung vào file.
2. Đọc dữ liệu từ File
ví dụ:

Hai câu lệnh mà chúng ta sẽ thường dùng để đọc giá trị từ file, được thống
kê lại như sau:
• read(n):Từ vị trí hiện tại,đọc n ký tự tiếp theo, vị trí mới tăng thêm n ký
tự.
12


• readline(): Từ vị trí hiện tại, đọc cho đến khi x́ng dịng, vị trí mới nằm ở
dịng tiếp theo.
3. Đọc mảng 1 chiều từ File
VD1. Ví dụ trong file test.txt có 2 dòng dữ liệu như sau:

Dòng 1 là gia trị của biến m, dòng 2 là giá trị của dãy số a, để thực hiện
việc lấy dữ liệu vào chương trình ta làm như sau:


file.readline() là đọc dữ liệu của 1 dịng, đến hết dịng thì con trỏ sẽ x́ng
dịng mới và khơng đọc nữa, file.read() là đọc dữ liệu của toàn bộ file test.txt.
Lưu ý, khi các con số được lấy từ file phải dùng int để chuyển về dạng sớ
thì mới có thể thực hiện tính toán, nếu không chuyển Python hiểu các con số đó
là kiểu chữ. Trong ví dụ trên, sau câu lệnh tại dòng thứ 4, biến data đã đọc được
dữ liệu từ file, tuy nhiên lúc này data được hiểu là ở dạng chữ, vịng lập for là để
chuyển từng chữ sớ trong data chuyển về dạng số nguyên và đưa vào biến mảng
a.
VD2. Tương tự như VD1, nhưng lúc này dãy sớ a ở dịng 1 và biến m nằm
ở dịng 2.

chương trình như sau:

13


Trong ví dụ trên ta thấy khi lấy giá trị cho n, ta dùng read chứ không phải
readline, là do trong file test.txt hiện giờ chỉ còn lại 1 giá trị duy nhất. Nếu trong
trường hợp cịn nhiều con sớ hơn, chương trình sẽ bị lởi, do đó để cho thuận tiện
ta nên dùng readline thay cho read.
Bài tập

14


15


BÀI 6. CHUỖI TRONG PYTHON

Chuỗi ký tự (string) là một kiểu dữ liệu rất hay dùng trong Python, một từ,
một đoạn văn bản đều là kiểu chuỗi. Chuỗi trong Python được đánh dấu bằng
dấu nháy đơn ’ hoặc nháy kép ", tuy nhiên nếu bắt đầu bằng dấu nào thì phải kết
thúc bằng dấu đấy. Ví dụ:
a=”xin chào”
b=’hello bạn’
Python hỡ trợ kiểu dữ liệu chuỗi có thể chứa đoạn văn với nhiều dịng bằng
cách bắt đầu và kết thúc ch̃i bằng 3 dấu nháy kép """. Ví dụ:

Ch̃i cũng có thể được xem là một mãng kí tự nên ta cũng có thể dùng for
để duyệt qua từng kí tự trong ch̃i, ví dụ:

Nới ch̃i
VD:

Ví dụ:
Nhập 2 ch̃i bất kỳ từ bàn phím, nới 2 ch̃i đó lại với nhau. In chuỗi kết
quả và cho biết chuỗi đó có bao nhiêu ký tự.

Các hàm cơ bản xử lý String trong Python
Hàm strip()
Hàm strip() loại bỏ bất kỳ khoảng trắng từ đầu hoặc ći cùng, ví dụ:
16


Hàm lower()

Hàm lower() trả về ch̃i chữ thường, ví dụ:

Hàm upper()


Hàm upper() trả về ch̃i chữ hoa, ví dụ:
Hàm replace()

Hàm replace() thay thế một ch̃i bằng một ch̃i khác, ví dụ:

Hàm split()

Hàm split() tách ch̃i thành các ch̃i con, ví dụ:

Kiểm tra sự tồn tại của chuỗi trong chuỗi
Để kiểm tra xem một cụm từ hoặc ký tự nào đó có trong một chuỗi hay
không, chúng ta có thể sử dụng các từ khóa in hoặc not in.
Ví dụ 1: kiểm tra xem cụm từ "python" có tồn tại trong chuỗi sau không:

17


Kết hợp chuỗi trong Python
Trong Python, chúng ta không thể kết hợp các chuỗi và số như thế này:

Chúng ta có thể kết hợp chuỗi và số bằng cách sử dụng hàm format()
Ví dụ: Sử dụng hàm format() để chèn số vào chuỗi:

Kết quả: Hello Python 3
Chúng ta có thể nhập bất kỳ số lượng đối số cho hàm format(), chúng sẽ
được thay thế dấu {} tương ứng, ví dụ:
Kết quả: Xin chao, toi la Nam, 22 tuoi, den tu Ha Noi
Hàm count() trong Python trả về số lần xuất hiện của chuỗi con trong
khoảng [start, end]. Đếm xem chuỗi str này xuất hiện bao nhiêu lần trong chuỗi

string hoặc chuỗi con của string nếu bạn cung cấp chỉ mục ban đầu start và chỉ
mục kết thúc end.
Kết quả:
18


Kết quả:

Trong một số bài toán có thể dùng một biến nào đó để lưu sớ cần tìm, ví
dụ:
x=str1.count(sub, 2, 5)
Hàm isalnum() kiểm tra xem trong ch̉i có kí tự đặc biệt hay không, nếu
không có trả về true, nếu có trả về false

Kết quả:
Hàm isalpha() kiểm tra xem trong chuỗi có phải chỉ chứa chữ hay không,
nếu đúng trả về true, ngược lại trả về false.
Hàm isdigit() ( hay hàm isnumeric()) kiểm tra xem trong chuỗi có phải chỉ
chứa chữ số hay không, nếu đúng trả về true, ngược lại trả về false.
Hàm len(string)Trả về độ dài của chuỗi.
Hàm replace() trong Python trả về một bản sao của chuỗi ban đầu sau khi
đã thay thế các chuỗi con cũ bằng chuỗi con mới.

kết quả:

Hàm min() được sử dụng để tìm giá trị nhỏ nhất trong một tập hợp các giá
trị hoặc trong một iterable.
Hàm max() được sử dụng để tìm giá trị lớn nhất trong một tập hợp các giá
trị hoặc trong một iterable.
Hàm len() trả về độ dài (số phần tử) của một đối tượng như chuỗi, danh

sách, bộ hoặc dictionary.
Hàm sum() tính tởng các giá trị trong một tập hợp các số hoặc iterable.
Hàm abs() trả về giá trị tuyệt đối (giá trị dương) của một số.
Hàm round() làm trịn một sớ đến sớ nguyên gần nhất hoặc đến một số chữ
số thập phân xác định.
Hàm type() trả về kiểu dữ liệu của một đối tượng.
19


20



×