Kufanya Kazi na Bendera katika Python

Bendera - ni tofauti maalum, ambayo inaweza kuchukua thamani mbili tu: True au False. Kwa kutumia bendera unaweza kutatua matatizo yanayohitaji kukagua kutokuwepo kwa kitu: kwa mfano, unaweza kukagua kuwa kwenye orodha hakuna kipengele chenye thamani maalum.

Wacha tutatue tatizo lifuatalo: imetolewa orodha ya nambari, inahitajik kukagua ikiwa vipengele vyote ndani yake ni chanya. Kwa hiayo tunaweka tofauti maalum flag, ambayo itakuwa kweli kabla ya kuanza kitanzi. Na mara tu kitanzi kikipata nambari hasi, tunabadilisha thamani yake kuwa False. Ili kujua matokeo ya ukaguzi, tunatoa tofauti flag baada ya kitanzi kwenye koni:

pythonlst = [1, 2, 3, 4, 5]
flag = True

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # itatoa True, kwa sababu nambari zote ni chanya

Desturi nzuri ni kumpa tofauti ya bendera jina linaloakisi sharti lililowekwa. Wacha tubadilishe jina flag kuwa isAllPositive. Na kwa uwazi zaidi tubadilishe nambari moja kwenye orodha kuwa hasi:

pythonlst = [1, 2, 3, -4, 5]
isAllPositive = True

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # itatoa False, kwa sababu kuna nambari hasi

Ikiwa kwenye orodha inayopitwa kuna thamani nyingi na inahitajika kusitisha kitanzi baada ya kugundua nambari hasi ya kwanza, basi inapaswa kutumia agizo break:

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

Wakati wa kufanya kazi na bendera, ili kujua matokeo ya utekelezaji wa kitanzi, unaweza kuonyesha sio thamani ya bendera, bali ujumbe wowote kwa kutumia if ya ziada.

Wacha tuandike tena mfano uliopita. Ikiwa vipengele vyote ni chanya, basi wacha ionekane '+++', ikiwa sivyo - '---':

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

if isAllPositive:
  print('+++')
else:
  print('---') # itatoa '---'
Задание 1

Imetolewa orodha. Kagua ikiwa vipengele vyake vyote ni nambari chanya.

Задание 2

Imetolewa nambari kamili. Kagua ikiwa ni tasa, yaani inagawanyika tu kwa moja na kwa yenyewe.