اذهب إلى المحتوى
  • 0

كيف يمكنني كتابة برنامج Python لإدخال رقم مكون من ثلاثة أرقام وطباعته عكسيا؟

محمد فهد خالد

السؤال

Recommended Posts

  • 2

يمكنك أيضًا أن تقوم بعكس ترتيب الأرقام من خلال الكود التالي:

num = input("Enter:")
print("The reverse number is :", num[::-1])

أو يمكنك أن تقوم بإختصار الكود ليكون في سطر واحد:

print("The reverse number is :", input("Enter:")[::-1])

كما يمكنك التأكد من إدخال المستخدم لرقم صحيح من خلال إستخدام التابع isdigit، على النحو التالي:

num = input("Enter:")

if not num.isdigit():
    # عرض رسالة خطأ في حالة قيام المستخدم بإدخال نص غير وليس رقم صحيح
    raise Exception("Error: Please enter an integer")

print("The reverse number is :", num[::-1])

يمكنك أيضًا أن تقوم بعمل حلقة تكرار لعكس ترتيب الرقم:

number = int(input("Enter Number: "))    
reverse = 0

while number > 0:    
    reminder = number % 10    
    reverse = (reverse * 10) + reminder    
    number = number // 10    

print("The reverse number is : %d" %reverse)  

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

الطريقة التي تقوم بها خاطئة , سوف نقوم بفعل ذلك من خلال 3 خطوات وهي كالتالي:

  • ادخال القيمة على أنها سلسلة نصية.
  • تقسيم القيمة وتخزين القيمة في list, يمكن فعل ذلك من خلال حلقة تكرار
  • طباعة عناصر القائمة من الخلف, يمكن فعل ذلك من خلال استخدام slice

فيكون شكل الكود كالتالي

n=input('enter a three digit integer ') //ادخال الرقم كأنه سلسلة نصية
l= [x for x in n] // المرور على كل عنصر في السلسلة النصية وتخزينه في list
num=''.join(l[::-1]) // باستخدام join وأيضا باستخدام slice قمنا بطباعة عناصر السلسلة من الخلف وصولا الى أول عنصر
print('The revers number is :',num) // طباعة النص الناتج من عملية الطباعة العكسية

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 12 دقائق مضت قال محمد أبو عواد:

الطريقة التي تقوم بها خاطئة , سوف نقوم بفعل ذلك من خلال 3 خطوات وهي كالتالي:

  • ادخال القيمة على أنها سلسلة نصية.
  • تقسيم القيمة وتخزين القيمة في list, يمكن فعل ذلك من خلال حلقة تكرار
  • طباعة عناصر القائمة من الخلف, يمكن فعل ذلك من خلال استخدام slice

فيكون شكل الكود كالتالي


n=input('enter a three digit integer ') //ادخال الرقم كأنه سلسلة نصية
l= [x for x in n] // المرور على كل عنصر في السلسلة النصية وتخزينه في list
num=''.join(l[::-1]) // باستخدام join وأيضا باستخدام slice قمنا بطباعة عناصر السلسلة من الخلف وصولا الى أول عنصر
print('The revers number is :',num) // طباعة النص الناتج من عملية الطباعة العكسية

 

جربت طريقتك ونجحت مشكور لكن فش طريقة حل قريبة من الي انا عاملها لانه هذا اخر ما تعلمناه ولو نسخت الي انت عامله راح يكون عبارة عن نسخ ولصق فقط 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 7 دقائق مضت قال محمد طه3:

جربت طريقتك ونجحت مشكور لكن فش طريقة حل قريبة من الي انا عاملها لانه هذا اخر ما تعلمناه ولو نسخت الي انت عامله راح يكون عبارة عن نسخ ولصق فقط 

ألم تتعلم القوائم وحلقات التكرار؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ منذ ساعة مضت قال محمد طه3:

وين الخطأ لو سمحتوا

الخطأ لديك في جلب الرقم الأوسط حيث أنك تقوم بحساب باقي قسمة 324 على 100 و الباقي سيكون 24 بالتالي يجب عليك أخذ حاصل قسمة الناتج على 10 للحصول على 2 بهذا الشكل:

num = 324
d1 = (int) (num / 100)
d2 = int((num % 100) / 10)
d3 = num % 10
print(f"The reverse number of: {num} is: {d3}{d2}{d1}")

# The reverse number of: 324 is: 423

لكن الطريقة ليست الأفضل و ليست عامة لكل الحالات، لذلك قدم المدربين في التعليقات أعلاه حلول أفضل.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...