04 Loops: For, While, Break, Continue, Else

image.png լուսանկարի հղումը, Հեղինակ՝ Naz Israyelyan

Open In Colab (ToDo)

while my_guitar_gently_weeps:
(c) Beatles

🎦 Տեսադասեր + լրացուցիչ

ToDo 1. Տեսություն 2025
2. Տեսություն 2023
3. Գործնական 2025
4. Գործնական 2023
5. Որոշ տնայինների լուծումներ

Նշումներ։

Դասընթացին մասնակցության ու կարծիք հայտնելու Google Form

📚 Նյութը

For

For ցիկլը տարբեր տվյաների կառուցվածների վրա

for լիստ

anunner = ["Լեռնիկ", "Սանասար", "Թելման", "Ժորիկ", "Ժորժիկ", "Այծեմնիկ",
           "Սպիրիդոն", "Սուլեյման", "Տարզան", "Թորգոմիկ", "Կճեպ", "Խփո",
           "Դառվիս", "Վիտյոկ", "Մոզգ", "Բութուլ", "Տալաշ", "Բերիմոռ",
           "Ֆայլո", "Գոռո", "Մավսես", "Դրակոն", "Լութո", "Բարշամ",
           "Էռնեստո Փարպեցի", "Բարխուդարում", "Բոբոլ", "Հռազմիկ"]
print(f"{anunner[0]}ն կարգինի հերոս է")
print(f"{anunner[1]}ն կարգինի հերոս է")
print(f"{anunner[2]}ն կարգինի հերոս է")
print(f"{anunner[3]}ն կարգինի հերոս է")
print(f"{anunner[4]}ն կարգինի հերոս է")
print(f"{anunner[5]}ն կարգինի հերոս է")
print(f"{anunner[6]}ն կարգինի հերոս է")
print(f"{anunner[7]}ն կարգինի հերոս է")
print(f"{anunner[8]}ն կարգինի հերոս է")
print(f"{anunner[9]}ն կարգինի հերոս է")
print(f"{anunner[10]}ն կարգինի հերոս է") # և այլն

# փոխել ն-ն ը-ւ
Լեռնիկն կարգինի հերոս է
Սանասարն կարգինի հերոս է
Թելմանն կարգինի հերոս է
Ժորիկն կարգինի հերոս է
Ժորժիկն կարգինի հերոս է
Այծեմնիկն կարգինի հերոս է
Սպիրիդոնն կարգինի հերոս է
Սուլեյմանն կարգինի հերոս է
Տարզանն կարգինի հերոս է
Թորգոմիկն կարգինի հերոս է
Կճեպն կարգինի հերոս է
# anunner[0], annuner[1], anunner[2]
a = anunner[0]
print(f"{a}ն կարգինի հերոս է")

a = anunner[1]
print(f"{a}ն կարգինի հերոս է")
Լեռնիկն կարգինի հերոս է
Սանասարն կարգինի հերոս է
for a in anunner:
    print(f"{a}ն կարգինի հերոս է")
Լեռնիկն կարգինի հերոս է
Սանասարն կարգինի հերոս է
Թելմանն կարգինի հերոս է
Ժորիկն կարգինի հերոս է
Ժորժիկն կարգինի հերոս է
Այծեմնիկն կարգինի հերոս է
Սպիրիդոնն կարգինի հերոս է
Սուլեյմանն կարգինի հերոս է
Տարզանն կարգինի հերոս է
Թորգոմիկն կարգինի հերոս է
Կճեպն կարգինի հերոս է
Խփոն կարգինի հերոս է
Դառվիսն կարգինի հերոս է
Վիտյոկն կարգինի հերոս է
Մոզգն կարգինի հերոս է
Բութուլն կարգինի հերոս է
Տալաշն կարգինի հերոս է
Բերիմոռն կարգինի հերոս է
Ֆայլոն կարգինի հերոս է
Գոռոն կարգինի հերոս է
Մավսեսն կարգինի հերոս է
Դրակոնն կարգինի հերոս է
Լութոն կարգինի հերոս է
Բարշամն կարգինի հերոս է
Էռնեստո Փարպեցին կարգինի հերոս է
Բարխուդարումն կարգինի հերոս է
Բոբոլն կարգինի հերոս է
Հռազմիկն կարգինի հերոս է
for փոփոխական in ինչ-որ բան որը ունի էլեմենտներ:
    արա էս ինչ բանը
