Միայն keyword արգումենտներ

Երբեմն անհրաժեշտ է լինում ֆունկցիայի համար հայտարարել արգումենտներ՝ իրենց անունով, որպեսզի պարզ լինի, թե արգումենտներից յուրաքանչյուրն ինչ է ներկայացնում՝ անկախ իր դիրքից: Python-ում այս արգումենտները կոչվում են keyword արգումենտներ: «Միայն keyword արգումենտները» նման են, բայց պետք է հաշվի առնել հետևյալը. դրանք կարող են տրամադրվել միայն keyword-ով և երբեք չեն կարող փոխանցվել ըստ դիրքի:
«Միայն keyword արգումենտներով» ֆունկցիա սահմանելու համար պետք է օգտագործել * նշանը ֆունկցիայի հայտարարման մեջ: *-ից հետո հայտնվող ցանկացած արգումենտ կարող է տրամադրվել միայն իր keyword-ով:
Դիտարկենք ուղղանկյան մակերեսը հաշվող ֆունկցիան: Այն պահանջում է երկու արգումենտ՝ երկարություն և լայնություն: Բացի այդ, այն կարող է ընդունել որևէ Boolean (տրամաբանական) արգումենտ (rounded) որոշելու համար՝ վերադարձնելու է ճշգրիտ մակերե՞սը (տասնորդականներով), թե՞ կլորացված արժեքը (առանց տասնորդականների): Մենք ցանկանում ենք, որ rounded-ը լինի «միայն keyword արգումենտ», որպեսզի ֆունկցիան կանչելիս խուսափենք շփոթությունից.
def rectangle_area(length, width, *, rounded=False):
    area = length * width
    return round(area) if rounded else area


print(rectangle_area(5.3, 4.2))                # Prints 22.26, `rounded` is not provided so it defaults to False
print(rectangle_area(5.3, 4.2, rounded=True))  # Prints 22, `rounded` is provided and set to True
print(rectangle_area(5.3, 4.2, True))          # Error! `rounded` must be provided by keyword.
print(rectangle_area(5.3, 4.2, False))         # Error! `rounded` must be provided by keyword.
print(rectangle_area(length=5.3, width=4.2, rounded=True))  # Prints 22
Մենք կարող ենք այս ֆունկցիան կանչել՝ օգտագործելով դիրքային արգումենտներ երկարության և լայնության համար, և keyword արգումենտ՝ rounded-ի համար: Եթե ինչ-որ մեկը փորձի երրորդ արգումենտը ներկայացնել ըստ դիրքի, սխալ տեղի կունենա:
Նկատի ունեցեք, որ դուք կարող եք կիրառել keyword-ի շարահյուսությունը նաև դիրքային արգումենտների համար, քանի որ այստեղ դրանք սահմանված չեն որպես «միայն դիրքային»:

Առաջադրանք․ կրկնել տեքստը

Ձեզ հանձնարարված է գրել repeat_text ֆունկցիան, որը տրված քանակով պետք է կրկնի նշված տեքստը: Ֆունկցիան պետք է ընդունի երկու արգումենտ՝ text(տեքստ) և times(անգամները): text(Տեքստ) արգումենտը կրկնվող տեքստային տողն է, իսկ times(անգամները)՝ կրկնությունների քանակը:
times(Անգամներ) արգումենտը պետք է լինի «միայն keyword արգումենտ», որի սկզբնադիր (default) արժեքը 1 է, ինչը նշանակում է, որ եթե times (անգամների) արգումենտը չի տրամադրվում, ապա ֆունկցիան պետք է վերադարձնի սկզբնական տեքստն այնպես, ինչպես այն կա:
Ֆունկցիան պետք է վերադարձնի մեկ տող, որը կրկնվում է times անգամ:
Մուտքի առաջին տողը պարունակում է տող՝ text: Երկրորդ տողը պարունակում է ամբողջ թիվ՝ times:
Ֆունկցիան պետք է վերադարձնի մեկ տող, որը կրկնում է texttimes անգամ:
Մուտք
Ելք
Hello World! 3
Hello World!Hello World!Hello World!
Նշում: Ելքում կրկնվող տեքստերի միջև բացատ կամ որևէ այլ սահմանազատում չկա:
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 10 MB

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