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

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

45 7 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 45
Dung lượng 694,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Câu lệnh if rẽ nhánh❖Python chỉ có một cấu trúc rẽ nhánh duy nhất, sử dụng để lựa chọn làm một trong 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 2 lối rẽ

Trang 1

TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa Công nghệ thông tin

Trang 2

Cấu trúc rẽ nhánh

Trang 3

Khối lệnh

Sai

Đúng

Trang 4

print("a nho hon b!")

→Kết quả: a nho hon b!

Trang 7

Khối lệnh 1

Sai Đúng

Khối lệnh 2

Trang 11

Câu lệnh if …elif …else

11

Cho ví dụ minh họa:

Trang 12

Chú ý: if, elif, else phải được viết

thẳng cột (cùng 1 mức)

Câu lệnh if …elif …else

Trang 13

Các phép toán so sánh và logic

❖Các phép toán so sánh:

==, ! =, < , >, <=, >=

→Kết quả của phép so sánh: True hoặc False

❖Phép toán logic: not, and, or

❖Chú ý: Các phép toán logic có thứ tự ưu

tiên thực hiện thấp hơn các phép toán số

học và phép so sánh.

13

Trang 14

Nhập 3 số dương a, b, c Kiểm tra xem 3

số đó có phải là 3 cạnh của 1 tam giác?

Ví dụ

Trang 15

Nhập 3 số a, b, c Kiểm tra xem 3 số đó có phải là 3 cạnh của 1tam giác?

15

Ví dụ

Trang 16

Cách viết đầy đủ Cách viết rút gọn

if <điều kiện> == True: if <điều kiện>:

if a ==0 and b ==0 and c ==0: if a ==b ==c ==0:

if 1<a and a<b and b<5: if 1<a<b<5:

Trang 17

Câu lệnh if

# In thông báo nếu được điểm số loại giỏi

if diem >= 8:

print("Chúc mừng bạn đã được điểm giỏi")

# In thông báo xem n chẵn hay lẻ

Trang 18

Tổng kết về câu lệnh if

Trang 19

Ví dụ

Nhập vào 3 số a, b, c (a ≠ 0) Giải phương

trình bậc 2: 𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0

19

Trang 20

Ví dụ

Trang 21

Ví dụ

21

Trang 22

Ví dụ áp dụng

❖Nhập vào 3 số a, b, c dương Kiểm tra xem

a, b, c có phải là 3 cạnh của tam giác hay

không? Nếu là 3 cạnh của tam giác thì xem

thuộc loại nào: Tam giác đều/ cân/ thường?

Trang 23

Câu lệnh: A if <điều-kiện> else B

23

Trang 24

Câu lệnh: A if <điều-kiện> else B

Trang 25

Câu lệnh if (rẽ nhánh)

❖Python chỉ có một cấu trúc rẽ nhánh duy nhất, sử dụng để

lựa chọn làm một trong 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 2 lối rẽ nhánh và 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 của if và elif phải có kết quả logic

➢Hệ thống sẽ lần lượt tính giá trị từng biểu thức điều kiện

từ trên xuống dưới, bắt đầu từ phát biểu if

➢Nếu biểu thức điều kiện nào đúng thì khối lệnh tương

ứng được thực hiện và bỏ qua các khối lệnh khác

➢Trường hợp mọi biểu thức điều kiện đều sai, khối lệnh

ứng với else sẽ được thực hiện

➢Khối else là tùy chọn, không nhất thiết phải xuất hiện

25

Trang 27

➢Khối này sẽ không chạy nếu vòng lặp bị “break”

➢Không bắt buộc phải có khối này

for <Tên biến> in [Tập giá trị]:

<Khối lệnh for>

[ else:

<Khối lệnh else>

] # Phần else có thể không có

Trang 28

Vòng lặp for

Ví dụ:

Trang 29

Vòng lặp for duyệt một miền số nguyên

❖Cú pháp vòng for rất phù hợp với việc duyệt một tập hợp ít phần tử

