.لینکهای مفید برای شرکت در مسابقه:
میتوانید سوالهای خود را در رابطه با سوالات و دیگر بخشهای پایتون از قسمت "سوال بپرسید" مطرح کنید.
توجه کنید که نسخه پایتون استفاده در سوالات ۳.۷ است.
از بین تمامی دوستان سلیب تنها سجاد برای شب در خانه مانده و بقیه رفتهاند.
بازی قبلی برای دو نفر مناسب نبود به همین دلیل بازی جدیدی ابداء کردند که دو نفری بتوانند آن را اجرا کنند.
سلیب بازی را به سمت دنیای IT پیش میبرد و به سجاد ایدهی بازی جدیدش را میگوید.
بازی آنها به این صورت است که در ابتدا مسیری از کامپیوتر سلیب به طور تصادفی به نام path
انتخاب میشود. سپس سلیب و سجاد هر یک پسوندی را برای خود انتخاب میکنند (مثلا سلیب mp4
و سجاد jpg
انتخاب میکند).
سپس کسی برندهی بازی است که در مسیر انتخاب شده و تمامی زیر مسیرهای آن بیشترین پسوند را داشته باشد اما متاسفانه سجاد میخواهد تقلب کند.
تقلب او به این صورت است که یک نام انتخاب میکند و پسوند تمامی فایلهایی که نام برابر با نام انتخابی او دارند را به پسوند انتخابی خودش تغییر میدهد.
در مثال بالا sajjad
اسم فایل و txt
پسوند فایل میباشد.
اگر سلیب jpg
و سجاد mp4
انتخاب کرده باشد سجاد برنده بازی است.
اگر سلیب mp4
و سجاد jpg
را انتخاب کرده باشد، سلیب برنده بازی است؛ اما سجاد با تقلب روی اسم about
میتواند دو فایل را به پسوند انتخابی خودش (یعنی jpg
) تغییر داده و برنده بازی شود.
ما از شما میخواهیم تابعی با نام combet
برای سجاد بنویسید تا با دریافت path
و فرمت های انتخابی سلیب و سجاد بگویید که سجاد میتواند ببرد یا خیر.
combet
این تابع به عنوان ورودی سه متغیر از نوع رشته را میپذیرد، و به عنوان خروجی تابع شما باید نتیجه بازی را بازگرداند.
توجه کنید که نتیجهی بازی بنا به قوانین زیر متغیر هستند پس قوانین را با دقت بخوانید.
۱- اگر سجاد به طور عادی برندهی بازی میشد تابع شما باید مقدار زیر را برگرداند:
۲- اگر سجاد به طور عادی برندهی بازی نمیشد، ولی میتوانست با تقلب روی اسمی برنده شود، تابع شما باید مقدار زیر را برگرداند:
توجه کنید که '{cheat_name}'
نام کلمهایست که سجاد باید روی آن تقلب کند تا ببرد برای مثال در مثال بازیای که در آن سجاد تقلب میکند
که چند خط بالاتر توضیح داده شده است، باید مقدار زیر را برگردانید:
توجه کنید که اگر سجاد با تقلب روی چندین اسم میتوانست برنده شود، میتوانید هر یک از اسمها را به دلخواه برگردانید.
۳- اگر سجاد هیچ استراتژی بردی نداشت باید مقدار زیر را برگردانید:
.
نمیباشد.SAliB.txt
همراه SAliB.mp4
وجود داشت و شما بر روی نام SAliB
تقلب کنید تعداد فایلها با پسوند انتخابی سجاد دو واحد به ازای این دو فایل اضافه میشود).rename
کردن فایلی را ندارید و تنها باید بگویید که چه کسی بازی را میبرد.shutil
یا import sh
یا from sh
یا subprocess
یا os.popen
یا os.system
باشد.