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

السؤال

Recommended Posts

  • 0
نشر

بداية إذا كنت تريد إدخال أرقام للطريقة format يجب أن تدخل لها أرقاماً لا string.

أي عند إدخال كل من n1, n2 يجب كتابة:

n1 = int(input("n1: "))
n2 = int(input("n2: "))

الآن أصبح لديك رقمين صحيحين مدخلين،

والأمر الآخر وضّح سؤال بشكل أفضل فالمطلوب من السؤال غير واضح!

هل تريد استبدال الرقم الأول بالثاني أي أن يصبح n1 يخزن قيمة n2 ويصبح n2 يخزّن قيمة n1 ؟

في هذه الحالة يمكنك كتابة:

temp = n1
n1 = n2
n2 = temp

والآن في آخر خطوة هل تريد أن ترجع الرقم الأول n1 بعدد خانات يساوي عدد خانات n2 ؟

أي لو كان الدخل الرقمين مثلاً [n1=90, n2=5] ماذا تريد الخرج؟ هل 9 ؟

يمكن فعل ذلك بطريقة بسيطة جداً عن طريق الكود التالي:

x = str(n1)
y = str(n2)
return int(x[:len(y)])

هذا الكود يحوّل الرقم n1 لنص ويخزنه في x، ويحول n2 إلى نص ويخزنه في y، ثم يقوم بإرجاع رقم من بداية x بنفس طول y (طول = عدد الخانات)

إذا كان مقصدك غير هذا وضّح الدخل والخرج بشكل نستطيع مساعدتك في الخطوات المنطقية له، حيث فهم ما الداخل وما الخارج من الكود أول خطوات البرمجة.

بالتوفيق إن شاء الله

  • 0
نشر

يمكن استبدال عددين أو أي متغيرين في بايثون بطريقة سهلة و هي كما يلي:

x, y = y, x

هنا بايثون يقوم بأخذ القيم في اليمين، ثم يقوم بإسناد القيم، و لذلك هذه العملية ممكنة.

في حال كنت تريد جعل الرقمين متساويين عن طريق وضع أصفار إلى يسار الرقم الأقل، يمكنك ترك الأعداد كسلسلة نصية و كل ما عليك القيام به هو استعمال الدالة rjust كما يلي:

max_len = max(len(x), len(y))
x = x.rjust(max_len, '0')
y = y.rjust(max_len, '0')

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...