مثال 18: محاسبه مربع کامل

هدف این مثال این است که یک عدد را از کاربر دریافت کنیم وسپس بررسی کنیم که آیا این عدد مربع کامل (توان دوم یک عدد صحیح) است یا نه؟ این مثال را فقط در ژوپیتر نوت بوک انجام دهید.

1- به کاربر بگویید که یک عدد را وارد کند تا بررسی کند که مربع کامل هست یا نه؟

print('Enter a number to see if it\'s a perfect square.')

2- یک متغیر را برابر ()input قرار دهید تا ورودی را از کاربر بگیرید.(ابتدا 64 را وارد کنید که مربع کامل است)

number = input()

3- حالا این عدد را به یک عدد مثبت(abs) صحیح(int) تبدیل میکنیم.

number = abs(int(number))

4- یک متغیر شمارنده تعریف میکنیم:

i = -1

5- یک متغیر Boolean برای بررسی مربع کامل بودن ایجاد میکنیم.

square = False

6- حلقه while را با توجه به شمارنده می نویسیم:

while i <= number**(0.5):

7- مقدار شمارنده را در ابتدای حلقه افزایش می دهیم:

i += 1

8- بررسی میکنیم که آیا i برابر با جذر عدد ورودی است یا نه:

if i*i == number:

9- مشخص میکنیم که یک عدد مربع کامل داریم و از حلقه خارج می شویم:

square = True
break

10- پس از حلقه بررسی میکنیم که آیا عدد ورودی مربع کامل بوده یا نه و با توجه به نتیجه پیغام مناسب را به کاربر نشان می دهیم:

if square:
print('The square root of', number, 'is', i, '.')
else:
print('', number, 'is not a perfect square.')

برای ورودی 64 باید جمله ی زیر را در خروجی مشاهده کنید:

The square root of 64 is 8.