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:
lst = [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ň:
lst = [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:
for 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:
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # '---' çykarar
Sanaw berlen. Onuň ähli elementleriniň işaratly sanlardygygyny barlaň.
Bütin san berlen. Onuň sade san, ýagny diňe bir we özüne bölünýändigini barlaň.