حل تمرین صدگان خسته کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات پیاده سازی مبانی برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین صدگان خسته کوئرا با پایتون
برنامهای بنویسید که ۲ عدد ۳ رقمی را به صورت برعکس مقایسه کند. به این صورت که ارزش یکان هر عدد بیش دهگان و ارزش دهگان بیش از صدگان است. بطور مثال:
123 > 321
800 < 201
ورودی
در خط اول عدد اول و در خط بعدی عدد دوم وارد میشود. اعداد ورودی مثبت و سهرقمی هستند.
خروجی
عددی که به صورت برعکس کوچکتر بوده باید در سمت چپ قرار بگیرد و بعد علامت کوچکتری و بعد عدد دیگر باید قرار بگیرد، مگر اینکه دو عدد در حالت برعکس برابر باشند که در آن صورت بین اینها یک علامت مساوی قرار میدهیم. (باید همه اجزا با space از هم جدا شوند.)
مثال
ورودی نمونه 1
123 421
خروجی نمونه 1
123 > 421
ورودی نمونه 2
123 123
خروجی نمونه 2
123 = 123
کد پایتون سوال تمرین صدگان خسته
num1 = int(input())
num2 = int(input())
rev_num1 = int(str(num1)[::-1])
rev_num2 = int(str(num2)[::-1])
if rev_num1 > rev_num2:
print(f"{num2} < {num1}")
elif rev_num1 < rev_num2:
print(f"{num1} < {num2}")
else:
print(f"{num1} = {num2}")
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.



















جالب بود که با f-string چاپ نتیجه هم خیلی تمیز و خوانا میشه
بله f-string بسیار امکان خوبیست.
سطح این تمرین چیه؟
ساده.
این روش برای اعداد بیشتر از سه رقم هم جواب میده؟
بله، این روش برای اعداد با هر تعداد رقم جواب میدهد. چون در کد از str(num)[::-1] استفاده شده، عدد به رشته تبدیل شده و معکوس میشود، سپس دوباره به عدد تبدیل میشود. تنها نکته این است که تمرین اصلی برای اعداد سهرقمی طراحی شده، ولی همین منطق برای اعداد بیشتر هم به درستی کار میکند.
جالبه که با یه خط کد ساده ([::-1]) میشه عدد رو برعکس کرد
دقیقاً! [:: -1] باعث میشود رشته بهسادگی برعکس شود و نیاز نیست صدگان، دهگان و یکان را جداگانه حساب کنیم.
اولش 123 و 321 رو برعکس کردم و هیچی سرم نمی شد
طبیعیه، چون وقتی عدد برعکس میشود، ارزش هر رقم تغییر میکند. مثلا 123 → 321، پس مقایسه با حالت اصلی فرق میکند و ممکن است انتظار نتایج متفاوت داشته باشی.