sirac_tver = [0, 5, 9, 12]
for tiv in sirac_tver:
    if tiv > 5:
        print(tiv)
  
# tiv = sirac_tver[0]
# if tiv > 5:
#   print(tiv)
# tiv = sirac_tver[1]
# if tiv > 5:
#   print(tiv)
# tiv = sirac_tver[2]
# if tiv > 5:
#   print(tiv)
9
12

for range

նույնիսկ եթե կարողանաինք միշտ մենք ուղղակի list-ով ցուցակ սարքել, rangeը ավելի նախընտրելի ա, որովհետև նույնիսկ միլիոն թիվ պարունակի, հիշողությունում զբաղեցնում ա նույն քանակի տեղ (3 թիվ ա պահում, start, end, step)

print(range(3,21))
print(list(range(3,21)))

print(range(3, 1000000000000000000000000000))
# print(list(range(3, 100000000000000000000000000)))
range(3, 21)
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
range(3, 1000000000000000000000000000)
lst = list(range(1,10))
print(lst)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
print(range(1,10))
range(1, 10)
for i in lst:
    if i % 2 == 0:
        print(i)
2
4
6
8
lst = list(range(1,10))
print(lst)

# for i in lst:
for i in list(range(1,10)):
    if i % 2 == 0:
        print(i)

for i in range(1,10):
    if i % 2 == 0:
        print(i)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
2
4
6
8
2
4
6
8
for i in range(1,5): # i - iterator / iterable
    print(i)
1
2
3
4

(count) Առաջադրանք 1

հաշվել թե քանի զույգ թիվ կա 1-ից 10 միջակայքում

count = 0

for i in range(1,11):
    if i % 2 == 0:
        count += 1

print(count)
0
1
0
1
0
1
0
1
0
1
count = 0

for i in range(1,10):
    if i % 2 == 0:
        print(i, "ն զույգ է")
        count += 1
        print(count)

print("ընդհանուր քանակ", count)
2 ն զույգ է
1
4 ն զույգ է
2
6 ն զույգ է
3
8 ն զույգ է
4
ընդհանուր քանակ 4
for i in range(1,9): 
    print(f"{i = }")
    count = 0
    if i % 2 == 0:
        print(i, "ն զույգ է")
        count += 1
    print(count)
    print()

print("ընդհանուր քանակ", count)
i = 1
0

i = 2
2 ն զույգ է
1

i = 3
0

i = 4
4 ն զույգ է
1

i = 5
0

i = 6
6 ն զույգ է
1

i = 7
0

i = 8
8 ն զույգ է
1

ընդհանուր քանակ 1

(range) Առաջադրանք 2

խնդրել մարդուն որ ասի թե քանի թիվա ուզում ներմուծի, ներմուծի ու պահել ցուցակի մեջ

n = int(input())

lst = []

for _ in range(n):
    lst.append(input())
    
print(f"Պետք ա առնենք։ {lst}")
    






Պետք ա առնենք։ ['pnar', 'kanget']
# խնդրել մարդուն որ ասի թե քանի թիվա ուզում ներմուծի, օգնել որ ներմուծի ու տպել դրանք
n = int(input())
for _ in range(n): # արա n անգամ
    bar = input()
    print('դուք ներմուծեցիք', bar)

Բայց ախր հեչ կարևոր չէր ստեղ i-ն,

Նման դեպքերում երբ մեզ իրականում փոփոխականը պետք չի, իրա անունը դնում ենք _

_ -> ինչորայա

(index) Առաջադրանք 3

տպել զույգ ինդեքսով թվերը

tver = [3, 4, 1, 0, 112, 509, 8]

for i in range(0, len(tver), 2):
    # if i % 2 == 0:
    print(tver[i])
    
3
1
112
8
tver = [3, 4, 1, 0, 112, 509, 8]

print(tver[::2])
[3, 1, 112, 8]

Փոփոխականի արժեքի վրա for-ի ազդդեցությունը

tver = [3, 4, 1, 0, 112, 509, 8]

