Python හි ධජ සමග වැඩ කිරීම

ධජයක් යනු විශේෂ විචල්යයක් වන අතර, එය පිළිගන්නේ අගයන් දෙකක් පමණි: True හෝ False. ධජ භාවිතයෙන් යමක් නොමැති බව පරීක්ෂා කරන කාර්යයන් විසඳිය හැකිය: උදාහරණයක් ලෙස, ලැයිස්තුවක නිශ්චිත අගයක් සහිත මූලද්‍රව්‍යයක් නොමැති බව ඔබට පරීක්ෂා කළ හැකිය.

පහත දැක්වෙන ගැටළුව විසඳමු: සංඛ්‍යා ලැයිස්තුවක් ලබා දී ඇත, එහි ඇති සියලුම මූලද්‍රව්‍ය ධනාත්මක දැයි පරීක්ෂා කිරීමට අවශ්‍යයි. මේ සඳහා අපි flag නමින් විශේෂ විචල්යයක් අර්ථ දක්වමු, එය ලූපය ආරම්භ කිරීමට පෙර සත්‍ය වේ. ඍණ සංඛ්‍යාවක් ලූපයට ළඟා වන විට, අපි එහි අගය False ලෙස වෙනස් කරමු. පරීක්ෂණයේ ප්‍රතිඵලය සොයා ගැනීම සඳහා, ලූපයෙන් පසු flag විචල්යය කොන්සෝලයට ප්‍රතිදානය කරමු:

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

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # True ප්‍රතිදානය කරයි, සියලු සංඛ්‍යා ධනාත්මක බැවින්

ධජ විචල්යයට නමක් පවරන විට, එම නම දී ඇති කොන්දේසිය පිළිබිඹු කරන්නේ දැයි බැලීම හොඳ භාවිතයකි. අපි flag වෙනුවට isAllPositive භාවිතා කරමු. පැහැදිලිව පෙන්වීම සඳහා ලැයිස්තුවෙන් එක් සංඛ්‍යාවක් ඍණ අගයකට වෙනස් කරමු:

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

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # False ප්‍රතිදානය කරයි, ඍණ සංඛ්‍යාවක් ඇති බැවින්

පරිඝනනය කරන ලැයිස්තුවේ අගයන් බොහෝ ගණනක් පවතින අතර පළමු ඍණ සංඛ්‍යාව සොයාගත් පසු ලූපය නතර කිරීමට අවශ්‍ය නම්, break උපදෙස යෙදිය යුතුය:

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

ධජ සමග වැඩ කරන විට, ලූපය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය සොයා ගැනීමට, අතිරේක if එකක් භාවිතා කරමින් ධජයේ අගය ප්‍රතිදානය නොකර අභිමත පණිවුඩයක් ප්‍රතිදානය කළ හැකිය.

පෙර උදාහරණය නැවත ලියමු. සියලු මූලද්‍රව්‍ය ධනාත්මක නම්, '+++' ප්‍රතිදානය වන අතර, එසේ නොවේ නම් - '---' ප්‍රතිදානය වේ:

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

if isAllPositive:
  print('+++')
else:
  print('---') # '---' ප්‍රතිදානය කරයි
Задание 1

ලැයිස්තුවක් ලබා දී ඇත. එහි සියලුම මූලද්‍රව්‍ය ධන සංඛ්‍යා දැයි පරීක්ෂා කරන්න.

Задание 2

නිඛිල සංඛ්‍යාවක් ලබා දී ඇත. එය ප්‍රථමක සංඛ්‍යාවක් දැයි, එනම් එකකින් හා තමා කෙරෙහි පමණක් බෙදිය හැකි දැයි පරීක්ෂා කරන්න.