Python-da baýdaglar bilen işleşiş

Baýdak - bu diňe iki sany baha kabul edip bilýän ýörite üýtgeýän: True ýa-da False. Baýdaglar bilen belli bir zat ýoklugyny barlamagy talap eden meseleleri çözüp bolýar: meselem, sanawda belli bir bahasy bolan elementiň ýokdugy barlanyp bolýar.

Geliň şu mesele çözeliň: sanlardan ybarat sanaw berlen, onuň ähli elementleriniň işaratlydygyny barlamaly. Bunuň üçin flag atly ýörite üýtgeýän belgileris, ol aýlaw başlamazdan öň hakyky bolsun. Aýlawda bolsa san ters bolanda, onuň bahasyny False üýtgeris. Barlagyň netijesini bilmek üçin, aýlawdan soň flag üýtgeýjänini konsola çykarýarys:

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

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # ähli sanlar işaratly bolany üçin True çykarar

Baýdak üýtgeýjisine, berlen şerti aňladýan at berýänlik gowy usuldyr. Geliň flag-y isAllPositive diýip üýtgedeliň. We aýdyňlyk üçin sanawyň bir sanyny ters san bilen çalşyryň:

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

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # ters san bar bolany üçin False çykarar

Eger sanalan sanawda köp bahalar bolsa we ilkinji ters san taplandan soň aýlawy togtatmaly bolsa, onda break buýrugyny ulanmaly:

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

Baýdaglar bilen işleşende, aýlawyň ýerine ýetiriliş netijesini bilmek üçin, baýdagyň bahasyny çykarmagyň ýerine, goşmaça if ulanmak bilen erkin habar çykaryp bolýar.

Geliň öňki mysaly täzeden ýazalyň. Eger ähli elementler işaratly bolsa, '+++' çyksyn, ýok bolsa '---' çyksyn:

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

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

Sanaw berlen. Onuň ähli elementleriniň işaratly sanlardygygyny barlaň.

Задание 2

Bütin san berlen. Onuň sade san, ýagny diňe bir we özüne bölünýändigini barlaň.