a = "barev"
print(a, "մինչև for")
for a in range(len(tver)):
    print(a, 'for-ի մեջ')
    if a % 2 == 0:
        pass

print(a, 'for-ից դուրս')

for a in range(len(tver)):
    pass
barev մինչև for
0 for-ի մեջ
1 for-ի մեջ
2 for-ի մեջ
3 for-ի մեջ
4 for-ի մեջ
5 for-ի մեջ
6 for-ի մեջ
6 for-ից դուրս

For string

# հաշվել տեքսի մեջ a-երի քանակը

s = "ցիկլները շատ լավ բան են"

count_a = 0
for i in s: # for i in "ցիկլները շատ լավ բան են"
    # print(i)
    if i == 'ա':
        count_a += 1

print(count_a)
3

break

Իսկ ինչ եթե ինչ-որ պահից սկսած էլ մնացած էլեմենտների համար չենք ուզում աշխատացնենք ծրագիրը, մեզ ինչ պետք էր արեցինք

irer = ['գրիչ', "պանիր", "հարթուկ", "նասկու թայ","մակարոն", "գիրք",  "ատամի խոզանակ", "փիղ"]

for i in irer:
    print(f'դարակի մեջ դրված էր {i}')
    if i == 'նասկու թայ':
        print('ուռաաա, գտա')
        break
    print('շանունակում ենք ման գալ')
    
print(1)
դարակի մեջ դրված էր գրիչ
շանունակում ենք ման գալ
դարակի մեջ դրված էր պանիր
շանունակում ենք ման գալ
դարակի մեջ դրված էր հարթուկ
շանունակում ենք ման գալ
դարակի մեջ դրված էր նասկու թայ
ուռաաա, գտա
1

Continue

Արմատ հաշվել

for i in [1, 4, 509, -3, 49, -13]:
    print(f"փորձեմ հաշվել {i}-ի արմատը")

    if i < 0:
        print(f'Հլը մի րոպե, մենք սենց չէինք պայմանավորվել, բաց եմ թողնում {i}ը')
        print()
        continue

    print(f"արմատնա՝ {i ** 0.5}")
    print()
փորձեմ հաշվել 1-ի արմատը
արմատնա՝ 1.0

փորձեմ հաշվել 4-ի արմատը
արմատնա՝ 2.0

փորձեմ հաշվել 509-ի արմատը
արմատնա՝ 22.561028345356956

փորձեմ հաշվել -3-ի արմատը
Հլը մի րոպե, մենք սենց չէինք պայմանավորվել, բաց եմ թողնում -3ը

փորձեմ հաշվել 49-ի արմատը
արմատնա՝ 7.0

փորձեմ հաշվել -13-ի արմատը
Հլը մի րոպե, մենք սենց չէինք պայմանավորվել, բաց եմ թողնում -13ը

Կարանք միաժամանակ համ break համ continue ունենանք

13ից վախեցողի խնդիր, արմատ հաշվել

