giáo trình LẬP TRÌNH PYTHON

65 6 0
giáo trình LẬP TRÌNH PYTHON

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa Công nghệ thông tin Bộ mơn Tin học KTTT LẬP TRÌNH PYTHON Giảng viên: TS.GVC Bùi Thị Thanh Xuân Email: xuanbtt@tlu.edu.vn Điện thoại: 0902001581 Hàm Python Hàm Python ❖Cú pháp khai báo hàm đơn giản def (danh-sách-tham-số): … ❖Ví dụ: hàm tính tích số def tich(a,b): return a * b ❖Hàm trả kết lệnh return, khơng trả coi trả None ❖Gọi hàm thông qua tên đối số dt = tich(100, 200) s = tich(20, 30) + tich(40, 50) Hàm Hàm với tham số mặc định ❖Hàm giá trị mặc định tham số # khơng nói mặc định b=1 def tich(a, b = 1): return a*b ❖Như với hàm ta gọi thực nó: print(tich(10, 20)) print(tich(10)) print(tich(a=5)) print(tich(b=6, a=5)) # # # # 200 10 30 ❖Chú ý: tham số có giá trị mặc định phải đứng cuối danh sách tham số Trả kết từ hàm ❖Hàm khơng có kiểu, trả loại liệu gì, chí trả nhiều kiểu liệu khác def func1(): return 1001 # trả loại kết def func2(): print('None') # không trả kết def func3(): return 1001, 'abc', 4.5 # trả phức hợp nhiều loại def func4(n): if n < 0: return 'số âm' # trả chuỗi else: return n + # trả số Trả kết từ hàm Nhận xét ❖Nếu hàm không cần trả giá trị cụ thể ta khơng cần viết câu lệnh return ❖Ví dụ: Python khơng cho phép nạp chồng hàm Python không cho phép hàm trùng tên, cố ý định nghĩa nhiều hàm trùng tên, python sử dụng phiên cuối def abc(): return 'abc version 1' def abc(a): return 'abc version 2' def abc(a, b): return 'abc version 3' print(abc()) # lỗi, hàm abc cần tham số a b print(abc(1, 2)) # ok, in 'abc version 3' Python không cho phép nạp chồng hàm 10 Bài toán Tháp Hà Nội Cách giải toán tháp Hà Nội đệ quy ❖Qui ước: Đặt tên cột A B C để tiện theo dõi Yêu cầu toán chuyển n đĩa từ cột A sang cột C ❖Cách giải ➢Đầu tiên ta lấy cột C làm cọc trung gian Chuyển n-1 đĩa sang cột B ➢Ta chuyển đĩa lớn sang cột C ➢Lấy cột A làm cột trung gian chuyển n-1 đĩa từ cột B sang cột C 53 Ví dụ: Bài tốn tháp Hà nội A B C Yêu cầu: Dịch chuyển N đĩa từ cọc A sang C với trung gian cọc B N= 2: A B C 54 Ví dụ: Bài toán tháp Hà nội N= 2: A B C A B C A B C 55 Bài toán Tháp Hà Nội đệ quy 56 Khử đệ quy??? Khử đệ quy Ví dụ 1: Viết chương trình tính n! không sử dụng đệ quy n! =1.2 n 58 Khử đệ quy Ví dụ 1: Viết chương trình tính n! không sử dụng đệ quy n! =1.2 n 59 Khử đệ quy: Dãy số Fibonaccci 60 Khử đệ quy: In n số Fibonacci không đệ quy 61 Khử đệ quy: In n số Fibonacci không đệ quy 62 Bài tập ❖Viết hàm average nhận tham số trả giá trị trung bình cộng chúng ❖Viết hàm area trả diện tích tam giác biết độ dài ba cạnh chúng ❖Viết hàm area2 trả diện tích tam giác biết tọa độ (x, y) ba đỉnh tam giác ❖Viết hàm total nhận số nguyên N làm tham số, hàm trả tổng chữ số số N (chẳng hạn N = 132 hàm total trả 6) 63 Bài tập ❖Nhập điểm trung bình học tập sinh viên, sau dựa quy tắc in đánh giá kết học tập sinh viên ➢Điểm ➢Điểm ➢Điểm ➢Điểm ➢Điểm ➢Điểm 3.5: xếp loại yếu từ 3.5 đến 5: xếp loại từ đến 6.5: xếp loại trung bình từ 6.5 đến 8: xếp loại từ đến 9: xếp loại giỏi từ trở lên: xếp loại xuất sắc 64 Bài tập Nhập vào từ bàn phím ba số a, b c Thực công việc đây: In hình giá trị lớn ba số Nếu có hai số nhận giá trị lớn nhất, in giá trị thứ ba cịn lại Nhập vào từ bàn phím thơng tin ngày X, cách nhập ba số nguyên dương d, m y giá trị ngày (d) tháng (m) năm (y) X Tính in ngày tiếp sau X Ví dụ: người dùng nhập d = 31, m = 1, y = 2019 (tức X ngày 31 tháng năm 2019) chương trình cần in 1/2/2019 65 Bài tập ❖Viết hàm isPrime kiểm tra xem N có phải số ngun tố hay khơng? ❖Viết chương trình nhập hai số A B, in tất số nguyên tố nằm khoảng [A, B] ❖Nhập số A B, tính in hình ước số chung lớn bội số chung nhỏ hai số ❖Viết chương trình cho phép người dùng nhập vào liên tiếp dãy số tự nhiên (không biết trước độ dài), việc nhập dãy kết thúc người dùng nhập số âm 66 Bài tập ❖Viết chương trình cho phép người dùng nhập vào liên tiếp dãy số tự nhiên (không biết trước độ dài), việc nhập dãy kết thúc người dùng nhập số âm số Sau kết thúc, in hình ước số chung lớn bội số chung nhỏ tất số vừa nhập vào ❖Hàm fibo mở rộng định 𝑓𝑖𝑏𝑜 ≤ 𝑛 < 𝑘, 𝑘 = 𝑘 nghĩa sau 𝑓𝑖𝑏𝑜 𝑛 ≥ 𝑘, 𝑘 = ෍ 𝑓𝑖𝑏𝑜(𝑛 − 𝑖, 𝑘) 𝑖=𝑘 Viết chương trình nhập n k sau tính fibo(n, k) 67

Ngày đăng: 14/09/2022, 22:35

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan