Bài giảng Nhập môn Tư duy tính toán: Bài 5 - Trương Xuân Nam

18 15 0
Bài giảng Nhập môn Tư duy tính toán: Bài 5 - Trương Xuân Nam

Đ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

Bài giảng Nhập môn Tư duy tính toán: Bài 5 Kiểu tuần tự trong python, phần 2 cung cấp cho người học những kiến thức như: List (danh sách); Tuple (hàng); Range (miền); Bài tập về dữ liệu tuần tự. Mời các bạn cùng tham khảo!

NHẬP MƠN TƯ DUY TÍNH TỐN Bài 5: Kiểu python, phần Nội dung Kiểu liệu (sequential data type) String (chuỗi) Bài tập xử lý chuỗi List (danh sách) Tuple (hàng) Range (miền) Bài tập liệu TRƯƠNG XUÂN NAM Phần List (danh sách) TRƯƠNG XUÂN NAM Giới thiệu khai báo ▪ List = dãy đối tượng (một loại array đa năng) ▪ Các phần tử list không thiết phải kiểu liệu ▪ Khai báo trực tiếp: liệt kê phần tử đặt cặp ngoặc vuông ([]), ngăn cách dấu phẩy (,) [1, 2, 3, 4, 5] ['a', 'b', 'c', 'd'] [[1, 2], [3, 4]] [1, 'one', [2, 'two']] [] # # # # # list list list list list số nguyên chuỗi list hỗ hợp rỗng ▪ Kiểu chuỗi (str) python xem list đặc biệt, bên gồm toàn str độ dài TRƯƠNG XUÂN NAM Khởi tạo list ▪ Tạo list constructor l1 = list([1, 2, 3, 4]) l2 = list('abc') l3 = list() # list số nguyên # list chuỗi # list rỗng ▪ Tạo list list comprehension: đoạn mã ngắn trả phần tử thuộc list # X # # Y list 1000 số nguyên từ đến 999 = [n for n in range(1000)] list gồm 10 list cặp [x, x2] với x chạy từ đến = [[x, x*x] for x in range(10)] TRƯƠNG XUÂN NAM Phép toán, mục cắt ▪ Giữa list str có tương đồng định ▪ List hỗ trợ phép toán: ghép nối (+), nhân (*) kiểm tra nội dung (in) ▪ List sử dụng hệ thống mục phép cắt phần tương tự str ▪ Điểm khác biệt: nội dung list thay đổi # khởi tạo list ban đầu l1 = list([1, 2, 3, 4]) # thay đổi giá trị phần tử cuối l1[-1] = list('abc') # in nội dung list: [1, 2, 3, ['a', 'b', 'c']] print(l1) TRƯƠNG XUÂN NAM Các phương thức list ▪ Một số phương thức thường hay sử dụng ▪ count(sub, [start, [end]]): đếm số lần xuất sub ▪ index(sub[, start[, end]]): tìm vị trí xuất sub, trả ValueError khơng tìm thấy ▪ clear(): xóa trắng list ▪ append(x): thêm x vào cuối list ▪ extend(x): thêm phần tử x vào cuối list ▪ insert (p, x): chèn x vào vị trí p list ▪ pop(p): bỏ phần tử thứ p khỏi list (trả giá trị phần tử đó), khơng định p lấy phần tử cuối TRƯƠNG XUÂN NAM Các phương thức list ▪ Một số phương thức thường hay sử dụng ▪ copy(): tạo list (tương tự list[:]) ▪ remove(x): bỏ phần tử list có giá trị x, báo lỗi ValueError khơng tìm thấy ▪ reverse(): đảo ngược phần tử list ▪ sort(key=None, reverse=False): mặc định xếp phần tử từ bé đến lớn list cách so sánh trực tiếp giá trị x = "Trương Xuân Nam".split() x.sort(key=str.lower) print(x) TRƯƠNG XUÂN NAM Ví dụ làm việc với list # tạo in nội dung list danhsach = ["apple", "banana", "cherry"] for x in danhsach: print(x) # thêm phần tử vào cuối list lại in danhsach.append("orange") print(danhsach) # thêm phần tử vào list in danhsach.insert(1, "orange") print(danhsach) # xếp lại danh sách in danhsach.sort() print(danhsach) TRƯƠNG XUÂN NAM Một số thao tác thông dụng với list Tạo list 2.Duyệt list 3.Truy cập phần tử theo số 4.Thay đổi nội dung phần tử 5.Cắt list 6.Thêm phần tử vào list 7.Bỏ phần tử khỏi list 8.Tìm kiếm phần tử list 9.Sắp xếp phần tử list 10.List hỗ hợp TRƯƠNG XUÂN NAM 10 Phần Tuple (hàng) TRƯƠNG XUÂN NAM 11 Tuple dạng readonly list ▪ Tuple = dãy đối tượng (list), bị thay đổi giá trị q trình tính tốn ▪ Như str giống tuple nhiều list ▪ Khai báo trực tiếp cách liệt kê phần tử đặt cặp ngoặc tròn (), ngăn cách phẩy (1, 2, 3, 4, 5) ('a', 'b', 'c', 'd') (1, 'one', [2, 'two']) (1,) () # # # # # TRƯƠNG XUÂN NAM tuple tuple tuple tuple tuple số nguyên chuỗi hỗ hợp phần tử rỗng 12 Tuple list nhiều điểm giống ▪ Tuple tạo constructor tuple comprehension ▪ Tuple hỗ trợ phép toán: +, *, in ▪ Tuple cho phép sử dụng mục cắt ▪ Các phương thức thường dùng tuple ▪ count(v): đếm số lần xuất v tuple ▪ index(sub[, start[, end]]): tương tự str list ▪ Tuple khác list điểm nào? ▪ Chiếm nhớ ▪ Nhanh TRƯƠNG XUÂN NAM 13 Phần Range (miền) TRƯƠNG XUÂN NAM 14 Range tuple đặc biệt? ▪ Chúng ta làm quen với range dùng vòng for ▪ range(stop): tạo miền từ đến stop-1 ▪ range(start, stop[, step]): tạo miền từ start đến stop-1, với bước nhảy step • Nếu khơng định step = • Nếu step số âm tạo miền đếm giảm dần (start > stop) ▪ Vậy range khác tuple đặc biệt ▪ ▪ ▪ ▪ Range chứa số nguyên Range nhanh nhiều Range chiếm nhớ Range hỗ trợ mục cắt (nhưng đặc biệt) TRƯƠNG XUÂN NAM 15 Phần Bài tập TRƯƠNG XUÂN NAM 16 Bài tập Người dùng nhập từ bàn phím liên tiếp từ tiếng Anh viết tách dấu cách Hãy nhập chuỗi đầu vào tách thành từ sau in hình từ theo thứ tự từ điển 2.Người dùng nhập từ bàn phím chuỗi số nhị phân viết liên tiếp nối dấu phẩy Hãy nhập chuỗi đầu vào sau in giá trị nhập 3.Nhập số n, in hình số nguyên dương nhỏ n có tổng ước số lớn 4.Nhập vào chuỗi từ người dùng, kiểm tra xem có phải địa email hợp lệ hay không? TRƯƠNG XUÂN NAM 17 Bài tập 5.*Hãy nhập số nguyên n, tạo list gồm số fibonacci nhỏ n in ▪ Dãy fibonacci dãy số nguyên định nghĩa cách đệ quy sau: f(0)=0, f(1) = 1, f(1

Ngày đăng: 09/08/2021, 18:33

Từ khóa liên quan

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

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

Tài liệu liên quan