for num in [-1, 9, 4, -2, 13, 16, 36]:
    print(f"փորձենք հաշվել {num}ի արմատը")

    if num < 0:
        print('ախր չեմ կարա է բացասականի արմատը հաշվեմ\n')
        continue

    if num == 13:
        print("վայ-վայ, վախեցա, էլ չեմ հաշվի ես քո համար արմատներ, ես քեզ վստահում էի, իսկ դու․․․ օ՜հ, ինչպես կարող էիր, մեր մեջ ամենինչ վերջացած է, չեմ ուզում քեզ այլևս տեսնել, մոռացիր իմ գոյության մասին, դու այլևս իմ կյանքում տեղ չունես, ես անիծում եմ այն օրը երբ մենք հանդիպեցինք, երբ այգում տխուր նստած էի, նոր էի վերջացրել Ռեմարկի գիրքս կարդալը, դու էլ անտրամ հենված էիր ծառի կոճին, հայացքներով հանդիպեցինք՝ քաջություն արեցիր մոտենալ, և պարզվեց որ երկուսս էլ նույն հերոսի մահի պատճառով էինք տխուր, Ռեմարկի մոտ շատ լավա ստացվում սիրտը կոտրել իր գրքի հերոսի, փաստորեն դու էլ իմ սիրտը կոտրելու մասնագետ ես, ախր մենք այնքան բանի միջով ենք իրար հետ անցել, այնքան հրաշալի օրեր ենք ունեցել, հիշում ես երբ ամբողջ գիշեր աստերին էինք նայում ու դու ինձ սովորացնում էիր համաստեղությունները, կամ երբ միասին Արագած էինք բարձրացել և ինձ քո ուսերի վրա նստացրեցիր որ ես այդ պահին ամենաբարձր մարդը լինեմ Հայաստանում, հիշում ես երբ ծնվեց մեր դուստրը՝ Սեցիլիան, աչքերս լցվում են երբ հիշում եմ ինչպես ասեց նա իր առաջին քայլը, դու էլ իր համար ճոճարան կառուցեցիր, դե ճոճարան ասելս մեքենայի անիվը կախեցիր մեր տնկած թթենու ճյուղերից մեկից, հիշի են օրը երբ մեր առաջնեկ Իգնասիոյին պետք է առաջին անգամ դպրոց ուղղարկեինք, են որ լարված էինք արդյող կհարմարվի թե չէ, ինքն էլ եկավ ճակատին աստղ նկարած ասեց որ բոլորից ամենալավը նա է պատասխանել ուսուցչի տված հանելուկներին, դե իհարկե լավ կպատասխաներ՝ ամեն գիշեր հեքիաթ պատմելուց առաջ միասին տարբեր տրամաբանական խնդիրների էինք քննարկում հիշու՞մ ես, ոնց կարաիր դու այս ամենը ավիրեիր, ինչպես կարող էիր ինձ ասել հաշվեմ 13ի արմատը, ախր դու գիտես որ ես էդ թիվը չեմ սիրում, վստահ եղիր դատարանը իմ օգտին կկայացնի որոշումը, երեխաները կմնան ինձ հետ, իհարկե դատարանը իմ կողքին կլինի, ով էլ լսի թե ինչ ես դու արել միանգամից կպաշտպանի ինձ, ասել հաշվի 13ի արմատը, ինչպես կարող ես քո երեխաների մորը այդպիսի բան ասել, այն բոլոր խոստումներից հետո, գամակ էինք գնել, ասում էիր ես ավելի շատ գամակի մեջ եմ սիրում քնել, արի մենք ոչ թե մի բարձի ծերանանք այլ նույն գամակի մեջ, իսկ հիմա՝ տես թե ինչի ենք հասել, սա գրելուն զուգահեռ խարույկի մեջ եմ քցում մեր բոլոր միասնական նկարները և են նվերը որն ինձ արեցիր մեր առաջին տարելիցին, այն 365էջանոց ժողովածուն բանաստեղծությունների որոնք գրում էիր ամեն գիշեր մեր այդ օրվա և մեր սիրո մասին, լավ, մի տեսակ եթե սենց շարունակեմ մնացած նյութը ցիկլերի չեմ հասցնի մինչև դասը, ես այսօր թողնում եմ քեզ իմ սերն ու հեռանում, իմ սրտին այսօր մի նոր վերք է ավելանում Ու իմ սերը պոկված ճյուղի, պոկված ճյուղի, ճյուղի նման, օրորվում է աշնան քամուց, աշնան քամուց, աշնան քամուց, հաջողություն սրիկա\n")
        break

    print(f"արմատնա՝ {num ** 0.5}\n")
փորձենք հաշվել -1ի արմատը
ախր չեմ կարա է բացասականի արմատը հաշվեմ

փորձենք հաշվել 9ի արմատը
արմատնա՝ 3.0

փորձենք հաշվել 4ի արմատը
արմատնա՝ 2.0

փորձենք հաշվել -2ի արմատը
ախր չեմ կարա է բացասականի արմատը հաշվեմ

