1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng nhập môn tư duy tính toán bài 2 trương xuân nam

29 6 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 450,08 KB

Nội dung

NHẬP MƠN TƯ DUY TÍNH TỐN Bài 2: Cơ ngơn ngữ lập trình python Nội dung trình bày TRƯƠNG XUÂN NAM Phần Biến, khai báo chuỗi, khối lệnh TRƯƠNG XUÂN NAM Biến ▪ Biến = vùng nhớ đặt tên (để dễ thao tác) ▪ Ví dụ: n = 12 n = n + 0.1 # biến n kiểu nguyên # biến n chuyển sang kiểu thực ▪ Biến python: ▪ ▪ ▪ ▪ ▪ Có tên, phân biệt chữ hoa/thường Khơng cần khai báo trước Không cần kiểu liệu Có thể thay đổi sang kiểu liệu khác Nên gán giá trị bắt đầu xuất ▪ Chú ý: python cho phép viết ghi chương trình cách đặt sau dấu thăng (#) TRƯƠNG XUÂN NAM Biến ▪ Tên biến chứa chữ chữ số gạch (_), kí tự bắt đầu không dùng chữ số ▪ Không trùng với từ khóa (tất nhiên) ▪ Từ python dùng chữ unicode ▪ Tất biến python đối tượng, có kiểu vị trí nhớ (id) TRƯƠNG XUÂN NAM Khai báo chuỗi ▪ Dữ liệu kiểu chuỗi quan trọng lập trình python, tương tự ngơn ngữ lập trình khác ▪ Ví dụ: # chuỗi thông thường name = 'matt' # chuỗi có chứa dấu nháy đơn with_quote = "I ain't gonna" # chuỗi có nội dung nằm nhiều dòng longer = """This string has multiple lines in it""" ▪ Nguyên tắc khai báo chuỗi: mở đầu - kết thúc ▪ Nội dung dòng: dùng cặp nháy đơn (') nháy kép (") ▪ Nội dung nằm nhiều dòng: dấu nháy kép liên tiếp (""") TRƯƠNG XUÂN NAM Chuỗi thoát (escape sequence) ▪ Escape sequence phương pháp để viết kí tự đặc biệt (khơng thể viết theo lối thơng thường) ▪ Tương tự ngơn ngữ lập trình khác Cách viết Ý nghĩa \a Kí tự cảnh báo (phát tiếng bíp in ra) Alert \b Kí tự xóa trước (dịch trỏ phía trước ơ) Backspace \n Kí tự dịng (dịch trỏ xuống dịng dưới) Linefeed \r Kí tự trở (dịch trỏ đầu dịng) Carriage return \t Kí tự tab (dịch trỏ dấu tab) Tab \\ Kí tự gạch chéo (\) Blackslash \' Kí tự dấu nháy đơn (') Single quote \" Kí tự dấu nháy kép (") Double quote \uxxxx Thuật ngữ Kí tự unicode có mã xxxx (dạng hex value) TRƯƠNG XUÂN NAM Chuỗi thô (raw string) ▪ Vấn đề: dễ nhầm lẫn chuỗi có dấu gạch chéo (\) ▪ Chẳng hạn viết tên file "c:\teamview" ▪ Python cho phép bỏ qua chuỗi thoát cách đánh dấu chữ r vào trước chuỗi, định dạng gọi chuỗi thô ▪ Cú pháp: r'nội dung chuỗi' TRƯƠNG XUÂN NAM Khối lệnh ▪ Python sử dụng khoảng trắng để phân biệt khối lệnh age = int(input("Bạn tuổi? ")) print("Ồ bạn đã", age, "tuổi rồi!") if age >= 18: print("Đủ tuổi bầu") if age > 100: print("Có vẻ sai sai!") else: print("Nhỏ quá") ▪ Chú ý: ▪ Không quy định số lượng khoảng trắng phải sử dụng ▪ Các lệnh khối phải sử dụng số khoảng trắng ▪ Sử dụng tab space được, phải thống TRƯƠNG XUÂN NAM Phần Nhập liệu xuất liệu TRƯƠNG XUÂN NAM 10 Kiểu số ▪ Từ python 3, số ngun khơng có giới hạn số chữ số ▪ Số thực (float) python viết theo dạng thông thường dạng khoa học X = 12.34 Y = 314.15279e-2 # dạng số nguyên phần mũ 10 ▪ Python hỗ trợ kiểu phức, với chữ j đại diện cho phần ảo A = 3+4j B = 2-2j print(A+B) # in (5+2j) TRƯƠNG XUÂN NAM 15 Phép toán ▪ Python hỗ trợ nhiều phép toán số, logic, so sánh, phép toán bit phép kiểm tra tập ▪ Các phép tốn số thơng thường: +, -, *, %, ** ▪ Python có phép chia: • Chia (/): • Chia nguyên (//): 10/3 10//3 # 3.3333333333333335 # (nhanh phép /) ▪ Các phép logic: and, or, not • Python khơng có phép xor logic, trường hợp muốn tính phép xor thay phép so sánh khác (bool(a) != bool(b)) ▪ Các phép so sánh: ▪ Các phép toán bit: ▪ Phép kiểm tra tập (in, not in): =, !=, == &, |, ^, ~, in [1, 2, 3] TRƯƠNG XUÂN NAM 16 Phần Phép toán “if” TRƯƠNG XUÂN NAM 17 Phép toán “if” # X max A B X = A if A > B else B # N có phải số nguyên tố có chữ số hay không A = "Đúng" if N in [2, 3, 5, 7] else "Sai" # In hình “chẵn” n chia hết cho 2, # in “lẻ” ngược lại print('chẵn' if (n % 2) == else "lẻ") # Sinh viên có thi hay khơng? print("được thi" if so_buoi_nghi < else "không thi") # Biện luận nghiệm phương trình bậc (if lồng nhau) KQ = "một nghiệm" if delta == else \ "vô nghiệm" if delta < else "hai nghiệm" TRƯƠNG XUÂN NAM 18 Phép toán “if” ▪ Cú pháp: A if else B ▪ Thực hiện: ▪ Phép toán trả A đúng, ngược lại trả B ▪ A B giá trị, biểu thức tính tốn, lời gọi hàm,… ▪ Các phép tốn if lồng ▪ Cách sử dụng if kì cục, hợp lý xét mặt ngôn ngữ cách đọc điều kiện logic ▪ Bài tập: Biến X để lưu tình trạng gửi SMS, X=0 tức chưa gửi được, X=1 tức gửi thành công, X=2 tức gửi người nhận đọc Viết câu lệnh sử dụng phép tốn if để in hình thông báo tương ứng với giá trị X TRƯƠNG XUÂN NAM 19 Phần Rẽ nhánh TRƯƠNG XUÂN NAM 20 Rẽ nhánh # In thông báo điểm số loại giỏi if diem >= 8: print("Chúc mừng bạn điểm giỏi") # In thông báo xem n chẵn hay lẻ if (N % 2) == 0: print("N số chẵn") else: print("N số lẻ") # Biện luận nghiệm phương trình bậc if delta == 0: print("Phương trình có nghiệm kép") elif delta < 0: print("Phương trình vơ nghiệm") else: print("Phương trình có hai nghiệm phân biệt") TRƯƠNG XUÂN NAM 21 Rẽ nhánh TRƯƠNG XUÂN NAM 22 Rẽ nhánh ▪ Python có cấu trúc rẽ nhánh nhất, sử dụng để lựa chọn làm số nhiều công việc ▪ Nhiều ngôn ngữ lập trình khác sử dụng if cho trường hợp lối rẽ nhánh switch cho trường hợp nhiều lối rẽ nhánh ▪ Nguyên tắc với rẽ nhánh if-elif-else: ▪ Biểu thức điều kiện if elif phải có kết logic ▪ Hệ thống tính giá trị biểu thức điều kiện từ xuống dưới, phát biểu if ▪ Nếu biểu thức điều kiện khối lệnh tương ứng thực bỏ qua khối lệnh khác ▪ Trường hợp biểu thức điều kiện sai, khối lệnh ứng với else thực ▪ Khối else tùy chọn, không thiết phải xuất TRƯƠNG XUÂN NAM 23 Phần Vài ví dụ minh họa TRƯƠNG XUÂN NAM 24 Giải phương trình bậc a = float(input("A = ")) b = float(input("B = ")) c = float(input("C = ")) delta = b*b-4*a*c Nhập a,b,c kiểu số thực tính delta if delta==0: print("Nghiem kep: x = ", str(-b/2/a)) if delta0: print("X1 = " + str((-b+delta**0.5)/2/a)) print("X2 = " + str((-b-delta**0.5)/2/a)) TRƯƠNG XUÂN NAM Biện luận trường hợp delta Các khối lệnh viết thụt vào so với khối cha Tính bậc phép lũy thừa 0.5 25 Tính n! def giaithua(n): Định nghĩa hàm với tham số n gt = for i in range(2, n+1): gt = gt * i Vòng lặp cho i chạy từ đến n return gt Trả kết a = int(input("Nhập giá trị n: ")) print("N! =", giaithua(a)) Nhập số n nguyên Gọi hàm tính in kết TRƯƠNG XUÂN NAM 26 Tính UCLN (thuật tốn euclid) a = int(input("A = ")) b = int(input("B = ")) Nhập số nguyên a b while (b > 0): Vòng lặp chừng b > if (a > b): Xử lý a > b a, b = b, a % b else: Xử lý a >> print("a", a:-)b ", a) ", a) "b") "b", sep="") 168, 178, 42, sep=".") "b", sep=":-)") TRƯƠNG XUÂN NAM 11 Nhập liệu ▪ Sử dụng hàm input để nhập liệu từ bàn phím name... học X = 12. 34 Y = 314.1 527 9e -2 # dạng số nguyên phần mũ 10 ▪ Python hỗ trợ kiểu phức, với chữ j đại diện cho phần ảo A = 3+4j B = 2- 2j print(A+B) # in (5+2j) TRƯƠNG XUÂN NAM 15 Phép toán ▪ Python... age) TRƯƠNG XUÂN NAM 12 Phần Kiểu liệu phép toán liên quan TRƯƠNG XUÂN NAM 13 Kiểu số ▪ Python cho phép viết số nguyên theo số hệ số thông dụng lập trình A B C D = = = = 123 4 0xAF1 0o7 72 0b1001

Ngày đăng: 19/12/2021, 22:47

TỪ KHÓA LIÊN QUAN