Module: زیربرنامه های (پایتون): رویه ها و توابع - 2


Problem

5/8

توابع منطقی اعداد کامل

Theory Click to read/hide

توابع منطقی

اغلب برنامه نویسان از توابع بولی استفاده می کنند که مقادیر بولی را "true" برمی گرداند. یا "نادرست" (درستیا نادرست)
چنین توابعی برای   برخی از ویژگی ها را بررسی کنید.
بیایید دو مثال از نوشتن یک تابع منطقی را در نظر بگیریم که زوج بودن یک عدد را بررسی می کند.
  <سر> <بدن>
شرح مثال زیر روال
1) راه بهتر: نتیجه عبارت n % 2 == 0 درست (درست) یا نادرست (نادرست) خواهد بود <پیش> def isEven(n): بازگشت (n % 2 == 0)
2) می توانید آن را به همین صورت بنویسید، اما بهتر است به هر حال ضبط طولانی تری انجام ندهید <پیش> def isEven(n): اگر n % 2 == 0: بازگشت درست؛ دیگر: بازگشت نادرست

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

Problem

عدد کامل عددی است برابر با مجموع همه مقسوم علیه های آن کوچکتر از خودش (مثلاً عدد 6 = 1 + 2 + 3). برنامه ای بنویسید که یک عدد طبیعی را وارد کند N و تعیین کند که آیا عدد N است کامل . استفاده از  یک تابع برای یافتن مجموع مقسوم علیه های یک عدد و یک تابع منطقی برای ​​بررسی کامل بودن یا نبودن عدد.
 

ورودی
رشته ورودی حاوی یک عدد طبیعی است .

Impprint
اگر شماره – عالی، برنامه باید کلمه 'YES' را خروجی دهد، در غیر این صورت – کلمه 'نه'.

 

نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1 28 بله
2 29 نه