کد عجیب


همان‌طور که از اسم سؤال پیداست، از شما می‌خواهیم برنامه‌ای با پایتون ۳ بنویسید که اتفاق عجیبی بیفتد!

نحوه عملکرد برنامه به این صورت است:

نمونه ۱🔗

extensionFromNameterminal
>>> p = Foo()
>>> print(p.x)
0
>>> p.x = 125
>>> print(p.x)
25
>>> p.x = 15874
>>> print(p.x)
74
>>> p.x = 8
>>> print(p.x)
8
>>> p.x = 13
>>> print(p.x)
13
>>> p.x = -15698
>>> print(p.x)
-1
Python

جزئیات🔗

باید کلاسی به نام Foo بنویسید که یک خصوصیت به نام x داشته باشد که طبق این قواعد مقداردهی می‌شود:

  • مقدار اولیه x هنگام ساخته شدن کلاس Foo صفر است.
  • هنگام مقداردهی x با یک عدد:
    • اگر عدد نامنفی بود، دو رقم سمت راست آن در x ذخیره شود.
    • اگر عدد منفی بود، مقدار x برابر با -1 شود.
  • مقدار ذخیره‌شده در x باید از نوع int باشد.
extensionFromNamesource.py
class Foo:
    pass
Python

نمونه ۲🔗

extensionFromNameterminal
>>> p=Foo()
>>> p.x = 1234
>>> p.x == 34
True
>>> type(p.x)
<class 'int'>
Python

نکات🔗

  • می‌توانید فایل اولیه این سوال را از این لینک دریافت کنید.
  • در صورت تمایل، می‌توانید علاوه‌بر کلاس‌ه خواسته‌شده، کلاس‌ها و تابع‌های کمکی دیگری نیز در فایل source.py پیاده‌سازی کنید.

نحوه ارسال🔗

شما باید کلاس Foo موجود در فایل source.py را تکمیل و سپس این فایل را ارسال کنید.