➢Vì ta phải liệt kê mọi phần tử trong tập

❖Nhưng nếu muốn duyệt tập rất nhiều phần tử thì sao?

➢Chẳng hạn muốn duyệt các số nguyên từ 1 đến 1.000.000?

❖Python cung cấp hàm range để tạo một dãy số:

➢Hàm range(n) : tạo dãy số nguyên từ 0 đến n-1

➢Hàm range(n,m) : tạo dãy số nguyên từ n đến m-1

➢Hàm range(n,m,k) : tạo dãy số nguyên từ n đến trước m với bước nhảy k (một lần giá trị tăng k đơn vị)

▪ Chú ý: giá trị k có thể âm, trong trường hợp này dãy số sinh ra sẽ giảm dần

Trang 30

Vòng lặp for

Trang 31

Ví dụ: Tính n!

31

Trang 32

Câu lệnh continue

❖Câu lệnh continue được viết trong khối lệnh

của các vòng lặp Khi thực hiện câu lệnh

continue , các câu lệnh phía sau khối lệnh sẽ

không được thực hiện mà quay sang lần lặp

tiếp theo.

❖Ví dụ:

Trang 33

Câu lệnh break

❖Câu lệnh break được viết trong khối lệnh của

các vòng lặp Khi thực hiện câu lệnh break ,

chương trình sẽ thoát ra khỏi vòng lặp trong

cùng chứa lệnh break

❖Ví dụ:

33

Trang 34

Câu lệnh break

Ví dụ:

Trang 35

Khối lệnh

Sai

Đúng

Trang 36

Câu lệnh while

Trang 37

Vòng lặp while kết hợp điều kiện if

37

Trang 38

Tính UCLN (thuật toán Euclid)

Trang 39

Vòng lặp while với break

39

Trang 40

Vòng lặp while với continue

Trang 41

Vòng lặp while sử dụng else

41

Trang 42

Tóm tắt nội dung

❖Python chỉ có 2 loại vòng lặp là while và for (thay vì 3 loại như C/C++)

❖Lặp while thực hiện lặp chừng nào điều kiện còn đúng

❖Lặp for cho phép duyệt từng phần tử của một danh sách

❖Hàm range hỗ trợ tạo các miền số nguyên để phép duyệt bằng for trở nên ngắn gọn hơn

❖Cả while và for đều hỗ trợ các cú pháp mở rộng:

➢Lệnh break để kết thúc vòng lặp hiện tại

➢Lệnh continue để bắt đầu một vòng lặp mới

➢Khối else được thực hiện nếu vòng lặp kết thúc không dobreak

Trang 43

4) Cho số nguyên dương n (0 < 𝑛 ≤ 1012) Kiểm tra xem n có

phải là số nguyên tố hay không?

5) Biết rằng: số tự nhiên n được gọi là số hoàn hảo nếu tổng

các ước số của n bằng đúng 2n Ví dụ: n = 6 có các ước là

1, 2, 3, 6 và có 1 + 2 + 3 + 6 = 12 Cho hai số tự nhiên a

và b (1 ≤ 𝑎 < 𝑏 ≤ 10000) Tìm tất cả các số hoàn hảotrong đoạn [a, b]

43

Trang 44

Bài tập

6 Viết chương trình cho phép người dùng nhập vào liên tiếp

một dãy số tự nhiên (không biết trước độ dài), việc nhập

dãy sẽ kết thúc khi người dùng nhập một số âm hoặc số

0 Sau khi kết thúc, in ra màn hình ước số chung lớn nhất

và bội số chung nhỏ nhất của tất cả các số vừa nhập vào

7 Hàm fibo mở rộng được định nghĩa như sau

Trang 45

Bài tập áp dụng

Số lũy thừa 2-3.

Một số tự nhiên n được gọi là số lũy thừa 2-3

nếu n có dạng n = 2x3y Nhập số n Kiểm tra

xem n có là số lũy thừa 2-3 không?

59

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

w