مسترپای | عدد گرایی!

عدد گرایی!

0 حل برای این سوال 0 تعداد تلاش برای این سوال

توی این سوال وارد مبحث زیبای شی گرایی میشیم :)

قراره که یک کلاس به نام Number بنویسیم که مشخصات زیر رو داشته باشه:

1- یک attribute به نام n داریم که مقدار پیش فرض اون 0 هست. میخوایم هر وقت که توسط ما مقداردهی شد، عدد اون تبدیل بشه به نزدیک ترین عدد اول به number(عددی که توسط ما مقداردهی شد، با دیدن مثال بهتر متوجه میشین)

* اگر number اول بود، باید تبدیل به نزدیک ترین عدد اول به جزء خودش بشه - اگر فاصله عدد اولِ بزرگتر و کوچکتر با هم یکسان بود، عدد بزرگتر رو ریترن کنید

2- این کلاس شامل متد is_prime هست که با دریافت یک عدد در پارامتر های اون، اگر عدد اول بود، True و در غیر اینصورت False برمی گردونه

3- متد دیگه ای هم که باید پیاده سازی کنید، متد is_mirror_number هست که با دریافت یک عدد، اگر از اول و آخر به یک صورت خوانده میشد(مثلا 121)، True و در غیر اینصورت False برمی گردونه

 

مثال

>>> obj = Number()


>>> obj.is_prime(19)
True
>>> ob.is_prime(20)
False


>>> obj.is_mirror_number(121)
True
>>> obj.is_mirror_number(14)
False


>>> obj.n
0
>>> obj['n'] = 9
>>> obj.n
11