Chào mừng quý vị đến với website của Phạm Văn Phúc - Tuy Hòa- Phú Yên
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành
viên, vì vậy chưa thể tải được các tài liệu của
Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
file 2

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn: sưu tầm
Người gửi: phạm văn phúc
Ngày gửi: 07h:33' 01-06-2024
Dung lượng: 1.6 MB
Số lượt tải: 2
Nguồn: sưu tầm
Người gửi: phạm văn phúc
Ngày gửi: 07h:33' 01-06-2024
Dung lượng: 1.6 MB
Số lượt tải: 2
Số lượt thích:
0 người
Bản Thảo
Lập trình cơ bản với Python
MỤC LỤC
Bài 1: CÂU LỆNH CƠ BẢN .................................................................................................................. 7
1.
Cài đặt Python ......................................................................................................................... 7
2.
Viết chương trình .................................................................................................................. 8
3.
Câu lệnh print ......................................................................................................................... 9
4.
Biến và kiểu dữ liệu ......................................................................................................... 10
5.
Hiển thị chuỗi theo định dạng ................................................................................... 14
6.
Phép toán ................................................................................................................................... 14
7.
Câu lệnh nhập từ bàn phím ............................................................................................. 16
BÀI TẬP CHƯƠNG 1 .............................................................................................................................. 18
Bài 2: BIỂU THỨC ĐIỀU KIỆN ...................................................................................................... 19
1.
Phép toán so sánh ................................................................................................................ 19
2.
Phép toán and và or ........................................................................................................... 20
3.
Độ ưu tiên toán tử ............................................................................................................. 21
4.
Điều kiện if ............................................................................................................................ 21
5.
Điều kiện if … else ........................................................................................................... 22
6.
Điều kiện if … elif … else .......................................................................................... 23
7.
Biểu thức điều kiện ........................................................................................................... 24
8.
Cấu trúc try … catch ......................................................................................................... 24
BÀI TẬP CHƯƠNG 2 .............................................................................................................................. 27
Bài 3: XÂY DỰNG HÀM ....................................................................................................................... 30
1.
Định nghĩa hàm ....................................................................................................................... 30
2.
Hàm không trả về kết quả ............................................................................................... 31
3.
Hàm trả về kết quả ............................................................................................................. 32
4.
Thuộc tính __name__ ........................................................................................................... 33
5.
Hàm đệ quy................................................................................................................................. 34
BÀI TẬP CHƯƠNG 3 .............................................................................................................................. 35
Bài 4: VÒNG LẶP................................................................................................................................. 37
1.
Vòng lặp while ....................................................................................................................... 37
Trang 1
Bản Thảo
Lập trình cơ bản với Python
2.
Vòng lặp for ............................................................................................................................ 38
3.
Vòng lặp lồng nhau Vòng lặp lồng nhau của while ........................................ 42
4.
Lệnh break trong vòng lặp Lệnh break là lệnh ngừng vòng lặp ........... 43
5.
Lệnh continue trong vòng lặp...................................................................................... 45
6.
Lệnh pass ................................................................................................................................... 45
BÀI TẬP CHƯƠNG 4 .............................................................................................................................. 47
ÔN TẬP GIỮA KỲ ................................................................................................................................... 50
Bài 5: Danh sách .............................................................................................................................. 52
Bài 6: Chuỗi ........................................................................................................................................ 60
Bài 8: TỪ ĐIỂN ................................................................................................................................... 70
1.
Khai báo dữ liệu .................................................................................................................. 70
2.
Kiểu dữ liệu động ................................................................................................................ 71
3.
Tạo từ điển từ kiểu dữ liệu khác ............................................................................ 71
4.
Truy xuất phần tử ................................................................................................................ 72
5.
Thay đổi giá trị .................................................................................................................. 72
6.
Duyệt trong từ điển ........................................................................................................... 73
7.
Thêm, xóa phần tử ................................................................................................................ 73
BÀI TẬP CHƯƠNG 8 .............................................................................................................................. 74
Bài 9: BỘ (TUPLE) ............................................................................................................................ 77
1.
Khai báo dữ liệu .................................................................................................................. 77
2.
Kiểu dữ liệu cố định ......................................................................................................... 78
3.
Truy xuất phần tử ................................................................................................................ 78
4.
Duyệt với vòng lặp ............................................................................................................. 78
5.
Thêm, xóa phần tử ................................................................................................................ 79
6.
Các hàm của Bộ ....................................................................................................................... 79
BÀI TẬP CHƯƠNG 9 .............................................................................................................................. 80
Bài 10: TẬP TIN................................................................................................................................. 83
1.
Giới thiệu tập tin ............................................................................................................. 83
1.
Trình tự thao tác với tập tin ................................................................................... 83
2.
Mở tập tin................................................................................................................................. 84
3.
Đọc tập tin .............................................................................................................................. 85
4.
Ghi tập tin .............................................................................................................................. 86
Trang 2
Bản Thảo
Lập trình cơ bản với Python
5.
Đóng tập tin ............................................................................................................................ 87
6.
Xóa tập tin .............................................................................................................................. 87
BÀI TẬP CHƯƠNG 10 ............................................................................................................................ 88
TÀI LIỆU THAM KHẢO ......................................................................................................................... 92
Trang 3
Bản Thảo
Lập trình cơ bản với Python
GIỚI THIỆU
Python là ngôn ngữ lập trình cấp cao, hỗ trợ người dùng ở các dạng:
tương tác dòng lệnh (command line); script và hướng đối tượng.
Chương trình của Python có thể được viết bằng bất kỳ trình soạn
thảo văn bản nào (Notepad, Notepad++, IDE Python, PyCharm, …) và
có phần mở rộng là *.py. Trong khi các chương trình viết bằng ngôn
ngữ khác như C/C++; VB, .NET phải thực hiện biên dịch (compiler),
thì chương trình viết bằng Python chỉ thực thi thông qua trình
thông dịch (interpreter).
Các thư viện trong Python khá đa dạng, từ các thư viện như NumPy
được sử dụng trong lĩnh vực tính toán ma trận, thống kê, phân tích
dữ liệu, đến các thư viện hỗ trợ lập trình ứng dụng mạng như
Socket, Webservice, lập trình thiết kế web với framework Flask hay
Django. Mặc dù là ngôn ngữ lập trình cấp cao, nhưng cách tiếp cận
của Python theo ngôn ngữ kịch bản (script) nên rất phù hợp với tất
cả mọi người khi mới bước chân vào môi trường lập trình.
Python được phát triển bởi Guido Van Rossum vào cuối những năm
1980 đầu những năm 1990 tại Viện Nguyên cứu toán và khoa học máy
tính ở Hà Lan, và được phát hành lần đầu tiên vào tháng 2 năm 1991.
Nó được xây dựng trên nhiều nền tảng khác nhau gồm: ABC, Modula3, C, C++, Algol-68, SmallTalk, and Unix shell and other scripting
languages. Hiện tại, Python được lưu hành theo giấy phép mã nguồn
mở GNU – GPL.
Một số đặc điểm của Python:
Trang 4
Bản Thảo
•
Lập trình cơ bản với Python
Dễ học: từ khóa Python tương đối ít, cấu trúc đơn giản và cú
pháp rõ ràng. Phù hợp với các bạn mới tiếp cận học ngôn ngữ
lập trình.
•
Dễ đọc: Câu lệnh của python rõ ràng và tường minh, dễ đọc và
dễ viết hơn các ngôn ngữ lập trình khác như C/C++, Java, …
•
Dễ bảo trì: Mã nguồn python bảo trì dễ dàng.
•
Thư viện chuẩn linh hoạt: Phần lớn thư viện của python được
tương thích với các môi trường Unix, Windows và Macintosh.
Chương trình viết bằng Python có thể thực thi trên các nền
tảng khác mà không có bất kỳ thay đổi nào. Nó chạy liền mạch
trên hầu hết tất cả các nền tảng như Windows, macOS, Linux.
•
Chế độ tương tác (Interactive mode): Python hỗ trợ chế độ
tương tác cho phép lập trình viên có thể kiểm tra và debug
chương trình.
•
Lập trình giao diện (GUI): Python hỗ trợ lập trình giao diện,
người sử dụng có thể thiết kế các chương trình ứng dụng khác
nhau.
•
OOP (Object Oriented Programming): Mọi thứ trong Python đều
là hướng đối tượng. Lập trình hướng đối tượng (OOP) giúp giải
quyết những vấn đề phức tạp một cách trực quan. Với OOP, bạn
có thể phân chia những vấn đề phức tạp thành những tập nhỏ
hơn bằng cách tạo ra các đối tượng.
•
Mã nguồn mở: Python có một cộng đồng rộng lớn cùng xây dựng
và phát triển, người dùng có thể sử dụng và phân phối Python.
•
Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi
sự phức tạp rất lớn, bạn có thể dễ dàng kết hợp các phần code
bằng C, C++ và những ngôn ngữ khác (có thể gọi được từ C) vào
code Python. Điều này sẽ cung cấp cho ứng dụng của bạn những
tính năng tốt hơn cũng như khả năng scripting mà những ngôn
ngữ lập trình khác khó có thể làm được.
•
Ngôn ngữ thông dịch cấp cao: Không giống như C/C++, với
Python, bạn không phải lo lắng những nhiệm vụ khó khăn như
Trang 5
Bản Thảo
Lập trình cơ bản với Python
quản lý bộ nhớ, dọn dẹp những dữ liệu vô nghĩa, ... Khi chạy
code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữ máy
tính có thể hiểu. Bạn không cần lo lắng về bất kỳ hoạt động
ở cấp thấp nào.
•
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến:
Python có một số lượng lớn thư viện tiêu chuẩn giúp cho công
việc lập trình của bạn trở nên dễ thở hơn rất nhiều, đơn giản
vì không phải tự viết tất cả code. Ví dụ: Bạn cần kết nối cơ
sở dữ liệu MySQL trên Web server? Bạn có thể nhập thư viện
MySQLdb và sử dụng nó. Những thư viện này được kiểm tra kỹ
lưỡng và được sử dụng bởi hàng trăm người. Vì vậy, bạn có thể
chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của
mình.
•
Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng.
Lập trình hướng đối tượng (OOP) giúp giải quyết những vấn đề
phức tạp một cách trực quan. Với OOP, bạn có thể phân chia
những vấn đề phức tạp thành những tập nhỏ hơn bằng cách tạo
ra các đối tượng.
Trang 6
Bản Thảo
Lập trình cơ bản với Python
Bài 1: CÂU LỆNH CƠ BẢN
Mục tiêu:
-
Làm quen với giao diện Python
-
Có thể thực hiện thao tác nhập/xuất
-
Có thể thực hiện các phép tính cơ bản
Nội dung chính:
-
Cài đặt Python
-
Thực hành câu lệnh print
-
Thực hành phép toán cơ bản
-
Thực hành câu lệnh raw_input
1. Cài đặt Python
Python có thể chạy trên hệ điều hành Window/Linux, Trong phần
thực hành này sinh viên sẽ thực hiện cài đặt Python trên hệ điều
hành Window.
Các bước thực hiện:
Bước 1: Download Python tại địa chỉ www.python.org/download
Trang 7
Bản Thảo
Lập trình cơ bản với Python
Bước 2: Mở ứng dụng Python Shell (vào menu start > python >
python 3.5.1. shell)
Dấu >>>: dấu nhắc lệnh chờ thực hiện.
Thí dụ 1: sử dụng câu lệnh print để hiển thị chuổi “hello world”
2. Viết chương trình
Ghi câu lệnh trực tiếp ngay tại dấu nhắc lệnh (của chương trình
Python shell) là cách thông thường để thực hiện những thao tác đơn
giản, nhưng sẽ ít được dùng khi chương trình có nhiều câu lệnh.
Trong trường hợp này, cách phù hợp nhất là sử dụng trình soạn thảo
(vào menu File của Python shell > new File) để viết chương trình,
lưu chương trình lại với định dạng *.Py, chương trình này còn được
gọi là Script.
Trang 8
Bản Thảo
Lập trình cơ bản với Python
3. Câu lệnh print
Được dùng để hiển thị dữ liệu
Cú pháp:
Cú pháp 1:
print ("chuỗi hiện thị")
Thí dụ 2:
print ("This line will be printed.")
Kết quả hiển thị:
This line will be printed.
Cú pháp 2:
print ("chuỗi hiện thị", bieu thuc/gia tri, tham so)
Trang 9
Bản Thảo
Lập trình cơ bản với Python
Thí dụ 3:
print ("2 + 2 is", 2 + 2)
print ("3 * 4 is", 3 * 4)
print ("100 - 1 is", 100 - 1)
print ("(33 + 2) / 5 + 11.5 is", (33 + 2) / 5 + 11.5)
Kết quả hiển thị:
2 + 2 is 4
3 * 4 is 12
100 - 1 is 99
(33 + 2) / 5 + 11.5 is 18.5
Lưu ý: Với phiên bản Python 2.7, cú pháp hiện thị như sau:
print "chuỗi hiện thị"
4. Biến và kiểu dữ liệu
Biến: Biến (variable) là tên được đặt trong bộ nhớ máy tính,
người lập trình có thể sử dụng biến để lưu trữ dữ liệu và để
truy vấn dữ liệu khi cần thiết.
Kiểu dữ liệu: kiểu dữ liệu (datatype hay type) là một cách
phân loại dữ liệu cho trình biên dịch (compiler) hoặc thông
dịch (interpreter) hiểu người lập trình muốn sử dụng dữ liệu.
Hầu hết các ngôn ngữ hỗ trợ nhiều kiểu dữ liệu khác nhau như
kiểu số thực, kiểu số nguyên, kiểu luận lý (Boolean), kiểu
chuỗi, kiễu danh sách, … Trong bài này chúng ta sẽ tìm hiểu
kiểu dữ liệu số và chuỗi. Trong các bài tiếp theo chúng ta sẽ
Trang 10
Bản Thảo
Lập trình cơ bản với Python
có dịp tìm hiểu và sử dụng các kiểu dữ liệu Boolean, danh
sách và các kiểu dữ liệu khác.
Kiểu số:
Python hỗ trợ hai kiểu số cơ bản: Số nguyên (integer) và số
thực (floating point)
Thí dụ 4: Số nguyên
myint = 7
print (myint)
Trong thí dụ trên, myint là biến và 7 là giá trị được gán vào
cho biến myint. Như vậy, khi người lập trình muốn sử dụng giá
trị 7 thì có thể gọi thông qua biến myint.
Thí dụ 5: Số thực
myfloat = 7.0
print (myfloat)
myfloat = float (7) //ép số nguyên 7 về số thực 7.0
print (myfloat)
Kiểu chuỗi:
Chuỗi là một tập hợp gồm nhiều “ký tự” liên tiếp nhau, được
thể hiện/mô tả trong dấu nháy đơn hoặc dấu nháy kép
Thí dụ 6:
mystring = 'hello world' //dấu nháy đơn
print(mystring)
Kết quả: hello world
mystring = "hello world" // dấu nháy kép
Trang 11
Bản Thảo
Lập trình cơ bản với Python
print(mystring)
Kết quả: hello world
mystring = "Don't worry about apostrophes"
print (mystring)
Kết quả: Don't worry about apostrophes
mystring = 'Don\'t worry about apostrophes'
print (mystring)
Kết quả: Don't worry about apostrophes
*
Lưu ý
1. Để sử dụng ký tự đặc biệt (dấu nháy đơn, dấu nháy kép, …),
ta dùng dấu \ và ký tự đặc biệt đó. Xem bảng tóm tắt dưới
đây:
Ký hiệu
\n
\t
\\
\'
\"
Ý nghĩa
Dòng mới
Phím tab
\
'
"
2. Trường hợp muốn xóa một biến không còn dùng nữa ta có thể
dùng lệnh del như thí dụ dưới đây:
1. myfloat = 7.0
2. print (myfloat)
3. del myfloat
4. print (myfloat)
Kết quả:
7.0
Trang 12
Bản Thảo
Lập trình cơ bản với Python
Traceback (most recent call last):
File
"C:\Users\hohuynh\AppData\Local\Programs\Python\Python37
\test.py", line 4, in
print (myfloat)
NameError: name 'myfloat' is not defined
Câu lệnh ở dòng số 4 sẽ báo lỗi “name 'myfloat' is not
defined”. Lý do là ta đã xóa biến myfloat ở dòng lệnh số 3.
3. Muốn xem một biến thuộc vào kiểu dữ liệu nào, ta sử dụng
hàm type(biến) như sau:
Thí dụ:
>>> i = 42
>>> type(i)
>>> f = float(i)
>>> type(f)
4. Kiểm tra vùng lưu trữ giá trị của biến: Để hiểu rõ hơn bản
chất dữ liệu của biến, thí dụ biến số thực và biến số
nguyên, ta có thể kiểm tra vùng lưu trữ giá trị của biến
dựa theo thí dụ dưới đây:
import sys
print(sys.int_info)
#Thông tin chi tiết của số nguyên
print(sys.float_info) #Thông tin chi tiết của số thực
Trang 13
Bản Thảo
Lập trình cơ bản với Python
Kết quả:
sys.int_info(bits_per_digit=30, sizeof_digit=4)
sys.float_info(max=1.7976931348623157e+308,
max_exp=1024, max_10_exp=308, min=2.2250738585072014e308, min_exp=-1021, min_10_exp=-307, dig=15,
mant_dig=53, epsilon=2.220446049250313e-16, radix=2,
rounds=1)
5. Hiển thị chuỗi theo định dạng
Python sử dụng định dạng chuỗi theo chuẩn C (chuẩn ngôn ngữ
lập trình C) để hiển thị chuỗi.
Hiển thị chuỗi:
%s
Hiện thị số: %d
Thí dụ 7:
name = "John"
print ("My name is, %s!" % name)
age = 18
print ("I am %d years old" % age)
Thí dụ 8:
name = "John"
age = 23
print ("%s is %d years old." % (name, age))
6. Phép toán
a. Phép toán số học
Trang 14
Bản Thảo
Lập trình cơ bản với Python
Phép toán
Toán tử
Ví dụ (python3.x)
Lũy thừa
**
5 ** 2 == 25
Nhân
*
2 * 3 == 6
Chia
/
14 / 3 == 4.6666666666667
Chia lấy phần
//
14 // 3 == 4
Chia lấy phần dư
%
14 % 3 == 2
Cộng
+
1 + 2 == 3
nguyên
"hello" + " " + "world" =
hello world
Trừ
-
4 - 3 == 1
b. Phép gán
Toán tử
Ý Nghĩa
Ví dụ (python3)
=
Gán giá trị bên vế
X = 5
phải cho vế trái
+=
Cộng và gán
x+=5
(x = x + 5)
-=
Trừ và gán
x-=5
(x = x – 5)
*=
Nhân và gán
x*=5
(x = x * 5)
/=
Chia và gán
x/=5
(x = x/5)
Trang 15
Bản Thảo
Lập trình cơ bản với Python
//=
%=
Chia và gán lấy
x//=5
nguyên
(x = x // 5)
Chia và gán lấy dư
X%=5
(x = x % 5)
**=
Lấy lũy thừa và gán
X**=5
(x = x ** 5)
7. Câu lệnh nhập từ bàn phím
Python 2.x:
raw_input (prompt)
Python 3.x:
input (prompt)
Hàm raw_input () hoặc input () luôn trả về dữ liệu kiểu chuổi.
Nghĩa là nếu bạn muốn nhập một số (không phải là chuỗi) bạn
phải gọi đến hàm chuyển đổi kiểu số nguyên hoặc số thực tương
ứng
Thí dụ 9:
name = input ("What's your name? ")
print ("Welcome, %s!" % name)
age = input ("How old are you? ")
print ("Next year you are %d" % int(age) + 1)
Trang 16
Bản Thảo
Lập trình cơ bản với Python
Lưu ý:
int (chuỗi): chuyển từ chuỗi sang số nguyên
float (chuỗi): chuyển từ chuỗi sang số thực
Trang 17
Bản Thảo
Lập trình cơ bản với Python
BÀI TẬP CHƯƠNG 1
Bài 1.1 Viết chương trình in ra màn hình dòng chữ Hello World
Bài 1.2 Viết chương trình nhập nhiệt độ F và chuyển sang nhiệt độ
C theo công thức:
C = 5*(F - 32) / 9, với C: nhiệt độ C; F: nhiệt độ F
Bài 1.3 Viết chương trình nhập vào 2 số nguyên, in ra màn hình
tổng bình phương của 2 số nguyên đó.
Công thức: S = a*a + b*b
Bài 1.4 Viết chương trình nhập vào 2 số nguyên, in ra màn hình
hiệu bình phương của 2 số nguyên đó.
Công thức: S = a*a - b*b
Bài 1.5 Viết chương trình nhập một số gồm 2 chữ số, in ra màn hình
số hàng đơn vị và số hàng chục
Thí dụ số nhập vào là 13, in ra màn hình số hàng đơn vị là 3 và số
hàng chục là 1
Bài 1.6 Viết chương trình nhập một số gồm 2 chữ số, in ra màn
hình số đảo ngược
Thí dụ số nhập vào là 13, in ra màn hình số đảo ngược là 31
Bài 1.7 Viết chương trình nhập một giá trị tùy ý (chuỗi, số nguyên,
số thực), sau đó in ra màn hình giá trị nhập được và cho biết kiểu
dữ liệu của nó
Thí dụ nhập vào số 50, in ra màn hình số vừa nhập là 50 và kiểu
dữ liệu là số nguyên.
Bài 1.8 Viết chương trình nhập vào tiền lương chính, phụ cấp và
số ngày đi làm trong tháng, in ra màn hình Lương chính nhận được
theo công thức:
Trang 18
Bản Thảo
Lập trình cơ bản với Python
Bài 2: BIỂU THỨC ĐIỀU KIỆN
Mục tiêu:
-
Làm quen với Biểu thức điều kiện 1 chiều, 2 chiều
-
Làm quen phép toán so sánh
-
Làm quen với cách viết Script theo biểu thức điều kiện
-
Cấu trúc bắt ngoại lệ
Nội dung chính:
-
Điều kiện if
-
Điều kiện if … else
-
Điều kiện if … elif … else
-
Biểu thức điều kiện
-
try … except
1. Phép toán so sánh
Phép toán
So sánh bằng
So sánh khác
So sánh nhỏ hơn
So sánh nhỏ hơn
hay bằng
So sánh lớn hơn
So sánh lớn hơn
hay bằng
IS
IS Not
Ký
hiệu
==
!=
<
<=
Sử dụng
b
b
b
b
True/False
True/False
True/False
True/False
>
>=
a > b
a >= b
True/False
True/False
is
a is b
is not
a is not b
Trả về true nếu các biến
ở hai bên toán tử cùng
trỏ tới một đối
tượng(hoặc cùng giá trị),
ngược lại là false
Ngược lại với is
a
a
a
a
==
!=
<
<=
Kết quả
Trang 19
Bản Thảo
Lập trình cơ bản với Python
Thí dụ 1:
Thí dụ
5 == 4
5 != 4
5 < 4
5 <= 4
5 > 4
5 >= 4
Kết quả
False
True
False
False
True
True
Thí dụ 2:
x=5
y=5
print(x is y)
Kết quả: True
Thí dụ 3:
x=5
y=5
print(x is not y)
Kết quả: False
2. Phép toán and và or
Phép toán
True and True
True and False
False and True
False and False
True or True
True or False
False or True
False or False
Giá trị
True
False
False
False
True
True
True
False
Trang 20
Bản Thảo
Lập trình cơ bản với Python
3. Độ ưu tiên toán tử
Python có ràng buộc thứ tự ưu tiên của các toán tử. Bảng dưới đây
trình bày thứ tự ưu tiên từ cao đến thấp.
Thứ tự
ưu tiên
Toán tử
Miêu tả
1
**
Toán tử mũ
2
* / % //
Phép nhân, chia, lấy phần dư
và phép chia lấy phần nguyên
3
+ –
Toán tử Cộng, Trừ
4
<= < > >=
Các toán tử so sánh
5
<> == !=
Các toán tử so sánh
6
= %= /= //= -=
+= *= **=
Các toán tử gán
7
is, is not
Các toán tử so sánh
8
not, or, and
Các toán tử Logic
Lưu ý: Trong thực tế khi lập trình, để câu lệnh tường minh, rõ
ràng, lập trình viên thường dùng cặp ngoặc tròn () để nó rõ nghĩa
hơn.
4. Điều kiện if
if Biểu thức điều kiện:
Câu lệnh*
Câu lệnh* được thực hiện khi “Biểu thức điều kiện” có giá
trị True.
Thí dụ 2:
Trang 21
Bản Thảo
Lập trình cơ bản với Python
x = 5
if x < 10:
print ("Smaller")
if x > 20:
print ("Bigger")
print ("Finis")
Kết quả:
Smaller
Finis
5. Điều kiện if … else
if Biểu thức điều kiện:
Câu lệnh 1
else:
Câu lệnh 2
Câu lệnh 1 được thực hiện khi “Biểu thức điều kiện” có giá
trị True, Câu lệnh 2 được thực hiện khi “Biểu thức điều kiện”
có giá trị False.
Thí dụ 3:
x = 5
if x < 2:
print ("Smaller")
else:
Trang 22
Bản Thảo
Lập trình cơ bản với Python
print ("Bigger")
print ("All done")
6. Điều kiện if … elif … else
if Biểu thức điều kiện 1:
Câu lệnh 1
elif Biểu thức điều kiện 2:
Câu lệnh 2
…
elif Biểu thức điều kiện n
Câu lệnh n
else:
Câu lệnh else
Thí dụ 4:
x = int (input ('Nhap mot so nguyen: '))
if x < 2:
print 'small'
elif x < 10:
print 'Medium'
else:
print 'LARGE'
print 'All done'
Trang 23
Bản Thảo
Lập trình cơ bản với Python
7. Biểu thức điều kiện
Với biểu thức điều kiện if … else như thí dụ sau:
if a > b:
max=a
else:
max=b
Bạn có thể viết ngắn gọn như sau:
max = a if (a > b) else b
Lưu ý: Nếu bạn đang sử dụng các ngôn ngữ lập trình như C/C++;
VB, .NET hay Java thì cú pháp trên sẽ là:
max = (a > b) ? a : b
Thí dụ 5:
>>> max = 3 if (3 > 5) else 5
Kết quả: 5
8. Cấu trúc try … catch
Đôi khi câu lệnh xảy ra lỗi trong lúc thi thực như thí dụ
dưới đây:
astr = input ('Nhap so nguyen: ')
istr = int(astr)
print ('So vua nhap ', istr)
Trang 24
Bản Thảo
Lập trình cơ bản với Python
Nếu script trên khi thực thi, giá trị nhập vào không phải là
số thì sẽ báo lỗi như sau:
Lý do xảy ra lỗi: Trong thí dụ trên, chuỗi hello nhập từ bàn
phím được gán cho biến astr. Ở dòng tiếp theo, biến astr được
chuyển thành giá trị số nguyên thông qua hàm int(astr). Tuy
nhiên trong trường hợp này biến astr không thể nào chuyển
sang dạng số được vì giá trị đang là hello. Nên khi chương
trình thực hiện đến dòng đó sẽ báo lỗi Invalid literal for
int(), lỗi giá trị chuỗi không hợp lệ để chuyển sang định
dạng số.
Vậy khi nào không bị lỗi: Bạn sẽ không bị lỗi trong trường
hợp bạn phải nhập đúng giá trị dạng số như minh họa dưới đây
khi người dùng nhập vào cho chuỗi astr là 5.
Tuy nhiên, chương trình viết như trên sẽ không phù hợp với
người dùng, chương trình phải đảm bảo xử lý được tất cả các
trường hợp mà có thể xảy ra khi người dùng sử dụng, nghĩa là
phải xem xét đến các khả năng mà người dùng xử lý sai và đưa
ra các chỉ dẫn phù hợp.
Để xử lý cho trường hợp này ta có thể dùng khối lệnh try …
except được hỗ trợ trong python.
Cú pháp như sau:
try:
Câu lệnh có khả năng sinh ra các ngoại lệ
except:
Câu lệnh xử lý trong trường hợp lỗi xảy ra
Trang 25
Bản Thảo
Lập trình cơ bản với Python
Trở lại thí dụ, giả sử ta mong muốn xử lý lỗi theo hướng mặc
định gán giá trị là -1 khi người dùng nhập vào phát sinh lỗi,
cú pháp xử lý như sau:
astr = input ('Nhap so nguyen: ')
try:
istr = int(astr)
except:
istr = -1
print 'Done', istr
Trang 26
Bản Thảo
Lập trình cơ bản với Python
BÀI TẬP CHƯƠNG 2
Bài 2.1 Không lập trình, hãy xem đoạn script sau và cho biết kết
quả:
a = 5
b = 7
print ('a > b', a > b)
print ('a < b', a < b)
print ('a >= b', a >= b)
print ('a <= b', a <= b)
print ('a == b', a == b)
print ('a < b or a!= b',a < b or a != b)
print ('a > b and a!= b',a < b and a != b)
Bài 2.2 Cho đoạn script sau:
x = a
if x > 2:
print 'Bigger than 2'
print 'Still bigger'
print 'Done with 2'
a. Theo bạn, với giá trị a bằng bao nhiêu thì đoạn script trên in
ra màn hình kết quả:
Bigger than 2
Still bigger
Done with 2
Trang 27
Bản Thảo
Lập trình cơ bản với Python
b. Theo bạn, với giá trị a bằng bao nhiêu thì đoạn script trên in
ra màn hình kết quả:
Done with 2
Bài 2.3 Viết chương trình nhập vào hai số a, b; giải và biện luận
phương trình ax + b = 0
Gợi ý: sử dụng hàm int (string) để chuyển dữ liệu từ định dạng
chuỗi sang định dạng số.
Thí dụ: a = int (input('Nhap a: '))
Bài 2.4 Viết chương trình nhập vào ba số a, b, c; giải và biện
luận phương trình ax2+ bx + c = 0
Bài 2.5 Viết chương trình nhập vào lương cơ bản, số năm công tác,
in ra tiền lương hàng tháng có tính số % phụ cấp thâm niên theo
công thức:
Lương hàng tháng = lương cơ bản + phụ cấp thâm niên
Nếu số năm công tác dưới 5 năm: phụ cấp thâm niên 0%
Nếu số năm công tác trên 5 năm, phụ cấp thâm niên được tính
theo % số năm công tác. Thí dụ người A có 6 năm thâm niên, vậy
phụ cấp thâm niên của A là 6% * lương cơ bản.
Bài 2.6 Viết chương trình nhập vào năm sinh, in ra tuổi. Lưu ý nếu
năm sinh nhập vào không hợp lệ (giá trị âm, hoặc lớn hơn năm hiện
tại, hoặc giá trị nhập vào là chuỗi) thì hiện thị ra thông báo
đồng thời gán giá trị mặc định là năm hiện tại.
Bài 2.7 Giá cước taxi được tính theo công thức: 1km đầu tiên tính
từ lúc lên xe: 13000 đồng. Mỗi km tiếp theo được tính theo đơn giá
là 12000 đồng. Từ km 30 trở lên, mỗi km được tính là 9000 đồng.
Trang 28
Bản Thảo
Lập trình cơ bản với Python
Hãy viết chương trình nhập vào số km đã đi và in ra giá tiền cần
phải thanh toán.
Bài 2.8 Tổng số giờ làm việc được quy định cho một nhân viên trong
tuần là 40 giờ, nếu người lao động làm nhiều hơn số giờ quy định,
thì mỗi giờ hơn sẽ được tính là 1.5 giờ. Hãy nhập vào tiền lương
của 1 giờ, số giờ làm việc trong tuần, in ra tiền lương sẽ được
trả trong tuần.
Bài 2.9 Viết chương trình nhập vào năm sinh (namsinh), in ra tuổi
(tuoi). Lưu ý nếu năm sinh nhập vào không hợp lệ (giá trị âm, hoặc
lớn hơn năm hiện tại, hoặc giá trị nhập vào là chuỗi) thì hiện thị
ra thông báo đồng thời gán giá trị mặc định là năm hiện tại.
Gợi ý: Cần phải bổ sung thư viện thời gian tại đoạn đầu của Script
theo cú pháp.
import time
today = time.localtime()
tuoi = namsinh – today[0]
Trang 29
Bản Thảo
Lập trình cơ bản với Python
Bài 3: XÂY DỰNG HÀM
Mục tiêu:
-
Làm quen với khai báo và sử dụng hàm
-
Làm quen với hàm main
Nội dung chính:
-
Định nghĩa hàm
-
Xây dựng và sử dụng hàm không trả về kết quả
-
Xây dựng và sử dụng hàm có trả kết quả về
-
Hàm main
-
Hàm đệ quy
1. Định nghĩa hàm
Hàm (Function) là đoạn chương trình độc lập, hoàn chỉnh, có
thể sử dụng nhiều lần. Hàm cho phép người lập trình
(developer) cấu trúc chương trình thành các phân đoạn khác
nhau để dễ dàng trong việc sử dụng và chỉnh sửa.
Thí dụ: Viết chương trình nhập vào 4 số nguyên a, b, c, d các
giải phương trình sau:
ax + b = 0
cx + d = 0
Trường hợp không định nghĩa hàm, để giải 2 phương trình ax +
b = 0 và cx + d = 0 ta phải đi lần lượt giải cho từng phương
trình.
Trang 30
Bản Thảo
Lập trình cơ bản với Python
Như hình bên trên, từ dòng...
Lập trình cơ bản với Python
MỤC LỤC
Bài 1: CÂU LỆNH CƠ BẢN .................................................................................................................. 7
1.
Cài đặt Python ......................................................................................................................... 7
2.
Viết chương trình .................................................................................................................. 8
3.
Câu lệnh print ......................................................................................................................... 9
4.
Biến và kiểu dữ liệu ......................................................................................................... 10
5.
Hiển thị chuỗi theo định dạng ................................................................................... 14
6.
Phép toán ................................................................................................................................... 14
7.
Câu lệnh nhập từ bàn phím ............................................................................................. 16
BÀI TẬP CHƯƠNG 1 .............................................................................................................................. 18
Bài 2: BIỂU THỨC ĐIỀU KIỆN ...................................................................................................... 19
1.
Phép toán so sánh ................................................................................................................ 19
2.
Phép toán and và or ........................................................................................................... 20
3.
Độ ưu tiên toán tử ............................................................................................................. 21
4.
Điều kiện if ............................................................................................................................ 21
5.
Điều kiện if … else ........................................................................................................... 22
6.
Điều kiện if … elif … else .......................................................................................... 23
7.
Biểu thức điều kiện ........................................................................................................... 24
8.
Cấu trúc try … catch ......................................................................................................... 24
BÀI TẬP CHƯƠNG 2 .............................................................................................................................. 27
Bài 3: XÂY DỰNG HÀM ....................................................................................................................... 30
1.
Định nghĩa hàm ....................................................................................................................... 30
2.
Hàm không trả về kết quả ............................................................................................... 31
3.
Hàm trả về kết quả ............................................................................................................. 32
4.
Thuộc tính __name__ ........................................................................................................... 33
5.
Hàm đệ quy................................................................................................................................. 34
BÀI TẬP CHƯƠNG 3 .............................................................................................................................. 35
Bài 4: VÒNG LẶP................................................................................................................................. 37
1.
Vòng lặp while ....................................................................................................................... 37
Trang 1
Bản Thảo
Lập trình cơ bản với Python
2.
Vòng lặp for ............................................................................................................................ 38
3.
Vòng lặp lồng nhau Vòng lặp lồng nhau của while ........................................ 42
4.
Lệnh break trong vòng lặp Lệnh break là lệnh ngừng vòng lặp ........... 43
5.
Lệnh continue trong vòng lặp...................................................................................... 45
6.
Lệnh pass ................................................................................................................................... 45
BÀI TẬP CHƯƠNG 4 .............................................................................................................................. 47
ÔN TẬP GIỮA KỲ ................................................................................................................................... 50
Bài 5: Danh sách .............................................................................................................................. 52
Bài 6: Chuỗi ........................................................................................................................................ 60
Bài 8: TỪ ĐIỂN ................................................................................................................................... 70
1.
Khai báo dữ liệu .................................................................................................................. 70
2.
Kiểu dữ liệu động ................................................................................................................ 71
3.
Tạo từ điển từ kiểu dữ liệu khác ............................................................................ 71
4.
Truy xuất phần tử ................................................................................................................ 72
5.
Thay đổi giá trị .................................................................................................................. 72
6.
Duyệt trong từ điển ........................................................................................................... 73
7.
Thêm, xóa phần tử ................................................................................................................ 73
BÀI TẬP CHƯƠNG 8 .............................................................................................................................. 74
Bài 9: BỘ (TUPLE) ............................................................................................................................ 77
1.
Khai báo dữ liệu .................................................................................................................. 77
2.
Kiểu dữ liệu cố định ......................................................................................................... 78
3.
Truy xuất phần tử ................................................................................................................ 78
4.
Duyệt với vòng lặp ............................................................................................................. 78
5.
Thêm, xóa phần tử ................................................................................................................ 79
6.
Các hàm của Bộ ....................................................................................................................... 79
BÀI TẬP CHƯƠNG 9 .............................................................................................................................. 80
Bài 10: TẬP TIN................................................................................................................................. 83
1.
Giới thiệu tập tin ............................................................................................................. 83
1.
Trình tự thao tác với tập tin ................................................................................... 83
2.
Mở tập tin................................................................................................................................. 84
3.
Đọc tập tin .............................................................................................................................. 85
4.
Ghi tập tin .............................................................................................................................. 86
Trang 2
Bản Thảo
Lập trình cơ bản với Python
5.
Đóng tập tin ............................................................................................................................ 87
6.
Xóa tập tin .............................................................................................................................. 87
BÀI TẬP CHƯƠNG 10 ............................................................................................................................ 88
TÀI LIỆU THAM KHẢO ......................................................................................................................... 92
Trang 3
Bản Thảo
Lập trình cơ bản với Python
GIỚI THIỆU
Python là ngôn ngữ lập trình cấp cao, hỗ trợ người dùng ở các dạng:
tương tác dòng lệnh (command line); script và hướng đối tượng.
Chương trình của Python có thể được viết bằng bất kỳ trình soạn
thảo văn bản nào (Notepad, Notepad++, IDE Python, PyCharm, …) và
có phần mở rộng là *.py. Trong khi các chương trình viết bằng ngôn
ngữ khác như C/C++; VB, .NET phải thực hiện biên dịch (compiler),
thì chương trình viết bằng Python chỉ thực thi thông qua trình
thông dịch (interpreter).
Các thư viện trong Python khá đa dạng, từ các thư viện như NumPy
được sử dụng trong lĩnh vực tính toán ma trận, thống kê, phân tích
dữ liệu, đến các thư viện hỗ trợ lập trình ứng dụng mạng như
Socket, Webservice, lập trình thiết kế web với framework Flask hay
Django. Mặc dù là ngôn ngữ lập trình cấp cao, nhưng cách tiếp cận
của Python theo ngôn ngữ kịch bản (script) nên rất phù hợp với tất
cả mọi người khi mới bước chân vào môi trường lập trình.
Python được phát triển bởi Guido Van Rossum vào cuối những năm
1980 đầu những năm 1990 tại Viện Nguyên cứu toán và khoa học máy
tính ở Hà Lan, và được phát hành lần đầu tiên vào tháng 2 năm 1991.
Nó được xây dựng trên nhiều nền tảng khác nhau gồm: ABC, Modula3, C, C++, Algol-68, SmallTalk, and Unix shell and other scripting
languages. Hiện tại, Python được lưu hành theo giấy phép mã nguồn
mở GNU – GPL.
Một số đặc điểm của Python:
Trang 4
Bản Thảo
•
Lập trình cơ bản với Python
Dễ học: từ khóa Python tương đối ít, cấu trúc đơn giản và cú
pháp rõ ràng. Phù hợp với các bạn mới tiếp cận học ngôn ngữ
lập trình.
•
Dễ đọc: Câu lệnh của python rõ ràng và tường minh, dễ đọc và
dễ viết hơn các ngôn ngữ lập trình khác như C/C++, Java, …
•
Dễ bảo trì: Mã nguồn python bảo trì dễ dàng.
•
Thư viện chuẩn linh hoạt: Phần lớn thư viện của python được
tương thích với các môi trường Unix, Windows và Macintosh.
Chương trình viết bằng Python có thể thực thi trên các nền
tảng khác mà không có bất kỳ thay đổi nào. Nó chạy liền mạch
trên hầu hết tất cả các nền tảng như Windows, macOS, Linux.
•
Chế độ tương tác (Interactive mode): Python hỗ trợ chế độ
tương tác cho phép lập trình viên có thể kiểm tra và debug
chương trình.
•
Lập trình giao diện (GUI): Python hỗ trợ lập trình giao diện,
người sử dụng có thể thiết kế các chương trình ứng dụng khác
nhau.
•
OOP (Object Oriented Programming): Mọi thứ trong Python đều
là hướng đối tượng. Lập trình hướng đối tượng (OOP) giúp giải
quyết những vấn đề phức tạp một cách trực quan. Với OOP, bạn
có thể phân chia những vấn đề phức tạp thành những tập nhỏ
hơn bằng cách tạo ra các đối tượng.
•
Mã nguồn mở: Python có một cộng đồng rộng lớn cùng xây dựng
và phát triển, người dùng có thể sử dụng và phân phối Python.
•
Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi
sự phức tạp rất lớn, bạn có thể dễ dàng kết hợp các phần code
bằng C, C++ và những ngôn ngữ khác (có thể gọi được từ C) vào
code Python. Điều này sẽ cung cấp cho ứng dụng của bạn những
tính năng tốt hơn cũng như khả năng scripting mà những ngôn
ngữ lập trình khác khó có thể làm được.
•
Ngôn ngữ thông dịch cấp cao: Không giống như C/C++, với
Python, bạn không phải lo lắng những nhiệm vụ khó khăn như
Trang 5
Bản Thảo
Lập trình cơ bản với Python
quản lý bộ nhớ, dọn dẹp những dữ liệu vô nghĩa, ... Khi chạy
code Python, nó sẽ tự động chuyển đổi code sang ngôn ngữ máy
tính có thể hiểu. Bạn không cần lo lắng về bất kỳ hoạt động
ở cấp thấp nào.
•
Thư viện tiêu chuẩn lớn để giải quyết những tác vụ phổ biến:
Python có một số lượng lớn thư viện tiêu chuẩn giúp cho công
việc lập trình của bạn trở nên dễ thở hơn rất nhiều, đơn giản
vì không phải tự viết tất cả code. Ví dụ: Bạn cần kết nối cơ
sở dữ liệu MySQL trên Web server? Bạn có thể nhập thư viện
MySQLdb và sử dụng nó. Những thư viện này được kiểm tra kỹ
lưỡng và được sử dụng bởi hàng trăm người. Vì vậy, bạn có thể
chắc chắn rằng nó sẽ không làm hỏng code hay ứng dụng của
mình.
•
Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng.
Lập trình hướng đối tượng (OOP) giúp giải quyết những vấn đề
phức tạp một cách trực quan. Với OOP, bạn có thể phân chia
những vấn đề phức tạp thành những tập nhỏ hơn bằng cách tạo
ra các đối tượng.
Trang 6
Bản Thảo
Lập trình cơ bản với Python
Bài 1: CÂU LỆNH CƠ BẢN
Mục tiêu:
-
Làm quen với giao diện Python
-
Có thể thực hiện thao tác nhập/xuất
-
Có thể thực hiện các phép tính cơ bản
Nội dung chính:
-
Cài đặt Python
-
Thực hành câu lệnh print
-
Thực hành phép toán cơ bản
-
Thực hành câu lệnh raw_input
1. Cài đặt Python
Python có thể chạy trên hệ điều hành Window/Linux, Trong phần
thực hành này sinh viên sẽ thực hiện cài đặt Python trên hệ điều
hành Window.
Các bước thực hiện:
Bước 1: Download Python tại địa chỉ www.python.org/download
Trang 7
Bản Thảo
Lập trình cơ bản với Python
Bước 2: Mở ứng dụng Python Shell (vào menu start > python >
python 3.5.1. shell)
Dấu >>>: dấu nhắc lệnh chờ thực hiện.
Thí dụ 1: sử dụng câu lệnh print để hiển thị chuổi “hello world”
2. Viết chương trình
Ghi câu lệnh trực tiếp ngay tại dấu nhắc lệnh (của chương trình
Python shell) là cách thông thường để thực hiện những thao tác đơn
giản, nhưng sẽ ít được dùng khi chương trình có nhiều câu lệnh.
Trong trường hợp này, cách phù hợp nhất là sử dụng trình soạn thảo
(vào menu File của Python shell > new File) để viết chương trình,
lưu chương trình lại với định dạng *.Py, chương trình này còn được
gọi là Script.
Trang 8
Bản Thảo
Lập trình cơ bản với Python
3. Câu lệnh print
Được dùng để hiển thị dữ liệu
Cú pháp:
Cú pháp 1:
print ("chuỗi hiện thị")
Thí dụ 2:
print ("This line will be printed.")
Kết quả hiển thị:
This line will be printed.
Cú pháp 2:
print ("chuỗi hiện thị", bieu thuc/gia tri, tham so)
Trang 9
Bản Thảo
Lập trình cơ bản với Python
Thí dụ 3:
print ("2 + 2 is", 2 + 2)
print ("3 * 4 is", 3 * 4)
print ("100 - 1 is", 100 - 1)
print ("(33 + 2) / 5 + 11.5 is", (33 + 2) / 5 + 11.5)
Kết quả hiển thị:
2 + 2 is 4
3 * 4 is 12
100 - 1 is 99
(33 + 2) / 5 + 11.5 is 18.5
Lưu ý: Với phiên bản Python 2.7, cú pháp hiện thị như sau:
print "chuỗi hiện thị"
4. Biến và kiểu dữ liệu
Biến: Biến (variable) là tên được đặt trong bộ nhớ máy tính,
người lập trình có thể sử dụng biến để lưu trữ dữ liệu và để
truy vấn dữ liệu khi cần thiết.
Kiểu dữ liệu: kiểu dữ liệu (datatype hay type) là một cách
phân loại dữ liệu cho trình biên dịch (compiler) hoặc thông
dịch (interpreter) hiểu người lập trình muốn sử dụng dữ liệu.
Hầu hết các ngôn ngữ hỗ trợ nhiều kiểu dữ liệu khác nhau như
kiểu số thực, kiểu số nguyên, kiểu luận lý (Boolean), kiểu
chuỗi, kiễu danh sách, … Trong bài này chúng ta sẽ tìm hiểu
kiểu dữ liệu số và chuỗi. Trong các bài tiếp theo chúng ta sẽ
Trang 10
Bản Thảo
Lập trình cơ bản với Python
có dịp tìm hiểu và sử dụng các kiểu dữ liệu Boolean, danh
sách và các kiểu dữ liệu khác.
Kiểu số:
Python hỗ trợ hai kiểu số cơ bản: Số nguyên (integer) và số
thực (floating point)
Thí dụ 4: Số nguyên
myint = 7
print (myint)
Trong thí dụ trên, myint là biến và 7 là giá trị được gán vào
cho biến myint. Như vậy, khi người lập trình muốn sử dụng giá
trị 7 thì có thể gọi thông qua biến myint.
Thí dụ 5: Số thực
myfloat = 7.0
print (myfloat)
myfloat = float (7) //ép số nguyên 7 về số thực 7.0
print (myfloat)
Kiểu chuỗi:
Chuỗi là một tập hợp gồm nhiều “ký tự” liên tiếp nhau, được
thể hiện/mô tả trong dấu nháy đơn hoặc dấu nháy kép
Thí dụ 6:
mystring = 'hello world' //dấu nháy đơn
print(mystring)
Kết quả: hello world
mystring = "hello world" // dấu nháy kép
Trang 11
Bản Thảo
Lập trình cơ bản với Python
print(mystring)
Kết quả: hello world
mystring = "Don't worry about apostrophes"
print (mystring)
Kết quả: Don't worry about apostrophes
mystring = 'Don\'t worry about apostrophes'
print (mystring)
Kết quả: Don't worry about apostrophes
*
Lưu ý
1. Để sử dụng ký tự đặc biệt (dấu nháy đơn, dấu nháy kép, …),
ta dùng dấu \ và ký tự đặc biệt đó. Xem bảng tóm tắt dưới
đây:
Ký hiệu
\n
\t
\\
\'
\"
Ý nghĩa
Dòng mới
Phím tab
\
'
"
2. Trường hợp muốn xóa một biến không còn dùng nữa ta có thể
dùng lệnh del như thí dụ dưới đây:
1. myfloat = 7.0
2. print (myfloat)
3. del myfloat
4. print (myfloat)
Kết quả:
7.0
Trang 12
Bản Thảo
Lập trình cơ bản với Python
Traceback (most recent call last):
File
"C:\Users\hohuynh\AppData\Local\Programs\Python\Python37
\test.py", line 4, in
print (myfloat)
NameError: name 'myfloat' is not defined
Câu lệnh ở dòng số 4 sẽ báo lỗi “name 'myfloat' is not
defined”. Lý do là ta đã xóa biến myfloat ở dòng lệnh số 3.
3. Muốn xem một biến thuộc vào kiểu dữ liệu nào, ta sử dụng
hàm type(biến) như sau:
Thí dụ:
>>> i = 42
>>> type(i)
>>> f = float(i)
>>> type(f)
4. Kiểm tra vùng lưu trữ giá trị của biến: Để hiểu rõ hơn bản
chất dữ liệu của biến, thí dụ biến số thực và biến số
nguyên, ta có thể kiểm tra vùng lưu trữ giá trị của biến
dựa theo thí dụ dưới đây:
import sys
print(sys.int_info)
#Thông tin chi tiết của số nguyên
print(sys.float_info) #Thông tin chi tiết của số thực
Trang 13
Bản Thảo
Lập trình cơ bản với Python
Kết quả:
sys.int_info(bits_per_digit=30, sizeof_digit=4)
sys.float_info(max=1.7976931348623157e+308,
max_exp=1024, max_10_exp=308, min=2.2250738585072014e308, min_exp=-1021, min_10_exp=-307, dig=15,
mant_dig=53, epsilon=2.220446049250313e-16, radix=2,
rounds=1)
5. Hiển thị chuỗi theo định dạng
Python sử dụng định dạng chuỗi theo chuẩn C (chuẩn ngôn ngữ
lập trình C) để hiển thị chuỗi.
Hiển thị chuỗi:
%s
Hiện thị số: %d
Thí dụ 7:
name = "John"
print ("My name is, %s!" % name)
age = 18
print ("I am %d years old" % age)
Thí dụ 8:
name = "John"
age = 23
print ("%s is %d years old." % (name, age))
6. Phép toán
a. Phép toán số học
Trang 14
Bản Thảo
Lập trình cơ bản với Python
Phép toán
Toán tử
Ví dụ (python3.x)
Lũy thừa
**
5 ** 2 == 25
Nhân
*
2 * 3 == 6
Chia
/
14 / 3 == 4.6666666666667
Chia lấy phần
//
14 // 3 == 4
Chia lấy phần dư
%
14 % 3 == 2
Cộng
+
1 + 2 == 3
nguyên
"hello" + " " + "world" =
hello world
Trừ
-
4 - 3 == 1
b. Phép gán
Toán tử
Ý Nghĩa
Ví dụ (python3)
=
Gán giá trị bên vế
X = 5
phải cho vế trái
+=
Cộng và gán
x+=5
(x = x + 5)
-=
Trừ và gán
x-=5
(x = x – 5)
*=
Nhân và gán
x*=5
(x = x * 5)
/=
Chia và gán
x/=5
(x = x/5)
Trang 15
Bản Thảo
Lập trình cơ bản với Python
//=
%=
Chia và gán lấy
x//=5
nguyên
(x = x // 5)
Chia và gán lấy dư
X%=5
(x = x % 5)
**=
Lấy lũy thừa và gán
X**=5
(x = x ** 5)
7. Câu lệnh nhập từ bàn phím
Python 2.x:
raw_input (prompt)
Python 3.x:
input (prompt)
Hàm raw_input () hoặc input () luôn trả về dữ liệu kiểu chuổi.
Nghĩa là nếu bạn muốn nhập một số (không phải là chuỗi) bạn
phải gọi đến hàm chuyển đổi kiểu số nguyên hoặc số thực tương
ứng
Thí dụ 9:
name = input ("What's your name? ")
print ("Welcome, %s!" % name)
age = input ("How old are you? ")
print ("Next year you are %d" % int(age) + 1)
Trang 16
Bản Thảo
Lập trình cơ bản với Python
Lưu ý:
int (chuỗi): chuyển từ chuỗi sang số nguyên
float (chuỗi): chuyển từ chuỗi sang số thực
Trang 17
Bản Thảo
Lập trình cơ bản với Python
BÀI TẬP CHƯƠNG 1
Bài 1.1 Viết chương trình in ra màn hình dòng chữ Hello World
Bài 1.2 Viết chương trình nhập nhiệt độ F và chuyển sang nhiệt độ
C theo công thức:
C = 5*(F - 32) / 9, với C: nhiệt độ C; F: nhiệt độ F
Bài 1.3 Viết chương trình nhập vào 2 số nguyên, in ra màn hình
tổng bình phương của 2 số nguyên đó.
Công thức: S = a*a + b*b
Bài 1.4 Viết chương trình nhập vào 2 số nguyên, in ra màn hình
hiệu bình phương của 2 số nguyên đó.
Công thức: S = a*a - b*b
Bài 1.5 Viết chương trình nhập một số gồm 2 chữ số, in ra màn hình
số hàng đơn vị và số hàng chục
Thí dụ số nhập vào là 13, in ra màn hình số hàng đơn vị là 3 và số
hàng chục là 1
Bài 1.6 Viết chương trình nhập một số gồm 2 chữ số, in ra màn
hình số đảo ngược
Thí dụ số nhập vào là 13, in ra màn hình số đảo ngược là 31
Bài 1.7 Viết chương trình nhập một giá trị tùy ý (chuỗi, số nguyên,
số thực), sau đó in ra màn hình giá trị nhập được và cho biết kiểu
dữ liệu của nó
Thí dụ nhập vào số 50, in ra màn hình số vừa nhập là 50 và kiểu
dữ liệu là số nguyên.
Bài 1.8 Viết chương trình nhập vào tiền lương chính, phụ cấp và
số ngày đi làm trong tháng, in ra màn hình Lương chính nhận được
theo công thức:
Trang 18
Bản Thảo
Lập trình cơ bản với Python
Bài 2: BIỂU THỨC ĐIỀU KIỆN
Mục tiêu:
-
Làm quen với Biểu thức điều kiện 1 chiều, 2 chiều
-
Làm quen phép toán so sánh
-
Làm quen với cách viết Script theo biểu thức điều kiện
-
Cấu trúc bắt ngoại lệ
Nội dung chính:
-
Điều kiện if
-
Điều kiện if … else
-
Điều kiện if … elif … else
-
Biểu thức điều kiện
-
try … except
1. Phép toán so sánh
Phép toán
So sánh bằng
So sánh khác
So sánh nhỏ hơn
So sánh nhỏ hơn
hay bằng
So sánh lớn hơn
So sánh lớn hơn
hay bằng
IS
IS Not
Ký
hiệu
==
!=
<
<=
Sử dụng
b
b
b
b
True/False
True/False
True/False
True/False
>
>=
a > b
a >= b
True/False
True/False
is
a is b
is not
a is not b
Trả về true nếu các biến
ở hai bên toán tử cùng
trỏ tới một đối
tượng(hoặc cùng giá trị),
ngược lại là false
Ngược lại với is
a
a
a
a
==
!=
<
<=
Kết quả
Trang 19
Bản Thảo
Lập trình cơ bản với Python
Thí dụ 1:
Thí dụ
5 == 4
5 != 4
5 < 4
5 <= 4
5 > 4
5 >= 4
Kết quả
False
True
False
False
True
True
Thí dụ 2:
x=5
y=5
print(x is y)
Kết quả: True
Thí dụ 3:
x=5
y=5
print(x is not y)
Kết quả: False
2. Phép toán and và or
Phép toán
True and True
True and False
False and True
False and False
True or True
True or False
False or True
False or False
Giá trị
True
False
False
False
True
True
True
False
Trang 20
Bản Thảo
Lập trình cơ bản với Python
3. Độ ưu tiên toán tử
Python có ràng buộc thứ tự ưu tiên của các toán tử. Bảng dưới đây
trình bày thứ tự ưu tiên từ cao đến thấp.
Thứ tự
ưu tiên
Toán tử
Miêu tả
1
**
Toán tử mũ
2
* / % //
Phép nhân, chia, lấy phần dư
và phép chia lấy phần nguyên
3
+ –
Toán tử Cộng, Trừ
4
<= < > >=
Các toán tử so sánh
5
<> == !=
Các toán tử so sánh
6
= %= /= //= -=
+= *= **=
Các toán tử gán
7
is, is not
Các toán tử so sánh
8
not, or, and
Các toán tử Logic
Lưu ý: Trong thực tế khi lập trình, để câu lệnh tường minh, rõ
ràng, lập trình viên thường dùng cặp ngoặc tròn () để nó rõ nghĩa
hơn.
4. Điều kiện if
if Biểu thức điều kiện:
Câu lệnh*
Câu lệnh* được thực hiện khi “Biểu thức điều kiện” có giá
trị True.
Thí dụ 2:
Trang 21
Bản Thảo
Lập trình cơ bản với Python
x = 5
if x < 10:
print ("Smaller")
if x > 20:
print ("Bigger")
print ("Finis")
Kết quả:
Smaller
Finis
5. Điều kiện if … else
if Biểu thức điều kiện:
Câu lệnh 1
else:
Câu lệnh 2
Câu lệnh 1 được thực hiện khi “Biểu thức điều kiện” có giá
trị True, Câu lệnh 2 được thực hiện khi “Biểu thức điều kiện”
có giá trị False.
Thí dụ 3:
x = 5
if x < 2:
print ("Smaller")
else:
Trang 22
Bản Thảo
Lập trình cơ bản với Python
print ("Bigger")
print ("All done")
6. Điều kiện if … elif … else
if Biểu thức điều kiện 1:
Câu lệnh 1
elif Biểu thức điều kiện 2:
Câu lệnh 2
…
elif Biểu thức điều kiện n
Câu lệnh n
else:
Câu lệnh else
Thí dụ 4:
x = int (input ('Nhap mot so nguyen: '))
if x < 2:
print 'small'
elif x < 10:
print 'Medium'
else:
print 'LARGE'
print 'All done'
Trang 23
Bản Thảo
Lập trình cơ bản với Python
7. Biểu thức điều kiện
Với biểu thức điều kiện if … else như thí dụ sau:
if a > b:
max=a
else:
max=b
Bạn có thể viết ngắn gọn như sau:
max = a if (a > b) else b
Lưu ý: Nếu bạn đang sử dụng các ngôn ngữ lập trình như C/C++;
VB, .NET hay Java thì cú pháp trên sẽ là:
max = (a > b) ? a : b
Thí dụ 5:
>>> max = 3 if (3 > 5) else 5
Kết quả: 5
8. Cấu trúc try … catch
Đôi khi câu lệnh xảy ra lỗi trong lúc thi thực như thí dụ
dưới đây:
astr = input ('Nhap so nguyen: ')
istr = int(astr)
print ('So vua nhap ', istr)
Trang 24
Bản Thảo
Lập trình cơ bản với Python
Nếu script trên khi thực thi, giá trị nhập vào không phải là
số thì sẽ báo lỗi như sau:
Lý do xảy ra lỗi: Trong thí dụ trên, chuỗi hello nhập từ bàn
phím được gán cho biến astr. Ở dòng tiếp theo, biến astr được
chuyển thành giá trị số nguyên thông qua hàm int(astr). Tuy
nhiên trong trường hợp này biến astr không thể nào chuyển
sang dạng số được vì giá trị đang là hello. Nên khi chương
trình thực hiện đến dòng đó sẽ báo lỗi Invalid literal for
int(), lỗi giá trị chuỗi không hợp lệ để chuyển sang định
dạng số.
Vậy khi nào không bị lỗi: Bạn sẽ không bị lỗi trong trường
hợp bạn phải nhập đúng giá trị dạng số như minh họa dưới đây
khi người dùng nhập vào cho chuỗi astr là 5.
Tuy nhiên, chương trình viết như trên sẽ không phù hợp với
người dùng, chương trình phải đảm bảo xử lý được tất cả các
trường hợp mà có thể xảy ra khi người dùng sử dụng, nghĩa là
phải xem xét đến các khả năng mà người dùng xử lý sai và đưa
ra các chỉ dẫn phù hợp.
Để xử lý cho trường hợp này ta có thể dùng khối lệnh try …
except được hỗ trợ trong python.
Cú pháp như sau:
try:
Câu lệnh có khả năng sinh ra các ngoại lệ
except:
Câu lệnh xử lý trong trường hợp lỗi xảy ra
Trang 25
Bản Thảo
Lập trình cơ bản với Python
Trở lại thí dụ, giả sử ta mong muốn xử lý lỗi theo hướng mặc
định gán giá trị là -1 khi người dùng nhập vào phát sinh lỗi,
cú pháp xử lý như sau:
astr = input ('Nhap so nguyen: ')
try:
istr = int(astr)
except:
istr = -1
print 'Done', istr
Trang 26
Bản Thảo
Lập trình cơ bản với Python
BÀI TẬP CHƯƠNG 2
Bài 2.1 Không lập trình, hãy xem đoạn script sau và cho biết kết
quả:
a = 5
b = 7
print ('a > b', a > b)
print ('a < b', a < b)
print ('a >= b', a >= b)
print ('a <= b', a <= b)
print ('a == b', a == b)
print ('a < b or a!= b',a < b or a != b)
print ('a > b and a!= b',a < b and a != b)
Bài 2.2 Cho đoạn script sau:
x = a
if x > 2:
print 'Bigger than 2'
print 'Still bigger'
print 'Done with 2'
a. Theo bạn, với giá trị a bằng bao nhiêu thì đoạn script trên in
ra màn hình kết quả:
Bigger than 2
Still bigger
Done with 2
Trang 27
Bản Thảo
Lập trình cơ bản với Python
b. Theo bạn, với giá trị a bằng bao nhiêu thì đoạn script trên in
ra màn hình kết quả:
Done with 2
Bài 2.3 Viết chương trình nhập vào hai số a, b; giải và biện luận
phương trình ax + b = 0
Gợi ý: sử dụng hàm int (string) để chuyển dữ liệu từ định dạng
chuỗi sang định dạng số.
Thí dụ: a = int (input('Nhap a: '))
Bài 2.4 Viết chương trình nhập vào ba số a, b, c; giải và biện
luận phương trình ax2+ bx + c = 0
Bài 2.5 Viết chương trình nhập vào lương cơ bản, số năm công tác,
in ra tiền lương hàng tháng có tính số % phụ cấp thâm niên theo
công thức:
Lương hàng tháng = lương cơ bản + phụ cấp thâm niên
Nếu số năm công tác dưới 5 năm: phụ cấp thâm niên 0%
Nếu số năm công tác trên 5 năm, phụ cấp thâm niên được tính
theo % số năm công tác. Thí dụ người A có 6 năm thâm niên, vậy
phụ cấp thâm niên của A là 6% * lương cơ bản.
Bài 2.6 Viết chương trình nhập vào năm sinh, in ra tuổi. Lưu ý nếu
năm sinh nhập vào không hợp lệ (giá trị âm, hoặc lớn hơn năm hiện
tại, hoặc giá trị nhập vào là chuỗi) thì hiện thị ra thông báo
đồng thời gán giá trị mặc định là năm hiện tại.
Bài 2.7 Giá cước taxi được tính theo công thức: 1km đầu tiên tính
từ lúc lên xe: 13000 đồng. Mỗi km tiếp theo được tính theo đơn giá
là 12000 đồng. Từ km 30 trở lên, mỗi km được tính là 9000 đồng.
Trang 28
Bản Thảo
Lập trình cơ bản với Python
Hãy viết chương trình nhập vào số km đã đi và in ra giá tiền cần
phải thanh toán.
Bài 2.8 Tổng số giờ làm việc được quy định cho một nhân viên trong
tuần là 40 giờ, nếu người lao động làm nhiều hơn số giờ quy định,
thì mỗi giờ hơn sẽ được tính là 1.5 giờ. Hãy nhập vào tiền lương
của 1 giờ, số giờ làm việc trong tuần, in ra tiền lương sẽ được
trả trong tuần.
Bài 2.9 Viết chương trình nhập vào năm sinh (namsinh), in ra tuổi
(tuoi). Lưu ý nếu năm sinh nhập vào không hợp lệ (giá trị âm, hoặc
lớn hơn năm hiện tại, hoặc giá trị nhập vào là chuỗi) thì hiện thị
ra thông báo đồng thời gán giá trị mặc định là năm hiện tại.
Gợi ý: Cần phải bổ sung thư viện thời gian tại đoạn đầu của Script
theo cú pháp.
import time
today = time.localtime()
tuoi = namsinh – today[0]
Trang 29
Bản Thảo
Lập trình cơ bản với Python
Bài 3: XÂY DỰNG HÀM
Mục tiêu:
-
Làm quen với khai báo và sử dụng hàm
-
Làm quen với hàm main
Nội dung chính:
-
Định nghĩa hàm
-
Xây dựng và sử dụng hàm không trả về kết quả
-
Xây dựng và sử dụng hàm có trả kết quả về
-
Hàm main
-
Hàm đệ quy
1. Định nghĩa hàm
Hàm (Function) là đoạn chương trình độc lập, hoàn chỉnh, có
thể sử dụng nhiều lần. Hàm cho phép người lập trình
(developer) cấu trúc chương trình thành các phân đoạn khác
nhau để dễ dàng trong việc sử dụng và chỉnh sửa.
Thí dụ: Viết chương trình nhập vào 4 số nguyên a, b, c, d các
giải phương trình sau:
ax + b = 0
cx + d = 0
Trường hợp không định nghĩa hàm, để giải 2 phương trình ax +
b = 0 và cx + d = 0 ta phải đi lần lượt giải cho từng phương
trình.
Trang 30
Bản Thảo
Lập trình cơ bản với Python
Như hình bên trên, từ dòng...
 





