wasteland!

read poem

پیش از حل مساله

متن ورودی به صورت یک فایل با پسوند txt در اختیار شما قرار گرفته است.

سوالات

سوال ۱. 2p

فایل خروجی با اسم out_words_count.txt ایجاد کنید که تعداد کل کلمات شعر wasteland و تعداد کلمات بدون احتساب تکرارشان را در دو خط مجزا بنویسد

خروجی نمونه

2300
1200

سوال ۲. 2p

تابعی با اسم word_frequency بنویسید که در ورودی یک رشته str دریافت می‌کند و در در خروجی یک دیکشنری بر‌می‌گرداند که کلیدهای آن کلمات یکتای متن و مقدار هر کلید برابر با تعداد تکرار آن کلمه در متن باشد.

def word_frequncy(text):
    # کد را کامل کنید
    # 

سوال ۳. 3p

۱۰ کلمه پرتکرار در متن را پیدا کنید. نتیجه این قسمت از تکلیف باید

خروجی نمونه

 1. word1         120
 2. word2         100
 3. word8          70
 ...
 9. word9          31
10. word10          6

سوال ۴. 1p

(با استفاده از قسمت دوم سوال) از لحاظ تعداد کاراکتر استفاده شده در کلمه، یک دیکشنری بسازید که حاوی 5 کلمه‌ طولانی‌تر متن باشد. مقدار هر کلید تعداد دفعات تکرار آن‌ها در متن خواهد بود

سوال ۵. 3p

تمام کلمات Capital این متن را در فایل out_capital_words.txt بنویسید. هر خط از فایل خروجی باید شامل یک کلمه و در مقابل آن و بین پرانتز تعداد کل تکرار آن کلمه در متن نوشته شود

خروجی نمونه

Serendipity (10)
John (20)

سوال ۶. ‍4p

این متن از چند جمله تشکیل شده است؟

نام فایل خروجی out_sentences_count.txt و تنها حاوی یک عدد int خواهد بود

سوال ۷.‍‍ 6p

. تمام نقل قول‌های این متن را در فایل out_quote.txt ذخیره کنید. هر نقل قول در یک خط مجزا قرار می‌گیرد

سوال ۸. 10p

کلمات خاص مانند اسامی، روزهای هفته، نام شهرها، شاخص ها (مانند Ms.، Mr.) به صورت Capital نوشته می‌شوند‌. از طرفی هر کلمه در ابتدای جمله، و ابتدای سطر نیز از این قاعده پیروی می‌کند. تمام کلمات خاص متن را بیابید و در فایل out_names.txt ذخیره کنید

نکات

آ)

علایم نگارشی، بخشی از کلمه حساب نمی‌شوند. در دو جمله زیر به کلمه rain توجه کنید:

Then a damp gust bringing rain
Ganga was sunken, and the limp leaves
Waited for rain, while the black clouds

نشانه ویرگول در انتهای کلمه به معنای آن نیست که کلمه جدیدی در متن استفاده شده است و باید از این علایم صرف نظر شود

ب)

بزرگ یا کوچک بودن حروف نیز در محاسبه تعداد کلمات یکتا (بدون احتساب تکرار) بی تأثیر است

Marie, hold on tight. And down we went.
In the mountains, there you feel free.

And the dry stone no sound of water. Only
There is shadow under this red rock,

کلمه there و There را نباید دو کلمه یکتا بدانیم.

پ)

در سؤال ۷، معیار برای تعیین جملات، علایم نگارشی خاصی است که پایان جمله قبل را تعیین می‌کند. از جمله (.) نقطه،‌ (!) علامت تعجب، (:) دو نقطه و شروع نقل قول (“) است. جملات با کلمات Capital شروع می‌شوند، اما هر کلمه Capital شروع جمله نیست. علایمی از جمله نقطه می‌تواند در جایی غیر از پایان جمله نیز به کار برو: مانند مخفف سازی کلمات. فرض کنید متن به درستی ویراستاری شده و برای تشخیص مخفف از انتهای جمله، بررسی کنید کاراکتر بعد از نقطه، یکی از حروف الفبا نباشد.

C.i.f. London: documents at sight,

در نگارش انگلیسی، پس از کاراکترهایی که جهت نمایش پایان جمله به کار رفته اند، مجازیم از علایم نگارشی دیگر استفاده کنیم، ولی برای شروع جمله بعد (کاراکتر های الفبای انگلیسی)‌ حتماً می‌بایست یک فضای خالی در نظر بگیریم

It's them pills I took, to bring it off, she said.
(She's had five already, and nearly died of young George.)

ت)

نقل قول با علامت (“) به کار رفته. منظور از نقل قول از اولین کاراکتر بعد از این علامت تا جایی است که مجددا کاراکتر (“) را ببینیم. استثنائاً در صورتی که نقل قول چند خطی باشد، در ابتدای هر سطر می‌توانیم علامت ” قرار دهیم.

"That corpse you planted last year in your garden,
"Has it begun to sprout? Will it bloom this year?
"Or has the sudden frost disturbed its bed?
"Oh keep the Dog far hence, that's friend to men,
"Or with his nails he'll dig it up again!
"You! hypocrite lecteur!—mon semblable,—mon frère!"