փորձենք հաշվել 13ի արմատը
վայ-վայ, վախեցա, էլ չեմ հաշվի ես քո համար արմատներ, ես քեզ վստահում էի, իսկ դու․․․ օ՜հ, ինչպես կարող էիր, մեր մեջ ամենինչ վերջացած է, չեմ ուզում քեզ այլևս տեսնել, մոռացիր իմ գոյության մասին, դու այլևս իմ կյանքում տեղ չունես, ես անիծում եմ այն օրը երբ մենք հանդիպեցինք, երբ այգում տխուր նստած էի, նոր էի վերջացրել Ռեմարկի գիրքս կարդալը, դու էլ անտրամ հենված էիր ծառի կոճին, հայացքներով հանդիպեցինք՝ քաջություն արեցիր մոտենալ, և պարզվեց որ երկուսս էլ նույն հերոսի մահի պատճառով էինք տխուր, Ռեմարկի մոտ շատ լավա ստացվում սիրտը կոտրել իր գրքի հերոսի, փաստորեն դու էլ իմ սիրտը կոտրելու մասնագետ ես, ախր մենք այնքան բանի միջով ենք իրար հետ անցել, այնքան հրաշալի օրեր ենք ունեցել, հիշում ես երբ ամբողջ գիշեր աստերին էինք նայում ու դու ինձ սովորացնում էիր համաստեղությունները, կամ երբ միասին Արագած էինք բարձրացել և ինձ քո ուսերի վրա նստացրեցիր որ ես այդ պահին ամենաբարձր մարդը լինեմ Հայաստանում, հիշում ես երբ ծնվեց մեր դուստրը՝ Սեցիլիան, աչքերս լցվում են երբ հիշում եմ ինչպես ասեց նա իր առաջին քայլը, դու էլ իր համար ճոճարան կառուցեցիր, դե ճոճարան ասելս մեքենայի անիվը կախեցիր մեր տնկած թթենու ճյուղերից մեկից, հիշի են օրը երբ մեր առաջնեկ Իգնասիոյին պետք է առաջին անգամ դպրոց ուղղարկեինք, են որ լարված էինք արդյող կհարմարվի թե չէ, ինքն էլ եկավ ճակատին աստղ նկարած ասեց որ բոլորից ամենալավը նա է պատասխանել ուսուցչի տված հանելուկներին, դե իհարկե լավ կպատասխաներ՝ ամեն գիշեր հեքիաթ պատմելուց առաջ միասին տարբեր տրամաբանական խնդիրների էինք քննարկում հիշու՞մ ես, ոնց կարաիր դու այս ամենը ավիրեիր, ինչպես կարող էիր ինձ ասել հաշվեմ 13ի արմատը, ախր դու գիտես որ ես էդ թիվը չեմ սիրում, վստահ եղիր դատարանը իմ օգտին կկայացնի որոշումը, երեխաները կմնան ինձ հետ, իհարկե դատարանը իմ կողքին կլինի, ով էլ լսի թե ինչ ես դու արել միանգամից կպաշտպանի ինձ, ասել հաշվի 13ի արմատը, ինչպես կարող ես քո երեխաների մորը այդպիսի բան ասել, այն բոլոր խոստումներից հետո, գամակ էինք գնել, ասում էիր ես ավելի շատ գամակի մեջ եմ սիրում քնել, արի մենք ոչ թե մի բարձի ծերանանք այլ նույն գամակի մեջ, իսկ հիմա՝ տես թե ինչի ենք հասել, սա գրելուն զուգահեռ խարույկի մեջ եմ քցում մեր բոլոր միասնական նկարները և են նվերը որն ինձ արեցիր մեր առաջին տարելիցին, այն 365էջանոց ժողովածուն բանաստեղծությունների որոնք գրում էիր ամեն գիշեր մեր այդ օրվա և մեր սիրո մասին, լավ, մի տեսակ եթե սենց շարունակեմ մնացած նյութը ցիկլերի չեմ հասցնի մինչև դասը, ես այսօր թողնում եմ քեզ իմ սերն ու հեռանում, իմ սրտին այսօր մի նոր վերք է ավելանում Ու իմ սերը պոկված ճյուղի, պոկված ճյուղի, ճյուղի նման, օրորվում է աշնան քամուց, աշնան քամուց, աշնան քամուց, հաջողություն սրիկա

else

Ինչի ա անունը հենց else -> https://www.youtube.com/watch?v=6Im38sF-sjo

Ինչքան էլ խառնող ու տարօրինակ չլինի բայց for-ն էլ else ունի,

