Làm việc với cờ trong Python
Cờ - là một biến đặc biệt,
chỉ có thể nhận hai giá trị:
True hoặc False. Bằng cách sử dụng
cờ, chúng ta có thể giải quyết các bài toán kiểm tra
sự vắng mặt của một thứ gì đó: ví dụ, có thể
kiểm tra rằng trong danh sách không có phần tử nào có
một giá trị xác định.
Hãy giải quyết bài toán sau: cho một danh sách
các số, cần kiểm tra xem tất cả các phần tử
trong đó có phải là số dương hay không. Để làm điều này,
chúng ta đặt một biến đặc biệt flag,
sẽ có giá trị True trước khi vòng lặp bắt đầu. Và
khi gặp một số âm trong vòng lặp,
sẽ đổi giá trị của nó thành False. Để
biết kết quả kiểm tra,
chúng ta in biến flag sau vòng lặp
ra console:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # sẽ in ra True, vì tất cả các số đều dương
Một thực hành tốt là đặt tên cho
biến cờ phản ánh
điều kiện đã cho. Hãy đổi tên flag
thành isAllPositive. Và để minh họa rõ hơn,
chúng ta sẽ đổi một số trong danh sách thành số âm:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # sẽ in ra False, vì có số âm
Nếu trong danh sách được duyệt có nhiều giá trị
và cần dừng vòng lặp sau khi phát hiện
số âm đầu tiên, thì nên
áp dụng lệnh break:
for el in lst:
if el < 0:
isAllPositive = False
break
Khi làm việc với cờ, để biết kết quả
thực hiện vòng lặp, có thể không in giá trị
của cờ mà in một thông báo tùy ý bằng cách sử dụng
if bổ sung.
Hãy viết lại ví dụ trước. Nếu
tất cả các phần tử đều dương, hãy để
nó in ra '+++', nếu không -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # sẽ in ra '---'
Cho một danh sách. Kiểm tra xem tất cả các phần tử của nó có phải là số dương không.
Cho một số nguyên. Kiểm tra xem nó có phải là số nguyên tố không, tức là chỉ chia hết cho một và cho chính nó.