حل تمرین کپ گیر کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات پیاده سازی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین کپ گیر کوئرا با پایتون
در سالهای دور در سرزمین صداقت، بیماری مهلکی شیوع پیدا کرده بود، از آنجایی که فرد مبتلا به این بیماری بی درنگ تمام کارهای خود را از اطرافیان تقلید میکرد مردم آن زمان اسم این بیماری را کپیسم یا copism گذاشتند. شدت شیوع این بیماری به قدری بود که پس از مدت کوتاهی حتی در روستاها افراد زیادی به این بیماری مهلک دچار شدند. پادشاه این سرزمین که با رای مردم انتخاب میشد از این می ترسید که مبادا با وجود این بیماری مخالفت یک نفر از مردم با او موجب همراهی مردم و از بین رفتن سلطنتش بشود و از آنجایی که مهندسین کامپیوتر همیشه در صف اول خدمت هستند، از ایشان خواسته شد تا راه حلی برای این مشکل پیدا کنند. شما باید برنامه ای بنویسید که با دریافت دو متن، کپ بودن آن ها را تشخیص دهد. نهایت خلاقیت مبتلایان به این بیماری جابه جایی جملات متن با یکدیگر و یا جابهجایی کلمات در یک جمله است. کلمه تعدادی از حروف است که بین دو اسپیس، یک اسپیس با یک نقطه، یک اسپیس با یک ویرگول قرار می گیرد. (حروفی که از اول متن تا اولین اسپیس آمده نیز یک کلمه محصوب میشوند) یک نقطه حتی اگر ویژگیهای فوق را داشته باشد باز هم یک کلمه محسوب نمیشود. جمله تعدادی از کلمات است که بین دو نقطه قرار دارند. مجموعه ای از کلمات از اول متن تا اولین نقطه نیز یک جمله هستند. فاصله(space) یا اینتر(newline) اضافه در یک متن دلیل بر کپ نبودن آن متن نیست. همچنین بزرگی و کوچکی حروف در یکسان نبودن کلمات تأثیری ندارد. به طور مثال کلمات aLi و Ali یکسان در نظر گرفته میشوند.
ورودی
در ورودی دو متن میآید که این دو متن با * از یکدیگر جدا میشوند. (تنها یک * در ورودی موجود است که در یک خط جداگانه وارد شده و دو متن را از یکدیگر جدا میکند.)
خروجی
در صورتی که دو متن کپ هست عبارت this is cop و در صورتی که کپ نیست عبارت this is not cop باید در خروجی نمایش داده شوند.
مثال
ورودی نمونه 1
The rules infringed may be explicit, or they may be from an unwritten code of conduct based on morality, ethics or custom, making the identification of cheating a subjective process. Cheating can refer specifically to marital infidelity. Someone who is known for cheating is referred to as a cheat in British English, and a cheater in American English. A "cheat" does not have to cheat all the time, but once faced with a challenge that they do actually want to win, they will go back to their cheating strategies. * Someone who is known for cheating is referred to as a cheat in British English, and a cheater in American EnglisH. The rules subjective process may be infringed explicit, or they may code of conduct based on morality, be from an unwritten ethics , making the or CustOm of cheating a identification. Cheating refer specifically can to marital infidelity. A "cheat" does not have actually want to TO cheat the time, but once faced with a Challenge that they do win, they will go back to all their cheating strategies.
خروجی نمونه 1
this is cop
کد پایتون سوال تمرین کپ گیر
import sys s = [[], [], []] text = sent = word = 0 c = '' stream = "" input_data = sys.stdin.read().lower() for c in input_data: if c == '*': stream = "" text += 1 sent = 0 elif c in [' ', '\n', ',']: stream += ' ' elif c == '.': words = stream.split() for w in words: if w != "": if len(s[text]) <= sent: s[text].append([]) s[text][sent].append(w) sent += 1 stream = "" else: stream += c text += 1 s = [sorted([sorted(sentence) for sentence in text_data]) for text_data in s] equal = s[0] == s[1] if equal: print("this is cop") else: print("this is not cop")
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
ارسال پاسخ