կարող ենք պատկերացնել սենց, for ենք ֆռում որ ինչ-որ պայման կատարվի՝ գտնենք նասկու թայը օրինակ ու break անենք, դուրս գանք for-ից

եթե դուրս չենք գալիս՝ պայմանը տեղի չի ունենում որով պետքա դուրս գանք նաև աշխատումա elseի կտորը վերջում

irer = ['գրիչ', "պանիր","նասկու թայ", "հարթուկ", "մակարոն", "գիրք",  "ատամի խոզանակ", "փիղ"]


for i in irer:
    print(f'դարակի մեջ դրված էր {i}', end="  .....   ")
    if i == 'նասկու թայ':
        print('ուռաաա, գտա')        
        break
    print('շանունակում ենք ման գալ')
else: # կաշխատի եթե break չի եղել
    print("չգտա")
դարակի մեջ դրված էր գրիչ  .....   շանունակում ենք ման գալ
դարակի մեջ դրված էր պանիր  .....   շանունակում ենք ման գալ
դարակի մեջ դրված էր նասկու թայ  .....   ուռաաա, գտա
շանունակում ենք ման գալ
դարակի մեջ դրված էր հարթուկ  .....   շանունակում ենք ման գալ
դարակի մեջ դրված էր մակարոն  .....   շանունակում ենք ման գալ
դարակի մեջ դրված էր գիրք  .....   շանունակում ենք ման գալ
դարակի մեջ դրված էր ատամի խոզանակ  .....   շանունակում ենք ման գալ
դարակի մեջ դրված էր փիղ  .....   շանունակում ենք ման գալ
չգտա

(զույգ կա) Առաջադրանք 1

ցուցակ ա տված թվերի՝ եթե բոլորը կենտ են տպել բոլորը կենտ են, եթե չէ տպել որ կա զույց թիվ

# ցուցակ ա տված թվերի՝ եթե բոլորը կենտ են տպել բոլորը կենտ են, եթե չէ տպել որ կա զույց թիվ

tver = [1, 1, 3, 4, 2, 5, 4]

for i in tver:
    if i % 2 == 0:
        print("զույգ թիվ կա")
        break
else:
    print("Բոլորը կենտ են")

# if tver[0] % 2 == 0 or tver[1] % 2 == :
#     print("զույգ թիվ կա")
# else:
#     print("Բոլորը կենտ են")
զույգ թիվ կա

(պարզ թիվ) Առաջադրանք 2

Պարզել թիվը պարզ ա թե չէ

n = int(input())

for i in range(2, n):
    if n % i == 0:
        print("պարզ չի")
        break
else:
    print("պարզ")
պարզ չի

While

Աշխատացնել ծրագիրը քանի դեռ ինչ-որ պայման չի բավարարվել

whileը հիմնականում օգտագործում ենք երբ չգիտենք թե ինչքան պետքա աշխատի մեր կոդը, չկա նենց բան որ էս ցուցակի էլենետներով անցի հերիք ա, պետք ա ենքան աշխատի մինչև ինչ-որ պայման բավարարվի, դրանով իրանք ավելի ճկուն են for ից բայց նաև ավելի վտանգավոր՝ անվերջ ցիկլի մեջ ընկնելու ռիսկի պատճառով

while պայման (bool):
    արա էս-էս բանը
    
while True:
    print('պանիր')

For-ով արվող ամենինչ կարա արվի while-ով, բայց հակառակ պնդումը ճիշտ չի։

1 4 թվերի գումարը

gumar = 0

for i in range(1,5):
    gumar += i

print(gumar)
10
i = 1
gumar = 0
while i < 5:
    gumar += i
    print(f'գումարը մեծացրեցինք {i}ով')

    i = i + 1
    print(f'i-ն դարձրեցինք {i}')
    print()

print(gumar)
գումարը մեծացրեցինք 1ով
i-ն դարձրեցինք 2

գումարը մեծացրեցինք 2ով
i-ն դարձրեցինք 3

գումարը մեծացրեցինք 3ով
i-ն դարձրեցինք 4

գումարը մեծացրեցինք 4ով
i-ն դարձրեցինք 5

10

(թիվ գուշակել) Առաջադրանք 1

