lOMoARcPSD| 45734214
10/7/2023
1
LẬP TRÌNH PYTHON TỪ CƠ BẢN
ĐẾN NÂNG CAO
Thc hin: TS.Trn B nh Long
CHƯƠNG 2: ĐIỀU KHIỂN LUỒNG VÀ VÒNG
LẶP
1. Lệnh if, if...else, if...elif...else
2. Vòng lặp for
3. Vòng lặp while
4. Lệnh break và continue
5. Lệnh pass
6. Các kỹ thuật vòng lặp
Cu trœc lnh if
if i u kin:
khối lệnh
Chương trình kiểm tra iều kin v thực hiện các lệnh khi
iều kin True. Nếu iều kin False th lệnh không thực
hin.
lOMoARcPSD| 45734214
10/7/2023
2
Khi lnh ca if bắt u vi tht l và kết thúc lệnh if
với d ng không thụt l .
Cu trœc lnh if
>>> # Nếu l số dương sẽ in th ng bÆo
num = 3 if num > 0:
print(num, "l số dương.")
print("Th ng bÆo này luôn ược in.")
num = -1
if num > 0:
print(num, "l số dương.")
print("Th ng bÆo này cũng ược in.")
Kết qu
3 l số dương.
Th ng bÆo này luôn ược in.
Th ng bÆo này cũng ược in.
nh if...else
Cấu trúc lệnh if...else
if i u kin:
Khi lnh ca if
else:
Khi lnh của else
lOMoARcPSD| 45734214
10/7/2023
L
3
Lệnh if kiểm tra i u kiện và thực hiện khi lnh if nếu
i u kiện úng. Nếu i u kiện sai, khối lệnh của else sẽ
ược thực hiện.
Tht l ược sử dụng trong các khối lệnh.
Lnh if...else
>>> # Kiem tra so am hay duong
>>> num = 3
if num >= 0:
print("So duong hoac bang 0")
else:
print("So am")
# Output: So duong hoac bang 0
num1=-1
if num1 >= 0:
print("So duong hoac bang 0")
else:
print("So am")
# Output: So am
lOMoARcPSD| 45734214
10/7/2023
L
4
nh if...elif...else
Cấu trúc lệnh if...elif...else
if i u kin:
Khi lnh ca if
elif i u kiện: Khi
lệnh ca elif else:
Khi lnh của else
elif là viết gn ca else if, cho phØp kiểm tra nhi u
i u kiện. Nếu i u kin sai, sẽ kiểm tra i u kiện ca
khối elif tiếp theo v tiếp tục cho ến hết. Nếu tt cả i u
kiện u sai sẽ thực hiện khối lệnh của else. C th c
nhi u elif, phn else là tùy chn
Lnh if...elif...else
V d:
>>> x = int(input("Nhap mot so: "))
if x < 0:
print(’So am’)
elif x == 0:
print(’So 0’) elif x
== 1: print(’So
1’) else:
print(’So duong’)
lOMoARcPSD| 45734214
10/7/2023
L
5
Lệnh if ... elif ... elif… thay thế cho lệnh switch hay
case trong ng n ngữ lập trình khác.
nh if lng nhau
Lệnh if... else trong khối lệnh if... else khÆc tạo th nh
lệnh if lồng nhau.
Kh ng giới hn số lệnh ược lồng v o nhau.
Thụt l l cÆch nhận diện mức lồng nhau.
>>> num = float(input("Nhập một số: ")) if
num >= 0: if num == 0: print("Số
Kh ng") else:
print("Số dương")
else: print("S m")
V ng lp for
For ể duyệt cÆc phn tử trong Python như list, string
hoặc các ối tượng. Cú pháp của for for
bien_lap in chuoi_lap: Khi lnh ca for bien_lap
sẽ nhận giá trị của từng mục trong chuoi_lap ở mỗi
lần lp.
V ng for sẽ thực hiện ến mc cuối cùng trong chuỗi.
Khi lnh ca for ược thụt l .
lOMoARcPSD| 45734214
10/7/2023
) 6
V ng lp for
>>> # In chữ cÆi trong lachong
for chu in ‘lachong’:
print('Chữ cái hiện tại:', chu)
Kết qu:
Chữ cái hiện tại: l
Chữ cái hiện tại: a
Chữ cái hiện tại: c
Chữ cái hiện tại: h
Chữ cái hiện tại: o
Chữ cái hiện tại: n
Chữ cái hiện tại: g
V ng lp for
>>> # T nh t ng tất cả cÆc số trong danh sÆch A
# Danh sÆch A
A = [1, 3, 5, 9, 11, 2, 6, 8, 10]
# Biến lưu trữ t ng cÆc số l tong
tong = 0 #
Vòng lặp for for
i in A:
tong = tong+i
print("T ng cÆc số l ", tong)
# Output: T ng cÆc số l 55
lOMoARcPSD| 45734214
10/7/2023
L
7
lOMoARcPSD| 45734214
10/7/2023
8
H m range()
Døng h m range()tạo dªy số. phÆp H m
range(số bắt u, số kết thúc, khoảng cách giữa hai
số)
Nếu không ặt khoảng cách giữa hai số thì mặc ịnh
bằng 1.
V dụ, range(100) tạo dãy số từ 0 ến 99 (100 số).
Ví dụ: Viết 10 lần ‘Lập trình Python’ >>> for i in
range(10):
print (‘Lập trình Python’)
H m range()
Døng list() ể hàm range() xuất tt cả các giá trị
>>> print(range(9))
# Output: range(0, 9)
print(list(range(9)))
# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(list(range(2, 5))) # Output:
[2, 3, 4] print(list(range(0, 15, 5)))
# Output: [0, 5, 10]
H m range()
H m range() sử dụng kết hp vi len()lặp qua một
dªy sử dụng index:
lOMoARcPSD| 45734214
10/7/2023
9
>>> chuoi = [‘học’,’học nữa’,’học mãi’]
for i in range(len(chuoi)):
print(‘Chúng ta phải: ‘,chuoi[i])
Kết qu:
Chœng ta phải: học
Chœng ta phải: học nữa
Chœng ta phải: hc mãi
Kết hp for vi else
Else kh ng chỉ kết hợp vi if m còn ược dùng trong
vòng lặp for. Trong for, khi lnh ca else ược thực
thi khi các mục trong chuỗi ược lặp hết.
>>> B = [0, 2, 4]
for b in B:
print(b) else:
print(‘Đã hết s.’)
# Kết quả:
0
2
4
Đã hết s.
Lệnh break
Lệnh break ược døng ể dừng vòng lặp for. Nếu có
else, else trong for chthực hiện khi kh ng c break.
>>> # Dãy t0 ến 10
lOMoARcPSD| 45734214
10/7/2023
10
for num in range(0,10):
# Các thừa s của mt số trong dªy
for i in range(2, num):
#Xác ịnh thừa số (phØp chia c số dư bằng 0)
if num%i == 0:
j=num/i #Ước lượng thừa số thứ 2
print ('%d bằng %d * %d' % (num,i,j))
break #Dừng for trong, chuyển ra for ngo i
else: # Phần else trong vòng lặp
print (num, ’l số nguyŒn t’)
Lệnh break
Kết qu:
0 l số nguyŒn t1
l số nguyŒn tố
2 l số nguyŒn t
3 l số nguyŒn t4 bng 2 * 2
5 l số nguyŒn t6
bằng 2 * 3
7 l số nguyŒn t
8 bằng 2 * 4
9 bằng 3 * 3
lOMoARcPSD| 45734214
10/7/2023
11
V ng lp while
While ược dùng ể lp li một khối lệnh, thực hiện khi
i u kiện kiểm tra úng.
while døng trong trường hợp kh ng biết trước ược
số lần lặp là bao nhiŒu. Cú pháp của while:
while i u_kin_kiểm_tra:
Khi lnh của while
Trong Python mọi giá trị khác 0 u là True, None và 0
ược hiểu là False.
While sẽ kh ng thực hiện nếu ngay lần ầu tiên
iều_kin_kiểm_tra l False.
Cœ phÆp ca while
Khi lnh ca While bắt u vi thụt l kết thœc với
dòng không thụt l .
>>> count = 0
n = 0 while
(count < 8):
print (’Sthứ', n,' là:', count)
n = n + 1 count = count + 1
print ("Hết rồi!")
Cœ phÆp ca while
Kết qu:
Số thứ 0 l : 0
lOMoARcPSD| 45734214
10/7/2023
12
Số thứ 1 l : 1 Số
thứ 2 l : 2 Số th
3 l : 3 Sth4 l
: 4 Sthứ 5 l : 5
Số thứ 6 l : 6
Số thứ 7 l : 7 Hết
rồi!
Cœ phÆp ca while
V d
>>> n = int(input("Nhập n: ")) #Nhập số n tøy
tong = 0 #khai báo và gán giá trị cho tong i
= 1 #khai báo và gán giá trị cho bíŒn ếm i
while i <= n:
tong = tong + i i =
i+1 # cập nht biến ếm
print("T ng l ", tong) Kết quả:
>>>Nhập n: 11
T ng l 66
Vòng lặp vô tn
>>> n = int(input("Nhập n: ")) #Nhập số n tøy
tong = 0 #khai báo và gán giá trị cho tong i
= 1 #khai báo và gán giá trị cho biến ếm i
lOMoARcPSD| 45734214
10/7/2023
13
while i <= n: tong = tong + i #
i=i+1 bỏ i dòng i=i+1 print("T ng l ", tong)
Khi này chạy lệnh ta sẽ ược:
>>> Nhập n: 1
Kh ng c lệnh nào ược thực hiện. Đây l trưng hp lp
v tận. Nhấn phím Ctrl + C ể thoÆt khỏi vòng lặp.
While kết hp vi else
Khi lnh ca else ược thực hiện khi i u kiện ca
while l False.
>>> dem = 0
while dem < 3: print("Đang
v ng lặp while") dem = dem
+ 1 else:
print("Đang ở else") Kết
qu:
>>> Đang ở v ng lặp while
Đang ở v ng lặp while
Đang ở v ng lặp while
Đang else
While kết hp vi else
>>> n = 0
while n < 2:
print(n,"nhỏ hơn 2")
lOMoARcPSD| 45734214
10/7/2023
14
n = n + 1 else:
print (n,"kh ng nhỏ hơn 2") Kết
qul :
>>> 0 l nhỏ hơn 2
1 l nhỏ hơn 2
2 kh ng nhỏ hơn 2
while trŒn mt d ng
Vòng lp while chỉ có một lnh duy nhất, c thể viết
trŒn cøng một dòng với while. V ng lặp vô tận
với while một dòng lệnh
>>> flag = 1
while (flag): print (‘Flag ã cho là True!’)
Print (‘Kết thúc’)
Đây l v ng lặp vô tận, nhấn t hợp phím Ctrl + C
thoát vòng lp.
lOMoARcPSD| 45734214
10/7/2023
L
15
nh break v lnh continue
Lệnh break v continue døng thay i các bước thực
hin của vòng lặp.
Vòng lp thực hiện khối lệnh ến khi i u kiện kiểm tra l
False thì dừng, nhưng nếu muốn dừng v ng lặp m kh
ng cn i u kin kiểm tra, sử dụng lệnh break v
continue.
Lnh break
Lệnh break kết thúc vòng lặp chứa nó và chuyển ến
lệnh tiếp theo sau vòng lặp.
Nếu lệnh break trong v ng lặp lồng nhau, break sẽ
kết thúc vòng lặp trong chuyn ến vòng lặp ngoài.
Cú pháp ca lệnh break:
>>> break Với
vòng lặp for
>>> for var in sequence:
lOMoARcPSD| 45734214
10/7/2023
L
16
# khối lệnh bên trong vòng lặp for
if dieu_kien: break
#lệnh khác bên trong vòng lặp for
# lệnh bên ngoài vòng lặp for
nh break
Với vòng lặp while
>>> while dieu_kien_kiem_tra:
#Lệnh bên trong vòng lặp while
if dieu_kien: break
#Lệnh khác bên trong vòng lặp while
#lệnh bên ngoài vòng lặp while
Khi break ược thực thi ‘#lệnh khÆc bŒn trong v ng
lặp for/while sẽ bỏ qua và chuyển ến ‘#lệnh bŒn
ngoài vòng lặp for/while’.
Lnh break
>>> # Lệnh break trong for
for val in "string": if
val == "i": break
print(val)
print("Kết thœc!")
lOMoARcPSD| 45734214
10/7/2023
L
17
V ng for thực hiện trong chuỗi "string", và kiểm tra i u
kiện, nếu gp chữ ‘i’, lệnh break ược thực hiện. Kết
quả cÆc chữ khác ‘i’ trước ó ược in ra m n h nh.
>>> s
t r
Kết thœc!
nh break
>>> bien = 10
while bien > 0: print ('Giá trị
biến hiện tại là: ', bien) bien = bien
-1 if bien == 5: break
print ("OK!")
Lệnh trên kiểm tra và in biến theo giá trị giảm dần từ 10,
cho ến khi biến bằng 5 thì kết thúc vòng lặp.
>>> GiÆ trị biến hiện tại là: 10
GiÆ trị biến hiện tại là: 9
GiÆ trị biến hiện tại là: 8
GiÆ trị biến hiện tại là: 7
GiÆ trị biến hiện tại là: 6
OK!
Lnh continue
Lệnh continue bỏ qua phần lệnh c n lại bŒn trong
v ng lặp v thực hiện cho lần lặp hin ti.
Cấu trúc của continue:
lOMoARcPSD| 45734214
10/7/2023
L
18
>>> continue Với vòng
lặp for >>> for var in
sequence:
#khối lệnh bên trong vòng lặp for
if dieu_kien: continue
#Lệnh khác bên trong vòng lặp for
#Lệnh bên ngoài vòng lặp for
nh continue
Với vòng lặp while
>>> while dieu_kien_kiem_tra:
#Lệnh bên trong vòng lặp while
if dieu_kien: continue
#Lệnh khác bên trong vòng lặp while
#Lệnh bên ngoài vòng lặp while
Khi continue ược thực thi ‘#Lệnh khÆc bŒn trong
vòng lặp for/while’ sẽ bị bỏ qua và quay trở lại ‘#Lnh
bŒn trong vòng lặp for/while
Lnh continnue
>>> # Lệnh continue trong for
for val in "string": if val
== "i": continue
print(val)
lOMoARcPSD| 45734214
10/7/2023
L
19
print("Kết thœc!")
Khi for lặp chuỗi "string" ến chữ "i“, sẽ bqua lệnh in
print(val) và quay trở lại lệnh if val=="i":, kết qu:
>>> s
t r
n
g
Kết thœc!
nh continnue
>>> bien = 10
while bien > 0: bien = bien -1
if bien == 5: continue print
(’Giá trị bíên hiện tại là: ', bien)
print ("OK!")
Nếu bien = 5 bỏ qua và thực hiện lần lặp tiếp theo, kết quả:
>>> GiÆ trị biến hiện tại là: 9
. . . .
GiÆ trị biến hiện tại là: 6
GiÆ trị biến hiện tại là: 4
GiÆ trị biến hiện tại là: 3
. . ..
GiÆ trị biến hiện tại là: 0
OK!
Lnh pass
lOMoARcPSD| 45734214
10/7/2023
L
20
Lệnh pass như một placeholder (trình giữ chỗ) cho
việc thực thi các hàm, vòng lặp,... trong tương lai.
Khi lập trình, dự ịnh c h m, vòng lặp, nhưng chưa thể x
y dựng, muốn ể lại làm sau. Nhưng hàm, v ng lặp ó
không thể ể rỗng, trình biên dịch sẽ báo li, Sử dụng
lệnh pass ể xây dựng một khi lệnh rỗng, lúc này trình
biên dịch sẽ không báo lỗi.
Trong lệnh passc chú thích, bình lun sẽ không bị
bỏ qua.
Cấu trúc của lệnh pass
>>> pass

Preview text:

lOMoAR cPSD| 45734214 10/7/2023
LẬP TRÌNH PYTHON TỪ CƠ BẢN ĐẾN NÂNG CAO
Thực hiện: TS.Trần B nh Long
CHƯƠNG 2: ĐIỀU KHIỂN LUỒNG VÀ VÒNG LẶP
1. Lệnh if, if...else, if...elif...else 2. Vòng lặp for 3. Vòng lặp while 4. Lệnh break và continue 5. Lệnh pass
6. Các kỹ thuật vòng lặp
Cấu trœc lệnh if if i u kiện: khối lệnh
Chương trình kiểm tra iều kiện v thực hiện các lệnh khi
iều kiện là True. Nếu iều kiện False th lệnh không thực hiện. 1 lOMoAR cPSD| 45734214 10/7/2023
Khối lệnh của if bắt ầu với thụt l và kết thúc lệnh if
với d ng không thụt l .
Cấu trœc lệnh if
>>> # Nếu l số dương sẽ in th ng bÆo num = 3 if num > 0:
print(num, "l số dương.")
print("Th ng bÆo này luôn ược in.") num = -1 if num > 0:
print(num, "l số dương.")
print("Th ng bÆo này cũng ược in.") Kết quả 3 l số dương.
Th ng bÆo này luôn ược in.
Th ng bÆo này cũng ược in. nh if...else
Cấu trúc lệnh if...else if i u kiện: Khối lệnh của if else: Khối lệnh của else 2 lOMoAR cPSD| 45734214 10/7/2023 Lệ
Lệnh if kiểm tra i u kiện và thực hiện khối lệnh if nếu
i u kiện úng. Nếu i u kiện sai, khối lệnh của else sẽ ược thực hiện.
Thụt l ược sử dụng trong các khối lệnh.
Lệnh if...else
>>> # Kiem tra so am hay duong >>> num = 3 if num >= 0:
print("So duong hoac bang 0") else: print("So am")
# Output: So duong hoac bang 0 num1=-1 if num1 >= 0:
print("So duong hoac bang 0") else: print("So am") # Output: So am 3 lOMoAR cPSD| 45734214 10/7/2023 Lệ
nh if...elif...else
Cấu trúc lệnh if...elif...else if i u kiện: Khối lệnh của if elif i u kiện: Khối lệnh của elif else: Khối lệnh của else
elif là viết gọn của else if, cho phØp kiểm tra nhi u
i u kiện. Nếu i u kiện sai, sẽ kiểm tra i u kiện của
khối elif tiếp theo v tiếp tục cho ến hết. Nếu tất cả i u
kiện  u sai sẽ thực hiện khối lệnh của else. C thể c
nhi u elif, phần else là tùy chọn
Lệnh if...elif...else V dụ:
>>> x = int(input("Nhap mot so: ")) if x < 0: print(’So am’) elif x == 0: print(’So 0’) elif x == 1: print(’So 1’) else: print(’So duong’) 4 lOMoAR cPSD| 45734214 10/7/2023 Lệ
Lệnh if ... elif ... elif… thay thế cho lệnh switch hay
case trong ng n ngữ lập trình khác.
nh if lồng nhau
Lệnh if... else trong khối lệnh if... else khÆc tạo th nh lệnh if lồng nhau.
Kh ng giới hạn số lệnh ược lồng v o nhau.
Thụt l l cÆch ể nhận diện mức ộ lồng nhau.
>>> num = float(input("Nhập một số: ")) if
num >= 0: if num == 0: print("Số Kh ng") else: print("Số dương") else: print("Số m") V ng lặp for
For ể duyệt cÆc phần tử trong Python như list, string
hoặc các ối tượng. Cú pháp của for for
bien_lap in chuoi_lap: Khối lệnh của for bien_lap
sẽ nhận giá trị của từng mục trong chuoi_lap ở mỗi lần lặp.
V ng for sẽ thực hiện ến mục cuối cùng trong chuỗi.
Khối lệnh của for ược thụt l . 5 lOMoAR cPSD| 45734214 10/7/2023 V ng lặp for
>>> # In chữ cÆi trong lachong for chu in ‘lachong’:
print('Chữ cái hiện tại:', chu) Kết quả: Chữ cái hiện tại: l Chữ cái hiện tại: a Chữ cái hiện tại: c Chữ cái hiện tại: h Chữ cái hiện tại: o Chữ cái hiện tại: n Chữ cái hiện tại: g V ng lặp for
>>> # T nh t ऀ ng tất cả cÆc số trong danh sÆch A # Danh sÆch A
A = [1, 3, 5, 9, 11, 2, 6, 8, 10]
# Biến lưu trữ t ऀ ng cÆc số l tong tong = 0 # Vòng lặp for for i in A: tong = tong+i
print("T ऀ ng cÆc số l ", tong)
# Output: T ऀ ng cÆc số l 55 ) 6 lOMoAR cPSD| 45734214 10/7/2023 Lệ 7 lOMoAR cPSD| 45734214 10/7/2023 H m range()
Døng h m range() ể tạo dªy số. Cœ phÆp H m
range(số bắt ầu, số kết thúc, khoảng cách giữa hai số)
Nếu không ặt khoảng cách giữa hai số thì mặc ịnh bằng 1.
V dụ, range(100) tạo dãy số từ 0 ến 99 (100 số).
Ví dụ: Viết 10 lần ‘Lập trình Python’ >>> for i in range(10):
print (‘Lập trình Python’) H m range()
Døng list() ể hàm range() xuất tất cả các giá trị >>> print(range(9)) # Output: range(0, 9) print(list(range(9)))
# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(list(range(2, 5))) # Output:
[2, 3, 4] print(list(range(0, 15, 5))) # Output: [0, 5, 10] H m range()
H m range() sử dụng kết hợp với len() ể lặp qua một dªy sử dụng index: 8 lOMoAR cPSD| 45734214 10/7/2023
>>> chuoi = [‘học’,’học nữa’,’học mãi’] for i in range(len(chuoi)):
print(‘Chúng ta phải: ‘,chuoi[i]) Kết quả: Chœng ta phải: học
Chœng ta phải: học nữa Chœng ta phải: học mãi
Kết hợp for với else
Else kh ng chỉ kết hợp với if m còn ược dùng trong
vòng lặp for. Trong for, khối lệnh của else ược thực
thi khi các mục trong chuỗi ược lặp hết. >>> B = [0, 2, 4] for b in B: print(b) else:
print(‘Đã hết số.’) # Kết quả: 0 2 4 Đã hết số. Lệnh break
Lệnh break ược døng ể dừng vòng lặp for. Nếu có
else, else trong for chỉ thực hiện khi kh ng c break.
>>> # Dãy từ 0 ến 10 9 lOMoAR cPSD| 45734214 10/7/2023 for num in range(0,10):
# Các thừa số của một số trong dªy for i in range(2, num):
#Xác ịnh thừa số (phØp chia c số dư bằng 0) if num%i == 0:
j=num/i #Ước lượng thừa số thứ 2
print ('%d bằng %d * %d' % (num,i,j))
break #Dừng for trong, chuyển ra for ngo i
else: # Phần else trong vòng lặp
print (num, ’l số nguyŒn t́’) Lệnh break Kết quả: 0 l số nguyŒn tố 1 l số nguyŒn tố 2 l số nguyŒn tố
3 l số nguyŒn tố 4 bằng 2 * 2 5 l số nguyŒn tố 6 bằng 2 * 3 7 l số nguyŒn tố 8 bằng 2 * 4 9 bằng 3 * 3 10 lOMoAR cPSD| 45734214 10/7/2023 V ng lặp while
While
ược dùng ể lặp lại một khối lệnh, thực hiện khi
i u kiện kiểm tra úng.
while døng trong trường hợp kh ng biết trước ược
số lần lặp là bao nhiŒu. Cú pháp của while:
while i u_kiện_kiểm_tra: Khối lệnh của while
Trong Python mọi giá trị khác 0  u là True, None và 0 ược hiểu là False.
While sẽ kh ng thực hiện nếu ngay lần ầu tiên
iều_kiện_kiểm_tra l False.
Cœ phÆp của while
Khối lệnh của While bắt ầu với thụt l và kết thœc với dòng không thụt l . >>> count = 0 n = 0 while (count < 8):
print (’Số thứ', n,' là:', count) n = n + 1 count = count + 1 print ("Hết rồi!")
Cœ phÆp của while Kết quả: Số thứ 0 l : 0 11 lOMoAR cPSD| 45734214 10/7/2023 Số thứ 1 l : 1 Số thứ 2 l : 2 Số thứ 3 l : 3 Số thứ 4 l : 4 Số thứ 5 l : 5 Số thứ 6 l : 6 Số thứ 7 l : 7 Hết rồi!
Cœ phÆp của while V dụ
>>> n = int(input("Nhập n: ")) #Nhập số n tøy
tong = 0 #khai báo và gán giá trị cho tong i
= 1 #khai báo và gán giá trị cho bíŒn ếm i while i <= n: tong = tong + i i =
i+1 # cập nhật biến ếm
print("T ऀ ng l ", tong) Kết quả: >>>Nhập n: 11 T ऀ ng l 66
Vòng lặp vô tận
>>> n = int(input("Nhập n: ")) #Nhập số n tøy
tong = 0 #khai báo và gán giá trị cho tong i
= 1 #khai báo và gán giá trị cho biến ếm i 12 lOMoAR cPSD| 45734214 10/7/2023
while i <= n: tong = tong + i #
i=i+1 bỏ i dòng i=i+1 print("T ऀ ng l ", tong)
Khi này chạy lệnh ta sẽ ược: >>> Nhập n: 1
Kh ng c lệnh nào ược thực hiện. Đây l trường hợp lặp
v tận. Nhấn phím Ctrl + C ể thoÆt khỏi vòng lặp.
While kết hợp với else
Khối lệnh của else ược thực hiện khi i u kiện của while l False. >>> dem = 0
while dem < 3: print("Đang
ở v ng lặp while") dem = dem + 1 else:
print("Đang ở else") Kết quả:
>>> Đang ở v ng lặp while Đang ở v ng lặp while Đang ở v ng lặp while Đang ở else
While kết hợp với else >>> n = 0 while n < 2: print(n,"nhỏ hơn 2") 13 lOMoAR cPSD| 45734214 10/7/2023 n = n + 1 else:
print (n,"kh ng nhỏ hơn 2") Kết quả l : >>> 0 l nhỏ hơn 2 1 l nhỏ hơn 2 2 kh ng nhỏ hơn 2
while trŒn một d ng
Vòng lặp while chỉ có một lệnh duy nhất, c thể viết
trŒn cøng một dòng với while. V ng lặp vô tận
với while một dòng lệnh
>>> flag = 1
while (flag): print (‘Flag ã cho là True!’) Print (‘Kết thúc’)
Đây l v ng lặp vô tận, nhấn t ऀ hợp phím Ctrl + C ể thoát vòng lặp. 14 lOMoAR cPSD| 45734214 10/7/2023 Lệ
nh break v lệnh continue
Lệnh break v continue døng thay  ऀ i các bước thực hiện của vòng lặp.
Vòng lặp thực hiện khối lệnh ến khi i u kiện kiểm tra l
False thì dừng, nhưng nếu muốn dừng v ng lặp m kh
ng cần i u kiện kiểm tra, sử dụng lệnh break v continue. Lệnh break
Lệnh break kết thúc vòng lặp chứa nó và chuyển ến
lệnh tiếp theo sau vòng lặp.
Nếu lệnh break ở trong v ng lặp lồng nhau, break sẽ
kết thúc vòng lặp trong chuyển ến vòng lặp ngoài.
Cú pháp của lệnh break:
>>> break Với vòng lặp for
>>> for var in sequence: 15 lOMoAR cPSD| 45734214 10/7/2023 Lệ
# khối lệnh bên trong vòng lặp for if dieu_kien: break
#lệnh khác bên trong vòng lặp for
# lệnh bên ngoài vòng lặp for nh break
Với vòng lặp while
>>> while dieu_kien_kiem_tra:
#Lệnh bên trong vòng lặp while if dieu_kien: break
#Lệnh khác bên trong vòng lặp while
#lệnh bên ngoài vòng lặp while
Khi break ược thực thi ‘#lệnh khÆc bŒn trong v ng
lặp for/while’ sẽ bỏ qua và chuyển ến ‘#lệnh bŒn
ngoài vòng lặp for/while’. Lệnh break
>>> # Lệnh break trong for for val in "string": if val == "i": break print(val) print("Kết thœc!") 16 lOMoAR cPSD| 45734214 10/7/2023 Lệ
V ng for thực hiện trong chuỗi "string", và kiểm tra i u
kiện, nếu gặp chữ ‘i’, lệnh break ược thực hiện. Kết
quả cÆc chữ khác ‘i’ trước ó ược in ra m n h nh. >>> s t r Kết thœc! nh break >>> bien = 10
while bien > 0: print ('Giá trị
biến hiện tại là: ', bien) bien = bien -1 if bien == 5: break print ("OK!")
Lệnh trên kiểm tra và in biến theo giá trị giảm dần từ 10,
cho ến khi biến bằng 5 thì kết thúc vòng lặp.
>>> GiÆ trị biến hiện tại là: 10
GiÆ trị biến hiện tại là: 9
GiÆ trị biến hiện tại là: 8
GiÆ trị biến hiện tại là: 7
GiÆ trị biến hiện tại là: 6 OK!
Lệnh continue
Lệnh continue bỏ qua phần lệnh c n lại bŒn trong
v ng lặp v thực hiện cho lần lặp hiện tại.
Cấu trúc của continue: 17 lOMoAR cPSD| 45734214 10/7/2023 Lệ
>>> continue Với vòng
lặp for >>> for var in sequence:
#khối lệnh bên trong vòng lặp for if dieu_kien: continue
#Lệnh khác bên trong vòng lặp for
#Lệnh bên ngoài vòng lặp for nh continue
Với vòng lặp while
>>> while dieu_kien_kiem_tra:
#Lệnh bên trong vòng lặp while if dieu_kien: continue
#Lệnh khác bên trong vòng lặp while
#Lệnh bên ngoài vòng lặp while
Khi continue ược thực thi ‘#Lệnh khÆc bŒn trong
vòng lặp for/while’ sẽ bị bỏ qua và quay trở lại ‘#Lệnh
bŒn trong vòng lặp for/while
Lệnh continnue
>>> # Lệnh continue trong for for val in "string": if val == "i": continue print(val) 18 lOMoAR cPSD| 45734214 10/7/2023 Lệ print("Kết thœc!")
Khi for lặp chuỗi "string" ến chữ "i“, sẽ bỏ qua lệnh in
print(val) và quay trở lại lệnh if val=="i":, kết quả: >>> s t r n g Kết thœc! nh continnue >>> bien = 10
while bien > 0: bien = bien -1 if bien == 5: continue print
(’Giá trị bíên hiện tại là: ', bien) print ("OK!")
Nếu bien = 5 bỏ qua và thực hiện lần lặp tiếp theo, kết quả:
>>> GiÆ trị biến hiện tại là: 9 . . . .
GiÆ trị biến hiện tại là: 6
GiÆ trị biến hiện tại là: 4
GiÆ trị biến hiện tại là: 3 . . ..
GiÆ trị biến hiện tại là: 0 OK! Lệnh pass 19 lOMoAR cPSD| 45734214 10/7/2023 Lệ
Lệnh pass như một placeholder (trình giữ chỗ) cho
việc thực thi các hàm, vòng lặp,... trong tương lai.
Khi lập trình, dự ịnh c h m, vòng lặp, nhưng chưa thể x
y dựng, muốn ể lại làm sau. Nhưng hàm, v ng lặp ó
không thể ể rỗng, trình biên dịch sẽ báo lỗi, Sử dụng
lệnh pass ể xây dựng một khối lệnh rỗng, lúc này trình
biên dịch sẽ không báo lỗi.
Trong lệnh pass cÆc chú thích, bình luận sẽ không bị bỏ qua.
Cấu trúc của lệnh pass >>> pass 20