سوال
در پایتون کدی بنویسید که یک عدد دلخواه چند رقمی را مقلوب کند. عدد صحیح و بدون اعشار است. میتوانید بدون دستورات string حلش کنید.
خروجی
برنامه پس از دریافت عدد صحیح از کاربر، آن را مقلوب کرده و نمایش میدهد:
reverse_number.py
Visual Studio Code
def reverse_number(n):
reversed_num = 0
while n > 0:
digit = n % 10
reversed_num = reversed_num * 10 + digit
n = n // 10
return reversed_num
try:
num = int(input("عدد مورد نظر را وارد کنید: "))
result = reverse_number(num)
print(f"عدد مقلوب: {result}")
except ValueError:
print("لطفاً یک عدد صحیح معتبر وارد کنید.")
توضیح خط به خط کد و میزان تورفتگی
def reverse_number(n):
تعریف تابعی به نام reverse_number که یک پارامتر به نام n دریافت میکند.
تورفتگی: ندارد (سطح صفر)
reversed_num = 0
متغیر reversed_num با مقدار اولیه صفر تعریف میشود تا عدد مقلوب در آن ساخته شود.
تورفتگی: ۴ فاصله (داخل تابع)
while n > 0:
حلقه while تا زمانی که عدد n بزرگتر از صفر است اجرا میشود.
تورفتگی: ۴ فاصله (داخل تابع)
digit = n % 10
رقم یکان عدد استخراج میشود (باقیمانده تقسیم بر ۱۰) و در digit قرار میگیرد.
تورفتگی: ۸ فاصله (داخل حلقه while)
reversed_num = reversed_num * 10 + digit
رقم جدید به عدد مقلوب اضافه میشود؛ با ضرب در ۱۰ رقم قبلی یک مرتبه بالا میرود و رقم جدید در یکان قرار میگیرد.
تورفتگی: ۸ فاصله (داخل حلقه while)
n = n // 10
عدد n بر ۱۰ تقسیم صحیح میشود تا رقم یکان حذف شده و رقم بعدی به یکان منتقل شود.
تورفتگی: ۸ فاصله (داخل حلقه while)
return reversed_num
عدد مقلوب نهایی از تابع بازگردانده میشود.
تورفتگی: ۴ فاصله (داخل تابع)
try:
شروع بلوک try برای مدیریت خطاهای احتمالی هنگام دریافت ورودی از کاربر.
تورفتگی: ندارد (سطح صفر)
num = int(input(“عدد مورد نظر را وارد کنید: “))
ورودی از کاربر گرفته شده و به عدد صحیح تبدیل و در num ذخیره میشود.
تورفتگی: ۴ فاصله (داخل try)
result = reverse_number(num)
تابع reverse_number با ورودی num فراخوانی شده و نتیجه در result ذخیره میشود.
تورفتگی: ۴ فاصله (داخل try)
print(f”عدد مقلوب: {result}”)
عدد مقلوب با استفاده از f-string در خروجی چاپ میشود.
تورفتگی: ۴ فاصله (داخل try)
except ValueError:
در صورت بروز خطای ValueError (مثلاً وقتی کاربر عدد وارد نکند) این بلوک اجرا میشود.
تورفتگی: ندارد (سطح صفر)
print(“لطفاً یک عدد صحیح معتبر وارد کنید.”)
پیام خطای مناسب به کاربر نمایش داده میشود.
تورفتگی: ۴ فاصله (داخل except)