թիվ գուշակելու խնդիր: Մենք թիվ ենք մտապահել, մարդը փորձում ա գուշակի

mtapahac = '509'

while True:
    gushakac = input()

    if gushakac == mtapahac:
        print("Գուշակեցիր")
        break
    else:
        print("Նորից փորձիր")
Նորից փորձիր
Նորից փորձիր
Գուշակեցիր
mtapahac = 7
gushakel = False

while not gushakel:
    gushakutun = int(input('Մուտք գործեք Ձեր գուշակությունը\n'))
    print(gushakutun)

    if gushakutun == mtapahac:
        print('հաղթեցիր')
        gushakel = True
    else:
        print(f'հըըն, իմ մտապահած թիվը {gushakutun} չէր\n')
6
6

break

լրիվ նույն պատմությունն ա ինչ for-ի դեպքում։ break, continue, else-ը ցիկլերի գաղափարներն են, ոչ թե հենց for-ի

(թիվ գուշակել, փորձեր) Առաջադրանք 2

նույն գուշակելու խնդիրը ուղղակի ստեղ 3 փորձ ունենք

mtapahac = 7
gushakel = False
pordzeri_qanak = 3

while not gushakel:
    if pordzeri_qanak == 0:
        print("Փորձերը վերջացան")
        break

    gushakutun = int(input('Մուտք գործեք Ձեր գուշակությունը\n'))
    print(gushakutun)

    if gushakutun == mtapahac:
        print('հաղթեցիր')
        gushakel = True
    else:
        print(f'հըըն, իմ մտապահած թիվը {gushakutun} չէր\n')

    pordzeri_qanak -= 1

Մուտք գործեք Ձեր գուշակությունը
7
7
հաղթեցիր

while meme.jpg

while meme.jpg

while else

(թվերը կենտ) Առաջադրանք 1

Պարզել մուտքում տրված բոլոր թվերը կենտ են թե զույգ թիվ էլ կա

der_ashxatum_enq = True

while der_ashxatum_enq:
    mutq = input()
    if mutq == "x":
        der_ashxatum_enq = False
    else:
        mutq = int(mutq)

        if mutq % 2 == 0:
            print("զույգ թիվ կա")
            break
else:
    print("Բոլորը կենտ են")

🏡Տնային

Հիմնական տնային

  1. Profound բաժին 15 (for ցիկլեր) - լրիվ
  2. Profound բաժին 17 (while ցիկլեր) - լրիվ
  3. Profound բաժին 18 (break, continue, while/for else) - լրիվ

Նշումներ

  • Շուտ եմ ասել բաժին 18-ում break, continue օգտագործել չկա
  • 18.13-ը (հապալասի այգի) կարող ա շատ բարդ լինի, եթե բաց թողնեք՝ օքեյ ա

Լուծումներ

🛠️ Գործնական (ToDo)

  1. Rock, paper, scissors game
  2. Guess the number game
  3. Bubble sort
  4. Bulls and cows game
  5. Tic-tac-toe game
  6. Hangman game

