Giáo trình Tin Học - Lập trình Python cơ bản - Hồ Văn Thuyên
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Tin Học - Lập trình Python cơ bản - Hồ Văn Thuyên", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
giao_trinh_tin_hoc_lap_trinh_python_co_ban_ho_van_thuyen.pdf
Nội dung tài liệu: Giáo trình Tin Học - Lập trình Python cơ bản - Hồ Văn Thuyên
- MỤC LỤC BÀI 1: LÀM QUEN VỚI NGÔN NGỮ LẬP TRÌNH BẬC CAO ......................................... 1 1. Cài đặt Python và môi trường lập trình. .......................................................................... 1 2. Ngôn ngữ Python và cửa sổ lập trình IDLE Python. ....................................................... 3 2.1. Python là gì ? ............................................................................................................ 3 2.2. Lịch sử Python. ......................................................................................................... 4 2.3. Làm quen cửa sổ lập trình IDLE Python. ................................................................. 5 2.4. Chương trình đầu tiên với ngôn ngữ Python ............................................................ 6 BÀI 2: BIẾN, PHÉP GÁN VÀ CÂU LỆNH VÀO - RA ........................................................ 8 1. Biến và tên. ...................................................................................................................... 8 1.1. Khái niệm biến. ......................................................................................................... 8 1.2. Khai báo biến. ........................................................................................................... 8 1.3. Đặt tên biến. .............................................................................................................. 9 1.4. Từ khoá ................................................................................................................... 10 2. Câu lệnh vào – ra dữ liệu. .............................................................................................. 11 BÀI 3: HÀM SỐ HỌC VÀ CÁC DẠNG BIỂU THỨC ....................................................... 14 1. Hàm số học chuẩn. ......................................................................................................... 14 2. Biểu thức trong Python. ................................................................................................. 15 3. Biểu thức quan hệ. ......................................................................................................... 17 4. Biểu thức lô-gic. ............................................................................................................. 17 BÀI 4: THỰC HÀNH VIẾT CHƯƠNG TRÌNH ĐƠN GIẢN ............................................. 19 1. Chú thích (comment) trong Python. .............................................................................. 19 2. Bài tập luyện tập. ........................................................................................................... 19 BÀI 5: CÂU LỆNH RẼ NHÁNH .......................................................................................... 22 1. Cấu trúc rẽ nhánh dạng thiếu. ........................................................................................ 22 2. Cấu trúc rẽ nhánh dạng đủ. ............................................................................................ 23 3. Cấu trúc rẽ nhánh dạng đủ có nhiều điều kiện khác nhau. ............................................ 24 4. Khối lệnh trong Python .................................................................................................. 26 BÀI 6: CÂU LỆNH LẶP ....................................................................................................... 30 1. Lặp có số lần lặp biết trước và cấu trúc lặp . ........................................................... 31 2. Lặp có số lần lặp không biết trước và cấu trúc lặp . ........................................... 32 3. Lệnh và . ........................................................................................... 35 3.1. Lệnh .......................................................................................................... 35 3.1. Lệnh .................................................................................................... 36
- BÀI 7: CHƯƠNG TRÌNH CON VÀ THƯ VIỆN CÁC CHƯƠNG TRÌNH CON CÓ SẴN ................................................................................................................................................ 40 1. Chương trình con là gì ? ................................................................................................ 42 2. Cách xây dựng chương trình con (hàm). ....................................................................... 42 3. Sử dụng chương trình con (hàm). .................................................................................. 43 4. Truyền tham số cho chương trình con (hàm). ................................................................ 43 4.1. Tham số với giá trị bắt buộc. .................................................................................. 43 4.2. Tham số với giá trị mặc định. ................................................................................. 44 4.3. Phân biệt tham số, đối số. ....................................................................................... 46 4.4. Biến toàn cục, biến cục bộ. ..................................................................................... 47 BÀI 8: KIỂU DỮ LIỆU XÂU KÍ TỰ VÀ XỬ LÝ XÂU KÍ TỰ ......................................... 51 1. Khái niệm ....................................................................................................................... 51 2. Các ký tự điều khiển trong xâu. ..................................................................................... 51 3. Các toán tử với xâu. ....................................................................................................... 52 3.1. Toán tử +: ................................................................................................................ 52 3.2. Toán tử * ................................................................................................................. 52 3.3. Toán tử ............................................................................................................... 53 4. Các thao tác trên xâu. ..................................................................................................... 53 4.1. Truy xuất đến một phần tử trong xâu. .................................................................... 53 4.2. Truy xuất đến nhiều phần tử trong xâu. .................................................................. 54 4.3. Thay đổi nội dung xâu. ........................................................................................... 55 5. Các phương thức xử lý trên xâu. .................................................................................... 55 5.1. Phương thức : ...................................................................................... 55 5.2. Phương thức : ...................................................................................... 56 5.3. Phương thức : ........................................................................................... 56 5.4. Phương thức .............................................................................................. 57 5.5. Phương thức ....................................................................................... 58 5.6. Phương thức ............................................................................................ 58 5.7. Phương thức .............................................................................................. 59 5.8. Phương thức .......................................................................................... 59 5.9. Phương thức : ............................................................................................... 60 BÀI 9: KIỂU DỮ LIỆU DANH SÁCH VÀ XỬ LÝ DANH SÁCH ................................... 63 1. Khái niệm ....................................................................................................................... 63 2. Khởi tạo một danh sách. ................................................................................................ 64
- 2.1. Tạo danh sách sử dụng lệnh gán trực tiếp: ............................................................. 64 2.2. Tạo danh sách sử dụng lệnh gán gián tiếp: ............................................................. 65 4. Các thao tác trên danh sách. ........................................................................................... 66 4.1. Truy xuất đến một phần tử trong danh sách. .......................................................... 67 4.2. Truy xuất đến nhiều phần tử trong danh sách. ........................................................ 67 4.3. Thay đổi phần tử trong danh sách. .......................................................................... 68 5. Các phương thức xử lý trên danh sách. ......................................................................... 69 5.1. Thêm phần tử vào danh sách ........................................................... 69 5.2. Mở rộng danh sách .......................................................................... 69 5.3. Chèn phần tử vào danh sách ....................................................... 70 5.4. Xóa phần tử trong danh sách ................................................................................ 70 5.4.2. Xóa theo giá trị của phần tử trong danh sách: ..................................................... 71 5.4.3. Phương thức xắp xếp tăng dần, giảm dần các phần tử trong danh sách: ............. 72 5.5. Một số phương thức khác xử lý danh sách. ............................................................ 73 GỢI Ý VÀ HƯỚNG DẪN GIẢI BÀI TẬP .......................................................................... 77 Bài 1. Làm quen với ngôn ngữ lập trình bậc cao. .............................................................. 77 Bài 2. Biến, phép gán và câu lệnh vào - ra. ....................................................................... 77 Bài 3. Hàm số học và các dạng biểu thức. ......................................................................... 78 Bài 4. Thực hành viết chương trình đơn giản. ................................................................... 79 Bài 5. Câu lệnh rẽ nhánh. ................................................................................................... 80 Bài 6. Câu lệnh lặp. ............................................................................................................ 82 Bài 7. Chương trình con và thư viện các chương trình con có sẵn. ................................... 84 Bài 8. Kiểu dữ liệu xâu kí tự và xử lý xâu kí tự. ............................................................... 86 Bài 9. Kiểu dữ liệu danh sách và xử lý danh sách ............................................................. 88
- BÀI 1: LÀM QUEN VỚI NGÔN NGỮ LẬP TRÌNH BẬC CAO Sau bài này, người học có thể: • Biết thông tin về ngôn ngữ lập trình Python. • Biết cách cài đặt Python và môi trường cho Python. • Xây dựng và chạy được một chương trình Python đơn giản. 1. Cài đặt Python và môi trường lập trình. Phần hướng dẫn này khi Python đang có phiên bản 3.10.0 dành cho hệ điều hành Windows. Các phiên bản sau này thực hiện tương tự, nếu có sự thay đổi sẽ có nội dung cập nhật cho chuyên đề này. Bước 1: Truy cập vào trang chủ của Python: Bước 2: Chọn phiên bản ở mục Downloads và nhập chọn Python 3.10.0 để tải xuống.
- Bước 3: Sau tải xuống Python hoàn tất. Chúng ta nhấn chọn chạy file python-3.6.1.exe để bắt đầu tiến trình cài đặt. Bước 4: Nhấn chọn vào ô Add Python 3.6 to PATH và chọn Install Now Bước 5: Khi cửa sổ hiển thị Setup was successful là ta đã cài đặt thành công môi trường Python > Close. Chọn Add Python 3.6 to PATH là bước quan trọng Chờ đợi cho quá trình cài đặt hoàn thành Bước 6: Tiếp đến, ta mở Command Prompt (CMD) để kiểm tra. Để mở Command Prompt bạn dùng tổ hợp phím Windows + R để mở hộp thoại Run. Sau đó, gõ cmd > Enter để mở Command Prompt.
- Cửa sổ Command Prompt hiển thị như bên dưới: Bước 7: Trong cửa sổ Command Prompt, bạn gõ python > Enter để kiểm tra Nếu bạn hiển thị ra được shell để tương tác với Python như hình ở trên có nghĩa là phần cài đặt đã hoàn tất. Lưu ý: Trong cửa sổ shell có thông báo phiên bản của Python (3.10.6) đã được cài đặt thành công. Một số phiên bản cần gõ chữ python3, py3 hoặc py thì cửa sổ shell mới cho kết quả thông báo về phiên bản Python đã được cài đặt trên máy tính. 2. Ngôn ngữ Python và cửa sổ lập trình IDLE Python. 2.1. Python là gì ? Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object- oriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics). Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái sử dụng mã. Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và có thể được phân phối tự do. Sau đây là các đặc điểm của Python: Ngữ pháp đơn giản, dễ đọc. Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (object-oriented) Hỗ trợ module và hỗ trợ gói (package) Xử lý lỗi bằng ngoại lệ (Exception)
- Kiểu dữ liệu động ở mức cao. Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu lập trình. Có khả năng tương tác với các module khác viết trên C/C++ (Hoặc Java cho Jython, hoặc .Net cho IronPython). Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface). Python dễ dàng kết nối với các thành phần khác: Python có thể kết nối với các đối tượng COM, .NET (Ironpython, Python for .net), và CORBA, Java Python cũng được hỗ trợ bởi Internet Communications Engine (ICE) và nhiều công nghệ kết nối khác. Có thể viết các thư viện trên C/C++ để nhúng vào Python và ngược lại. Python là ngôn ngữ có khả năng chạy trên nhiều nền tảng. Python có cho mọi hệ điều hành: Windows, Linux/Unix, OS/2, Mac, Amiga, và những hệ điều hành khác. Thậm chí có cả những phiên bản chạy trên .NET, máy ảo Java, và điện thoại di động (Nokia Series 60). Với cùng một mã nguồn sẽ chạy giống nhau trên mọi nền tảng. Python rất đơn giản và dễ học. Python có cộng đồng lập trình rất lớn, hệ thống thư viện chuẩn, và cả các thư viện mã nguồn mở được chia sẻ trên mạng. Python là ngôn ngữ mã nguồn mở. Cài đặt Python dùng giấy phép nguồn mở nên được sử dụng và phân tối tự do, ngay cả trong việc thương mại. Giấy phép Python được quản lý bởi Python Software Foundation. 2.2. Lịch sử Python. Python đã được hình thành vào cuối những năm 1980, và việc thực hiện nó vào tháng 12 năm 1989 bởi Guido van Rossum tại Centrum Wiskunde & Informatica (CWI) ở Hà Lan như là một kế thừa cho ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả năng xử lý ngoại lệ và giao tiếp với Hệ điều hành Amoeba. Van Rossum là tác giả chính của Python, và vai trò trung tâm của ông trong việc quyết định hướng phát triển của Python. Python là ngôn ngữ có hình thức sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cho phép người sử dụng viết mã với số Guido van Rossum lần gõ phím tối thiểu. Python cũng là một trong những ngôn ngữ phổ biến nhất thế giới. Ngôn ngữ Python có triết lý rất rõ ràng (Zen of Python), chúng ta có thể tham khảo nội dung này qua bài thơ mà đã viết thông qua câu lệnh: .
- 2.3. Làm quen cửa sổ lập trình IDLE Python. Nhấn phím Windows và gõ từ khoá: IDLE, cửa sổ xuất hiện IDLE (Python 3.10 64- bit), ta chọn Open để mở IDLE soạn thảo chương trình lập trình cho Ngôn ngữ Python. Cửa sổ IDLE Shell xuất hiện. Tại đây chúng ta có thể viết các câu lệnh Python. Cửa sổ làm việc trực tiếp của Python Để thuận tiện cho quá trình soạn thảo và lưu trữ chương trình lập trình, ta tiến hành các bước như sau: Tại cửa sổ Shell (IDLE Python) làm việc, ta vào File Chọn New file (Cltr+N) để tạo một file mới để soạn thảo chương trình. Thực hiện lưu file tại vị trí lưu trữ do người dùng chỉ định và đặt tên file cho chương trình sẽ lập trình. Phần mở rộng của ngôn ngữ Python sẽ là: *.py ( dấu * là phần tên do người dùng đặt).
- 2.4. Chương trình đầu tiên với ngôn ngữ Python Tạo file chương trình đầu tiên lưu lại với tên xinchao.py. Gõ dòng lệnh: Sau đó, chọn Run (F5) để thực hiện biên dịch chương trình. Một cửa sổ hiện lên thông báo : Save Before Run or Check (Lưu trước khi biên dịch hoặc kiểm tra lại), ta chọn OK để thực hiện lưu file chương trình và chạy biên dịch. Kết quả chương trình tại IDLE Shell in ra kết quả: . Trong chương trình trên, dòng chữ: có thể đặt trong cặp dấu nháy đơn(' ') như mô tả vẫn cho kết quả tương tự như việc đặt nội dung hiển thị trong cặp dấu nháy đôi. Để hiện thị nội dung trên nhiều dòng liên tiếp ta có thể đặt nội dung đó trong cặp dấu nháy ba (''' ''') Chương trình và kết quả in ra màn hình cho nhiều dòng hiển thị liên tiếp Ngoài ra, có rất nhiều IDLE giúp người dùng soạn thảo và biên dịch ngôn ngữ Python thuận tiện, quản lý code (mã nguồn) và các project (dự án) như: Wing Python IDE, Sublime Text, Thonny IDE, Spyder IDE, Anaconda, Notepad++, PyCharm, Visual Studio Code, Một số Website online hỗ trợ khác như: trinket.io, replit.com, online-python.com, Trong bài đầu tiên, người học cần nắm được: – Các bước cài đặt, cấu hình biến môi trường trong Python. Viết một chương trình đơn giản với ngôn ngữ Python.
- – Một chương trình Python có thể được thực thi theo nhiều cách: • Chạy trực tiếp từng dòng lệnh trên cửa sổ lệnh của Python; • Dịch và chạy chương trình trên cửa sổ dòng lệnh cmd của Windows; • Chạy trực tiếp chương trình trên mạng Internet; • Chạy trên phần mềm lập trình chuyên nghiệp (môi trường tích hợp phát triển – IDE) PyCharm, Visual Studio Code. A. Câu hỏi. Câu 1.1: Cho biết khẳng định nào sau đây là đúng? A. Python là một ngôn ngữ lập trình bậc cao. B. Python là một ngôn ngữ thông dịch. C. Python là một ngôn ngữ lập trình bậc thấp. D. Python hỗ trợ lập trình vi điều khiển. Câu 1.2: Để hiển thị dòng chữ “Lập trình Python” trong Python ta: A. Sử dụng câu lệnh Print(). B. Sử dụng câu lệnh print(). C. Sử dụng câu lệnh printf(). D. Sử dụng câu lệnh cout(). Câu 1.3: Làm sao để chạy một chương trình Python đã soạn thảo trên IDLE Python? A. Nhấn nút "Run" trên thanh công cụ. B. Nhấn chuột phải trong vùng soạn thảo mã lệnh sau đó chọn mục "Run". C. Nhấn phím F5 trên bàn phím. D. Nhấn tổ hợp phím Ctrl+Shift+F10. B. Lập trình. Bài tập 1.1: Xây dựng chương trình hiển thị ra màn hình thông tin sau: ************************************ * LẬP TRÌNH CĂN BẢN * * Ngôn ngữ: PYTHON * ************************************ Bài tập 1.2: Xây dựng chương trình hiển thị ra màn hình như sau: * * * * * * * * * * * * * * Bài tập 1.3: Hãy in ra màn hình hình chữ nhật như dưới đây: ******************* ******************* ******************* *******************
- BÀI 2: BIẾN, PHÉP GÁN VÀ CÂU LỆNH VÀO - RA Sau bài này, người học có thể: • Biết cách đặt tên biến và sử dụng biến trong chương trình. • Giải thích và sử dụng từ khóa Python. • Sử dụng được các số (số nguyên, số thực) trong Python. • Viết được câu lệnh vào – ra cơ bản với kiểu số nguyên, số thực, xâu kí tự (chuỗi). 1. Biến và tên. 1.1. Khái niệm biến. Biến là một vùng nhớ trong máy tính dùng để lưu trữ một giá trị dữ liệu có thể thay đổi được trong chương trình. Thông thường vùng nhớ này được quản lý bởi một tên (gọi là tên biến) và thay vì truy xuất đến vùng nhớ thì chúng ta truy xuất đến tên biến. Tùy vào các kiểu dữ liệu mà ngôn ngữ lập trình Python sẽ cấp phát vùng nhớ khác nhau cho một biến, một biến có thể chứa kiểu dữ liệu như số nguyên (int), số thực (float), xâu (str), danh sách (list),.v.v 1.2. Khai báo biến. Không giống như các ngôn ngữ lập trình C/C++, C# hay Java, để khai báo biến trong Python ta không cần phải khai báo kiểu dữ liệu ta chỉ cần gán một giá trị cho tên biến, Python sẽ tự động suy ra kiểu dữ liệu tương ứng cho biến. Do đó, một biến trong Python có thể có nhiều kiểu dữ liệu khác nhau tùy thuộc vào giá trị mà ta gán cho biến ở từng đoạn mã chương trình. Chúng ta có thể dùng hàm để xem kiểu dữ liệu hiện thời của biến. Biến trong Python bắt buộc phải tạo ra cùng phép gán. Phép gán trong Python có nhiệm vụ “ghép đôi” biến với giá trị. Cú pháp: Ví dụ 2.1: Lệnh gán a = 1000 sẽ tạo ra một giá trị số nguyên 1000 trong bộ nhớ và ‘a’ được dùng để trỏ tới giá trị này. ‘a’ đại diện cho giá trị 1000 trong bộ nhớ chứ ‘a’ không trực tiếp chứa giá trị 1000. Sử dụng ‘a’ trong chương trình tương đương với sử dụng giá trị 1000 từ bộ nhớ. Lệnh gán b = a tạo tiếp biến b trỏ tới cùng giá trị với a, tức là cùng trỏ tới giá trị 1000 trong bộ nhớ. Khi này b và a thực tế là như nhau. Tương tự, lệnh gán c = b tạo tiếp biến c và cùng trỏ tới giá trị của b (và cũng là giá trị của a). Như vậy, a, b và c thực tế là cùng một giá trị nhưng khác tên gọi. Giống như cùng một file nhưng bạn có thể tạo nhiều shortcut tới nó. Trong Python: Khai báo biến luôn phải đi kèm gán giá trị; Không cần chỉ định kiểu dữ liệu; Không cần từ khóa nào khi khai báo biến.