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

السؤال

نشر

اكتب برنامج يمكنك من الحصول على مجموع الارقام المدخله  لتحصل في النهايه على خانه واحده فقط مثل : 

ادخل 65123 

الناتج 1+2+3+5+6= 17 

ثم اجمع 1+7 =8 

الناتج 8 

ملاحظه دون استخدام داله الجذر الرقمي مثل         n    mode  9 

Recommended Posts

  • 0
نشر

يمكنك فعل ذلك من خلال الرقم المُدخل من المستخدم بإستخدام الدالة input

# take input from user
input= input('Enter the number: ')
# type cast into integer
input_integer = int(input)

بعد ذلك يمكنك فحصinput_integer بين الرقم 0 والرقم 10 اذا كان كذلك فهو من خانة واحدة اذا كان اكبر من ذلك فيجب تحويله الى str  ومن ثم عمل حلقة تكرار عليه

count = 0
for i in input:
  number = int(i)
  count  = count + number
	

كرر هذه العملية.
 

  • 0
نشر

يمكن الاستفادة من مفهوم ال list للقيام بذلك، حيث يمكننا في البداية وضع الخانات في list و في كل مرة الجمع و التحويل إلى سلسلة مجدداً و هكذا.

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

ثم في البرنامج الرئيسي كل ما علينا هو الاستمرار في التكرار، كل مرة نقوم بإعطاء التابع الرقم الحالي، ثم نقوم بحساب الرقم التالي عن طريق جمع العناصر في اللائحة باستعمال التابع sum.

و كل مرة نختبر في حال كانت اللائحة لا تحوي إلا رقم نتوقف.

حاول كتابة هذا التمرين لوحدك فهو تمرين جيد و سيعلمك الكثير و يطور من مهاراتك، و في حال ظهرت لك أخطاء يمكنك مشاركتها معنا لنساعدك في حلها.

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...