Python-ի ներածություն

Keyword և տեղային արգումենտներ

Ֆունկցիաներ կանչելիս մենք սովորաբար դրանց փոխանցում ենք արժեքներ և ֆունկցիան աշխատում է այդ արժեքներն ունենալով։ Այդ արժեքները հնարավոր է փոխանցել և՛ որպես տեղային պարամետրեր, և՛ որպես keyword պարամետրեր։
def rectangle(h, w, val=0):
	return [[val] * w] * h

print(rectangle(2, 3, 1))
# [[1, 1, 1], [1, 1, 1]]
def rectangle(h, w, val=0):
	return [[val] * w] * h

print(rectangle(2, w=3, val=1))
# [[1, 1, 1], [1, 1, 1]]
Հետևելով երկրորդ օրինակին, մենք կարող ենք ֆունկցիաներին փոխանցել արժեքներ այդ արգումենտների անունները նշելով (val=1 կամ w=3
Սա շատ օգտակար է այն ֆունկցիաների դեպքում, որոնք ունեն բազմաթիվ արգումենտներ և դրանցից շատերն արդեն ունեն default արժեքներ, իսկ մենք ցանկանում ենք փոխանցել վերջիններից մեկի արժեքը։ Այս դեպքում մենք կարող ենք փոխանցել այդ արժեքը որպես keyword արգումենտ նշելով դրա անունը։ Այս կերպ մենք կարող ենք փոխանցել միայն այն արգումենտնրը որոնք մեզ կարևոր են և բաց թողնել մնացած բոլորը։
Նկատեք, որ keyword արգումենտները կարող են ունենալ պատահական հերթականություն։ Այսինքն քանի դեռ մենք ճիշտ անուններ ենք նշում և դրանց համապատասխան արժեքներ փոխանցում, դրանց հերթականությունը կարող է լինել լրիվ խառը և չհամընկնել ֆունկցիայում նշված հերթականության հետ։
Այստեղ շատ կարևոր է նշել, որ տեղային արգումենտները չեն կարող գալ keyword արգումենտներից հետո։ Դրանք պետք է լինեն ֆունկցիայի կանչի սկզբում և միայն դրանից հետո պետք է նշվեն keyword արգումենտները։ Կարող եք ասել թե ինչու՞ է այս սահմանափակումը մցվել 🤔:

Առաջադրանք

Ունենալով մի ֆունկցիա, որը տպում է պացիենտների մասին ինֆորմացիա, կանչեք այդ ֆունկցիան 3 անգամ տրամադրելով արգումենտների հետևյալ հերթականությունը.
  1. name, age, height
  1. age, name, height
  1. height, age, name
Ծրագրի ելքը կարող է լինել նույնը, բայց դուք կարող եք օգտագործել համ տեղային համ keyword արգումենտներ ֆունկցիան կանչելու համար։
 

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue