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

السؤال

Recommended Posts

  • 1
نشر

إليك هذا الحل:

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
نشر

تفضل

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

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...