1-ին և 10-րդ հարկերից ընկնելու տարբերությունը` 10-րդ հարկից-Աաաաա՜, դը’խկ, 1-ին հարկից-Դը’խկ, աաաաա՜։)

Google form տնայինի խնդիրների վերաբերյալ

Hangman game

https://hangmanwordgame.com

import random

max_wrong_attempts = 2
count_mistakes = 0

words = ["chesse", "bottle", "earphone"]
word = random.choice(words)

print(word)

predicted = len(word)*["_"]

while count_mistakes < max_wrong_attempts:
    print(f"{predicted} | Mistake attempts = {max_wrong_attempts - count_mistakes}")
    letter = input("Please input the letter")
    
    if letter == "quit":
        break
    
    if letter not in word:
        count_mistakes += 1
        continue
    
    for i in range(len(word)):
        if word[i] == letter:
            predicted[i] = letter

    # winning case
    if not ("_" in predicted): 
        print("You Won!!!")
        break
earphone
['_', '_', '_', '_', '_', '_', '_', '_'] | Mistake attempts = 2
['e', '_', '_', '_', '_', '_', '_', 'e'] | Mistake attempts = 2
['e', 'a', '_', '_', '_', '_', '_', 'e'] | Mistake attempts = 2
['e', 'a', 'r', '_', '_', '_', '_', 'e'] | Mistake attempts = 2
['e', 'a', 'r', 'p', '_', '_', '_', 'e'] | Mistake attempts = 2
['e', 'a', 'r', 'p', 'h', '_', '_', 'e'] | Mistake attempts = 2
['e', 'a', 'r', 'p', 'h', 'o', '_', 'e'] | Mistake attempts = 2
You Won!!!

Bubble sort

https://realpython.com/sorting-algorithms-python/

https://en.wikipedia.org/wiki/Bubble_sort

nums = [1, 100, 3, -123, 4, 509, 7]

num_len = len(nums)

num_operators = 0

for iter_num in range(num_len):
    swap = False
    for i in range(num_len - 1 - iter_num):
        # print(f"{nums[i]}, {nums[i+1]}")
        num_operators += 1

        if nums[i] > nums[i+1]:
            swap = True
            # print("swapping")
            nums[i], nums[i+1] = nums[i+1], nums[i]
    
    if not swap:
        print("Done")
        break
    print(nums)
        # print()
print(num_operators)
[1, 3, -123, 4, 100, 7, 509]
[1, -123, 3, 4, 7, 100, 509]
[-123, 1, 3, 4, 7, 100, 509]
Done
18

Tic-tac-toe game

Rock, paper, scissors game

import random

target = 2

tarberakner = ["q", "t", "m"]

count_mard = 0
count_comp = 0

# while (count_mard != target) and (count_comp != target):
while True:
    mard = input("Մունքագրեք ձեր տարբերակը (q/t/m)")
    
    if not (mard in tarberakner):
        print(f"Wrong input, you inputted {mard}")
        continue

    # compi input +   
    comp = random.choice(tarberakner)
    print(f"{comp = }")
    
    # stugel ov a krel
    if comp == mard:
        print("ոչ ոքի")
    elif (comp == "q" and mard == "t") or \
         (comp == "t" and mard == "m") or \
         (comp == "m" and mard == "q"):
        print("Մարդը հաղթեց")
        count_mard += 1
    else:
        print("Կոմպը հաղթեց")
        count_comp += 1
    
    # hashuvy tpel
    print(f"Մարդ {count_mard} - {count_comp} Կոմպ")    
        
    if count_comp == target:
        print("Շնորհավոր կոմպ")
        break
    elif count_mard == target:
        print("Շնորհավոր մարդ")
        break
comp = 't'
Կոմպը հաղթեց
Մարդ 0 - 1 Կոմպ
comp = 'm'
Մարդը հաղթեց
Մարդ 1 - 1 Կոմպ
comp = 'm'
Մարդը հաղթեց
Մարդ 2 - 1 Կոմպ
Շնորհավոր մարդ

Bulls and cows game

# 1. generate random num
# 2. take input
# 2.5 input validation
# 3. count bulls 
# 4. count cows 
# 5. check win

    
import random 

# Todo - no duplicates
tiv = random.randint(1000, 9999)

count_attempt = 0

while True:
    # 2
    guess = input("Ներմուծեք թիվը։ ")
    
    if guess == "q":
        break

    # 2.5
    # ToDo validation
    count_attempt += 1
    
    
    # 3 
    count_bulls = 0
    count_cows = 0
    for i in range(len(guess)):
        if tiv[i] == guess[i]:
            count_bulls += 1
        if guess[i] in tiv:
            count_cows += 1
        
    if guess == tiv:
        print(f"Win | Attempts = {count_attempt}")
        break            
    print(f"Bulls - {count_bulls} | Cows - {count_cows} | Guess - {guess}")
tiv = []
tiv
[]
import random

# ToDo - check no duplicates
tvanshaner = list(range(10))
print(tvanshaner)

tiv = []
for i in range(4):
    if i == 0:
        index = random.randint(1, 9-i)
    else:
        index = random.randint(0,9-i)

    nish = tvanshaner[index]
    
    tiv.append(nish)
    del tvanshaner[index]
    
    
print(f"{tiv = }")
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
tiv = [1, 6, 8, 7]

🎲 4

Flag Counter