TheBrain نشر 13 يوليو 2016 أرسل تقرير نشر 13 يوليو 2016 أريد حل هذا التمرين باستخدام حلقات while فقط، فكيف أستطيع فعل ذلك؟ التمرين عبارة عن مثلث باسكال من نوع خاص. اقتباس
1 هشام رزق الله نشر 13 يوليو 2016 أرسل تقرير نشر 13 يوليو 2016 إليك هذا الحل: n = 4 i = 1 while i <= n: j = n-i while j != 0: print " ", j -= 1 j = 1 while j < i: print i-j+1, j += 1 j = 1 while j <= i: print j, j += 1 print "" i +=1 حيث n هو عدد الأسطر الذي تريدها. البرنامج عبارة عن حلقة while كبيرة حيث تقوم بطابعة كل سطر وفي داخلها ثلاثة حلقات الأولى لوضع المسافات المناسبة حتى يظهر شكل المثل والثانية لطباعة الأرقام بطريقة تنازلية وأما الثالث فتطبع الأرقام بطريقة تصاعدية. يمكنك استخدام حلقات for وسيكون الأمر أقصر وأسهل بكثير. n = 4 for i in range(1, n+1): for j in range(n-i): print " ", for j in range(1, i): print i-j+1, for j in range(1, i+1): print j, print "" اقتباس
0 Mhmd_alharbi نشر 16 يوليو 2016 أرسل تقرير نشر 16 يوليو 2016 تفضل i, s = 1, "" while i <= 4: s += str(i) print (" " * (4-i))+s[::-1]+s[1:] i += 1 عمل تكرار الى 4 وجمع الارقام بجانب بعضها في s لينتج عن كل عملية تكرار 1 12 123 1234 ومن ثم طباعة s مع معكوسة لينتج 1 212 32123 4321234 وبقي صنع المسافات لتشكل المثلث حيث تتم تكرار المسافة عن كل عملية بالمعادلة (" " * (4-i)) حيث يتم وضع مسافة اقل عن سابقتها بمقدار واحد عند كل عملية وسينتج 1 212 32123 4321234 اقتباس
السؤال
TheBrain
أريد حل هذا التمرين باستخدام حلقات while فقط، فكيف أستطيع فعل ذلك؟
التمرين عبارة عن مثلث باسكال من نوع خاص.
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.