= input('սև/կանաչ/մրգային')
mard1_tesak = float(input('Ինչքա՞ն քաղցր'))
mard1_qaxcr = bool(input('Լիմոն կուզե՞ք'))
mard1_limon
print('ջուրը դրեցի եռա')
print("համապատասխան քանակի քաղցր ավելացնել")
print("լիմոն ավելացնել ըստ ցանկության")
print('մատուցել սիրով')
07 Functions 1
Վանաձոր, լուսանկարի հղումը, Հեղինակ՝ Gor Davtyan
Song reference - ToDo
🎦 Տեսադասեր + լրացուցիչ
ToDo 1. Տեսություն 2025
2. Տեսություն 2023 (ToDo)
3. Գործնական 2025
4. Գործնական 2023 (ToDo)
5. Որոշ տնայինների լուծումներ (ToDo)
Google Forms ToDo
📚 Նյութը
Մոտիվացիոն օրինակ
Պատկերացրեք տանը ահավոր փոքր չայնիկ ունենք՝ մի հոգանոց, լիքը հյուրա եկել մենք պետքա չայերը սարքենք, որնա լինելու մեր մոտեցումը
Հարցնել 1. Սև/կանաչ/մրգային ․․․ 2. Ինչքա՞ն քաղցր 3. Լիմոն քցու՞մ եմ
Հարցնելուց հետո \ Ջուրը դնել եռա \ ․․․ \ և իհարկե, մատուցում ենք սիրով
Մեյլ գրելուց ուղղակի անունն եք փոխում ոչ թե ամենինչը
= input('սև/կանաչ/մրգային')
mard1_tesak = float(input('Ինչքա՞ն քաղցր'))
mard1_qaxcr = bool(input('Լիմոն կուզե՞ք'))
mard1_limon
print('ջուրը դնեցի եռա')
print("համապատասխան քանակի քաղցր ավելացնել")
print("լիմոն ավելացնել ըստ ցանկության")
print('մատուցել սիրով')
= input('սև/կանաչ/մրգային')
marda2_tesak = float(input('Ինչքա՞ն քաղցր'))
marda2_qaxcr = bool(input('Լիմոն կուզե՞ք'))
marda2_limon
print('ջուրը դնեցի եռա')
print("համապատասխան քանակի քաղցր ավելացնել")
print("լիմոն ավելացնել ըստ ցանկության")
print('մատուցել սիրով')
թեյ_սարքել(tesak, qaxcr, limon):
սարքել թեյը վերադարձնել
"Սև", 2, True)
թեյ_սարքել("Մրգային", 0, False) թեյ_սարքել(
եկեք փայթնում տեսնենք ոնց ենք սարքում սենց թեյի ապարատներ և ոչ միայն
Ֆունկցիաներ, սկիզբ
= input()
mard1 print(f'Բարև {mard1}')
print("""Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
""")
= input()
mard2 print(f'Բարև {mard2}')
print("""Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
""")
= input()
mard3 print(f'Բարև {mard3}')
print("""Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
""")
= input()
mard4 print(f'Բարև {mard4}')
print("""Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
""")
Բարև qwefdbg
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
Բարև dsvfbg
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
Բարև dsfg
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
Բարև dgf
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
Առանց ոչ մի բան ֆունցկիա
def harcupordz_anel(): # define (սահմանում)
print("""Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
""")
= input()
mard1 print(f'Բարև {mard1}')
harcupordz_anel()
= input()
mard2 print(f'Բարև {mard2}')
harcupordz_anel()
Բարև sdasada
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
Բարև dasasd
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
Արգումենտով ֆունցկիա
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None. Otherwise
the return value has the same type as the number. ndigits may be negative.
print(round(3.5123343, 4))
3.5123
def harcupordz_anel(name):
print(f'Բարև {name}')
print("""Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
""")
= 1
name
"a") harcupordz_anel(
Բարև a
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
= input()
amard1
harcupordz_anel(mard1)print(1)
Բարև 32122
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
None
1
Կարանք նույնիսկ սենց անենք՝
def hacupordz_anel():
= input()
anun print(f'Բարև {anun}')
print("""Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
""")
print(anun)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-16-cdee89ff6ea4> in <cell line: 1>() ----> 1 print(anun) NameError: name 'anun' is not defined
hacupordz_anel()
1234
Բարև 1234
Ո՞նց ես,
տնեցիք լա՞վ են,
էլի՞ են հին տներն եք մնում,
թութը թա՞փ եք տալիս,
էս նիհարե՞լ ես հա ոնց-որ,
բա չե՞ս պսակվում,
վախտնա է արդեն,
մենք էլ ենք չէ թոռ ուզում
None
Մի քանի արգումենտ ունենա
def hashvel_caxsy(poncikneri_qanak, ponchikneri_gin):
print(poncikneri_qanak * ponchikneri_gin)
3, 150) hashvel_caxsy(
450
= hashvel_caxsy(3, 150)
gumar print(gumar)
450
None
= hashvel_caxsy(3, 150)
a print(a)
if a > 300:
print("չենք կարող գնել")
450
None
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Input In [22], in <cell line: 4>() 1 a = hashvel_caxsy(3, 150) 2 print(a) ----> 4 if a > 300: 5 print("չենք կարող գնել") TypeError: '>' not supported between instances of 'NoneType' and 'int'
Կառուցվածքը
def funkciai_anun(argument1, argument2): # def -> define (սահմանել) բառից
"""Ֆունկցիայի նկարագիր, սրա մասին հետո # կարա սա չլինի
"""
# արա էս-էս բանը
return inch_vor_arjeq # կարա սա չլինի
return-ով ֆունկցիաներ
def hashvel_caxsy(poncikneri_qanak, ponchikneri_gin):
print(poncikneri_qanak * ponchikneri_gin)
= 500
unenq
if unenq > hashvel_caxsy(3, 110):
print("uraa")
330
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Input In [24], in <cell line: 3>() 1 unenq = 500 ----> 3 if unenq > hashvel_caxsy(3, 110): 4 print("uraa") TypeError: '>' not supported between instances of 'int' and 'NoneType'
իսկ ինչ եթե ուզում ենք ինչ-որ ձև օգտագործել էդ արժեքը
def hashvel_caxsy(poncikneri_qanak, ponchikneri_gin):
return poncikneri_qanak * ponchikneri_gin
= hashvel_caxsy(3, 110)
gin print(gin)
330
= 500
unenq
= hashvel_caxsy(3, 110)
caxs
print(caxs)
if unenq < caxs:
print('տխրել')
else:
print('ամ նյամ նյամ')
330
ամ նյամ նյամ
մի քանի արժեքների return
def ponchikneri_calculator(exac_gumar, ponchikneri_qanak, ponchikneri_gin):
# anhrajesht_gumar = ponchikneri_qanak * ponchikneri_gin
= hashvel_caxsy(ponchikneri_qanak, ponchikneri_gin)
anhrajesht_gumar
print(f"Ձեզ պետք է {anhrajesht_gumar}դրամ")
= exac_gumar // ponchikneri_gin
karox_enq_gnel
if exac_gumar < anhrajesht_gumar:
print(f"Կներեք բայց Ձեր գումարը չի հերիքում, կարող եք գնել {karox_enq_gnel} հատ")
else:
print(f"Անուշ արեք, Ձեր մանրն է {exac_gumar - anhrajesht_gumar} դրամ")
return anhrajesht_gumar, karox_enq_gnel
print(ponchikneri_calculator(1000, 5, 110))
print(type(ponchikneri_calculator(1000, 5, 110)))
# gumar, karanq_arnenq = ponchikneri_calculator(1000, 5, 110)
Ձեզ պետք է 550դրամ
Անուշ արեք, Ձեր մանրն է 450 դրամ
(550, 9)
Ձեզ պետք է 550դրամ
Անուշ արեք, Ձեր մանրն է 450 դրամ
<class 'tuple'>
= ponchikneri_calculator(1000, 5, 110) gumar, karanq_arnenq
Ձեզ պետք է 550դրամ
Անուշ արեք, Ձեր մանրն է 450 դրամ
print(gumar)
print(karanq_arnenq)
print(ponchikneri_calculator(1000, 5, 110))
550
9
Ձեզ պետք է 550դրամ
Անուշ արեք, Ձեր մանրն է 450 դրամ
(550, 9)
returnից հետո ամենինչ անտեսվումա
def panirner_tpel():
print('պանիր')
print('պանիր')
return 'համով պանիր'
print(509)
= 0
a print(a)
= panirner_tpel()
a
print(a)
պանիր
պանիր
համով պանիր
round(4.512)
5
Արգումենտների տեսակներ
default արգումենտ
print(1,2, sep=" ")
1 2
def ponchikneri_calculator(exac_gumar, ponchikneri_qanak, ponchikneri_gin=130):
print(f'պոնչիկի գինն է՝ {ponchikneri_gin}')
= ponchikneri_qanak * ponchikneri_gin
anhrajesht_gumar print(f"Ձեզ պետք է {anhrajesht_gumar}դրամ")
= exac_gumar // ponchikneri_gin
karox_enq_gnel
if exac_gumar < anhrajesht_gumar:
print(f"Կներեք բայց Ձեր գումարը չի հերիքում, կարող եք գնել {karox_enq_gnel} հատ")
else:
print(f"Անուշ արեք, Ձեր մանրն է {exac_gumar - anhrajesht_gumar}դրամ")
return anhrajesht_gumar, karox_enq_gnel
print(ponchikneri_calculator(1000, 5))
print(ponchikneri_calculator(1000, 5, 150))
պոնչիկի գինն է՝ 130
Ձեզ պետք է 650դրամ
Անուշ արեք, Ձեր մանրն է 350դրամ
(650, 7)
պոնչիկի գինն է՝ 150
Ձեզ պետք է 750դրամ
Անուշ արեք, Ձեր մանրն է 250դրամ
(750, 6)
print(1,2)
print(1,2, sep="---")
1 2
1---2
help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
print(ponchikneri_calculator(1000, 5))
պոնչիկի գինն է՝ 130
Ձեզ պետք է 650դրամ
Անուշ արեք, Ձեր մանրն է 350դրամ
(650, 7)
# ինչ-որ բան հիշացնումա՞
print(1, 3)
print(1, 3, sep="․․․ ․․․ ․․․")
1 3
1․․․ ․․․ ․․․3
Հերթականությունը կարևորա (default-ները պետքա ոչ default-ներից հետո լինեն)
def ponchikneri_calculator(exac_gumar, ponchikneri_gin=110, ponchikneri_qanak):
print(f'պոնչիկի գինն է՝ {ponchikneri_gin}')
= ponchikneri_qanak * ponchikneri_gin
anhrajesht_gumar print(f"Ձեզ պետք է {anhrajesht_gumar}դրամ")
= exac_gumar // ponchikneri_gin
karox_enq_gnel
if exac_gumar < anhrajesht_gumar:
print(f"Կներեք բայց Ձեր գումարը չի հերիքում, կարող եք գնել {karox_enq_gnel} հատ")
else:
print(f"Անուշ արեք, Ձեր մանրն է {exac_gumar - anhrajesht_gumar}դրամ")
return anhrajesht_gumar, karox_enq_gnel
keyword, positional arguments
ֆունկցիան կանչելուց կարանք իրան տանք արգումենտները համ ըստ հերթականության, համ անունով
def ponchikneri_calculator(exac_gumar, ponchikneri_qanak, ponchikneri_gin=110):
print('եղած գումար', exac_gumar)
print('պոնչիկների քանակ', ponchikneri_qanak)
print('պոնչիկների գին', ponchikneri_gin)
1000, 5, 100) # positional ponchikneri_calculator(
եղած գումար 1000
պոնչիկների քանակ 5
պոնչիկների գին 100
5, 1000, 100) ponchikneri_calculator(
եղած գումար 5
պոնչիկների քանակ 1000
պոնչիկների գին 100
=5, ponchikneri_gin=100, exac_gumar=1000) # keyword ponchikneri_calculator(ponchikneri_qanak
եղած գումար 1000
պոնչիկների քանակ 5
պոնչիկների գին 100
1000, ponchikneri_gin=100, ponchikneri_qanak=5) ponchikneri_calculator(
եղած գումար 1000
պոնչիկների քանակ 5
պոնչիկների գին 100
1000, ponchikneri_gin=100, 5) ponchikneri_calculator(
Input In [58] ponchikneri_calculator(1000, ponchikneri_gin=100, 5) ^ SyntaxError: positional argument follows keyword argument
Հերթականությունը կարևորա (պետքա անունով(keyword) արգումենտը լինի դիրքայիններից(positional) հետո)
Positional only ու keyword only argument-ներ
help(sum)
Help on built-in function sum in module builtins:
sum(iterable, /, start=0)
Return the sum of a 'start' value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
def ponchikneri_calculator(gin, /, qanak): # before /
print(gin*qanak)
120, 3)
ponchikneri_calculator(120, qanak=3)
ponchikneri_calculator(=3, qanak=5) ponchikneri_calculator(gin
360
360
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Input In [69], in <cell line: 6>() 4 ponchikneri_calculator(120, 3) 5 ponchikneri_calculator(120, qanak=3) ----> 6 ponchikneri_calculator(gin=3, qanak=5) TypeError: ponchikneri_calculator() got some positional-only arguments passed as keyword arguments: 'gin'
def ponchiki_calculator(gin, *, qanak): # after *
print(gin*qanak)
120, 3)
ponchiki_calculator(=5, gin=3) ponchiki_calculator(qanak
15
def kazmel_naxadasautun(bar1, bar2, /, *, miavorich=" "):
return f"{bar1}{miavorich}{bar2}"
# print(kazmel_naxadasautun("բարև", "հաջող", " - "))
print(kazmel_naxadasautun("բարև", "հաջող", miavorich=" - "))
# print(kazmel_naxadasautun("բարև", bar2="հաջող", miavorich=" - "))
բարև - հաջող
help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
print("a", "b", "c")
Args, kwargs
Լավ նյութ՝ https://realpython.com/python-kwargs-and-args/
*Args
print("a", "b", "c")
a b c
ինչ-որ մեկդ հարցրեք “բայց մի րոպե, մենք printին կարաինք լիքը արգումենտ տաինք ու նորմալ աշխատում էր, կապ չունի մի հատ կտաինք թե 509 հատ, էդ ոնցա՞ լինում
help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
def barevel(mard1, mard2, mard3):
print(f'Բարև {mard1}')
print(f'Բարև {mard2}')
print(f'Բարև {mard3}')
'Հալալ', "Զուլալ", "Արամիկ") barevel(
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Input In [75], in <cell line: 1>() ----> 1 barevel('Հալալ', "Զուլալ") TypeError: barevel() missing 1 required positional argument: 'mard3'
# դե կարանք tuple սարքենք ինչ տան, ու կոդը գրենք tuple տրամաբանությանը համապատասխան
def barevel(mardkanc_tuple):
print(mardkanc_tuple)
for m in mardkanc_tuple:
print(f'Բարև {m}')
'Հալալ', "Զուլալ", "Արամիկ", "2232343") barevel(
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) Input In [77], in <cell line: 1>() ----> 1 barevel('Հալալ', "Զուլալ", "Արամիկ", "2232343") TypeError: barevel() takes 1 positional argument but 4 were given
'Հալալ', "Զուլալ", "Արամիկ", "2232343")) barevel((
('Հալալ', 'Զուլալ', 'Արամիկ', '2232343')
Բարև Հալալ
Բարև Զուլալ
Բարև Արամիկ
Բարև 2232343
print(1,2,3,4)
1 2 3 4
ավելի լավ ընթեռնելի ու հիշողության տեսանկյունից օպտմալ ձև կա,
(կարանք պրինտի օրինակից գուշակենք որ ուրիշ մեթոդ կա, մենք պրինտին ցուցակ չենք չէ՞ տալիս)
def barevel(*mardanc_tuple):
print(mardanc_tuple)
for m in mardanc_tuple:
print(f'Բարև {m}')
'նիֆ-նիֆ', "1") barevel(
('նիֆ-նիֆ', '1')
Բարև նիֆ-նիֆ
Բարև 1
'նիֆ-նիֆ', "նաֆ-նաֆ", "նուֆ-նուֆ") barevel(
('նիֆ-նիֆ', 'նաֆ-նաֆ', 'նուֆ-նուֆ')
Բարև նիֆ-նիֆ
Բարև նաֆ-նաֆ
Բարև նուֆ-նուֆ
կարանք նաև unpacking operator (*)ը օգտագործենք սենց՝
= ['նիֆ-նիֆ', "նաֆ-նաֆ", "նուֆ-նուֆ"]
cucak
print(cucak)
print(cucak[0], cucak[1], cucak[2])
print(*cucak)
['նիֆ-նիֆ', 'նաֆ-նաֆ', 'նուֆ-նուֆ']
նիֆ-նիֆ նաֆ-նաֆ նուֆ-նուֆ
նիֆ-նիֆ նաֆ-նաֆ նուֆ-նուֆ
*cucak) barevel(
('նիֆ-նիֆ', 'նաֆ-նաֆ', 'նուֆ-նուֆ')
Բարև նիֆ-նիֆ
Բարև նաֆ-նաֆ
Բարև նուֆ-նուֆ
**Kwargs
Kwargsը args-ի նմանա, բայց ընդունումա արդեն keyword argument-ներ
def tpel_mardu_infon(**mardik):
print(mardik)
for key, value in mardik.items():
print(key, "=", value)
="Հենդո", tariq=30, erkir="Դագեստան") tpel_mardu_infon(anun
{'anun': 'Հենդո', 'tariq': 30, 'erkir': 'Դագեստան'}
anun = Հենդո
tariq = 30
erkir = Դագեստան
def tpel_mardu_infon(anun, tariq, erkir):
print(f"Anun = {anun}")
print(f"Tariq = {tariq}")
print(f"Erkir = {erkir}")
= {"anun": "Alice", "tariq": 25, "erkir": "New York"}
mard
= mard["anun"], tariq=mard["tariq"], erkir="New York")
tpel_mardu_infon(anun
**mard) tpel_mardu_infon(
Anun = Alice
Tariq = 25
Erkir = New York
Anun = Alice
Tariq = 25
Erkir = New York
Արգումենտների հերթականություն
def tpel(a, b, *args, d=3, **kwargs):
print(f"a: {a}")
print(f"b: {b}")
print(f"args: {args}")
print(f"d: {d}")
print(f"kwargs: {kwargs}")
1,2,3,4,5,6, e=2, f=3) tpel(
a: 1
b: 2
args: (3, 4, 5, 6)
d: 3
kwargs: {'e': 2, 'f': 3}
1,2, 3,4,5,6, d=4, e=2, f=3) tpel(
a: 1
b: 2
args: (3, 4, 5, 6)
d: 4
kwargs: {'e': 2, 'f': 3}
1,2, 3,4,5,6, d=2, e=3, 3) tpel(
Input In [97] tpel(1,2, 3,4,5,6, d=2, e=3, 3) ^ SyntaxError: positional argument follows keyword argument
հերթականություննա 1. Սովորական positional արգումենտներ 2. *args 3. Սովորական keyword արգումենտներ 4. **kwargs
unpacking , *
= [1, 2, 3, 4, 5, 6]
cucak
*skizbinner, naxa_last, last = cucak
*last = cucak
skizbinner, naxa_last,
print(skizbinner)
print(naxa_last)
print(last)
*naxa_last, last = cucak
skizbinner,
print(skizbinner)
print(naxa_last)
print(last)
1
2
[3, 4, 5, 6]
1
[2, 3, 4, 5]
6
For loops - zip, enumerate
zip
# dolar, evro, dram
= [1, 3, 50, 2]
qanakner = [450, 460, 1]
arjuetner
= 0
_sum for i in range(min(len(qanakner), len(arjuetner))):
print(qanakner[i], arjuetner[i])
+= qanakner[i] * arjuetner[i]
_sum
print(_sum)
1 450
3 460
50 1
1880
list(zip(qanakner, arjuetner))
# for i, j in d.items()
[(1, 450), (3, 460), (50, 1)]
= [1, 3, 50, 2]
qanakner = [450, 460, 1]
arjuetner
= 0
_sum for i, j in zip(qanakner, arjuetner, strict=True):
print(i, j)
+= i * j
_sum
print(_sum)
1 450
3 460
50 1
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) Input In [114], in <cell line: 5>() 2 arjuetner = [450, 460, 1] 4 _sum = 0 ----> 5 for i, j in zip(qanakner, arjuetner, strict=True): 6 print(i, j) 7 _sum += i * j ValueError: zip() argument 2 is shorter than argument 1
enumerate
= [1, 3, 4, 0, 0, 2, 4]
lst
for i in range(len(lst)):
print(f"{i} - {lst[i]}")
print()
for i, j in zip(range(len(lst)), lst):
print(f"{i} - {j}")
print()
# enumerate(lst) -> zip(range(len(lst)), lst)
for i, j in enumerate(lst):
print(f"{i} - {j}")
print()
for i, j in enumerate(lst, start=1):
print(f"{i} - {j}")
# enumerate(lst) -> zip(range(start, start + len(lst)), lst)
0 - 1
1 - 3
2 - 4
3 - 0
4 - 0
5 - 2
6 - 4
0 - 1
1 - 3
2 - 4
3 - 0
4 - 0
5 - 2
6 - 4
0 - 1
1 - 3
2 - 4
3 - 0
4 - 0
5 - 2
6 - 4
-3 - 1
-2 - 3
-1 - 4
0 - 0
1 - 0
2 - 2
3 - 4
The Kernel crashed while executing code in the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info. View Jupyter <a href='command:jupyter.viewOutput'>log</a> for further details.
RECURSIA TODO
🛠️ Գործնական (ToDo)
🏡Տնային
Հիմնական տնային
Նշումներ
- 27.7 խնդրում օգտագործվում ա գաղափար (scopes) որը հաջորդ լեկցիան ենք անցնելու