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

السؤال

نشر

السلام عليكم

هو ممكن اقسم رقم int موجود في متغير في لغه الباثيون

مثل

انا مخزين رقم في متغير ولو يكن n

n = 32

فا كانت عاوز اقسم الرقم ده واضافه في متغيرين زي كده

n0 = 3
n1 = 2

هل ده ممكن

Recommended Posts

  • 0
نشر (معدل)

نعم يمكنك عن طريق استخدام عملية باقي القسمه في Python باستخدام العملية الحسابية % لقد نقشنا هذه الموضوع من قريب هنا اذا كنت تريد الفهم اكثر
علي سبيل المثال في الكود الخاص بك يمكنك استخدام عملية القسمة والقسمة الصحيحة لتحقيق ذلك
 

n = 32

# القسمة الصحيحة للحصول على الأرقام الفردية
n0 = n // 10
n1 = n % 10

print("الرقم الأول:", n0)  #  3
print("الرقم الثاني:", n1)  #  2

 

تم التعديل في بواسطة Taha Khalid
  • 0
نشر

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

number = 2536

digits = []

for n in str(number):  # حلقة تمر على جميع الحروف المشكلة للعدد من اليسار إلى اليمين
  digits.append(int(n))  # تحويل الحرف إلى عدد
  
print(digits)

لو أردنا استخدام باقي القسمة فالشفرة ستصبح أكثر تعقيدا:

number = 2536

digits = []

remaining = number  # لتتبع حاصل القسمة

while remaining != 0:  # مادام حاصل القسمة مختلفا عن الصفر
  digits.insert(0, remaining % 10)  # نضع باقي القسمة كأول عنصر في القائمة
  remaining = remaining // 10  # نستبدل العدد الحالي بحاصل قسمته (الصحيحة) على 10
  
print(digits)

كما ترى، الحل الأبسط هو تحويل العدد إلى سلسلة نصيّة.

الحلول التي وضعتها تعمل مع أي رقم مهما كان طوله، بحيث تخزّن أرقامه في قائمة.

  • 0
نشر
بتاريخ 7 ساعة قال حمزة عباد:

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

number = 2536

digits = []

for n in str(number):  # حلقة تمر على جميع الحروف المشكلة للعدد من اليسار إلى اليمين
  digits.append(int(n))  # تحويل الحرف إلى عدد
  
print(digits)

لو أردنا استخدام باقي القسمة فالشفرة ستصبح أكثر تعقيدا:

number = 2536

digits = []

remaining = number  # لتتبع حاصل القسمة

while remaining != 0:  # مادام حاصل القسمة مختلفا عن الصفر
  digits.insert(0, remaining % 10)  # نضع باقي القسمة كأول عنصر في القائمة
  remaining = remaining // 10  # نستبدل العدد الحالي بحاصل قسمته (الصحيحة) على 10
  
print(digits)

كما ترى، الحل الأبسط هو تحويل العدد إلى سلسلة نصيّة.

الحلول التي وضعتها تعمل مع أي رقم مهما كان طوله، بحيث تخزّن أرقامه في قائمة.

شكرااا جدااا

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...