برنامه پایتون برای ایجاد الگوهای هرمی

ساخت وبلاگ

در این مثال ، شما یاد می گیرید که نیمی از اهرام ، اهرام معکوس ، اهرام کامل ، هرم های معکوس ، مثلث پاسکال و مثلث فلوید را در برنامه نویسی پایتون چاپ کنید.

برای درک این مثال ، شما باید دانش مربوط به موضوعات برنامه نویسی پایتون زیر را داشته باشید:

  • پایتون اگر. بیانیه دیگر
  • پایتون برای حلقه
  • پایتون در حالی که حلقه است
  • پایتون استراحت کنید و ادامه دهید
لیست کد منبع
کد برای چاپ مثلث با استفاده از *، اعداد و نویسه ها
کد برای چاپ مثلث های معکوس با استفاده از * و ارقام
کد برای چاپ هرم کامل
کد برای چاپ مثلث پاسکال
کد برای چاپ مثلث فلوید

برنامه هایی برای چاپ مثلث با استفاده از *، اعداد و شخصیت ها

مثال 1: برنامه برای چاپ نیمی از هرم با استفاده از *

رمز منبع

Rows = int (ورودی ("تعداد ردیف ها را وارد کنید:")) برای من در محدوده (ردیف): برای J در محدوده (i+1): چاپ ("*" ، end = "") چاپ (" n")

در برنامه فوق ، بیایید ببینیم که چگونه این الگوی چاپ می شود.

  • ابتدا ارتفاع ردیف های هرمی را از کاربر دریافت می کنیم.
  • در حلقه اول ، ما از i = 0 تا i = ردیف ها تکرار می کنیم.
  • حلقه دوم از j = 0 تا i + 1. اجرا می شود. در هر تکرار این حلقه ، شماره I + 1 * * را بدون خط جدید چاپ می کنیم. در اینجا ، شماره ردیف تعداد * مورد نیاز برای چاپ در آن ردیف را نشان می دهد. به عنوان مثال ، در ردیف 2 ، ما دو * را چاپ می کنیم. به طور مشابه ، در ردیف 3 ، ما سه * را چاپ می کنیم.
  • پس از پایان حلقه داخلی ، خط جدید را چاپ می کنیم و چاپ * را در یک خط جدید شروع می کنیم.

مثال 2: برنامه برای چاپ نیمی از هرم A با استفاده از اعداد

1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) برای i در محدوده (ردیف): برای j در محدوده (i+1): چاپ (j+1 ، end = "") چاپ (" n")

در برنامه فوق ، بیایید ببینیم که چگونه این الگوی چاپ می شود.

  • ابتدا ارتفاع ردیف های هرمی را از کاربر دریافت می کنیم.
  • در حلقه اول ، ما از i = 0 تا i = ردیف ها تکرار می کنیم.
  • در حلقه دوم ، اعداد را از 1 تا J شروع می کنیم ، جایی که J از 0 تا I متغیر است.
  • بعد از هر تکرار از حلقه اول ، یک خط جدید را چاپ می کنیم.

مثال 3: برنامه برای چاپ نیمی از هرم با استفاده از حروف الفبا

A B B C C C D D D D E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E

رمز منبع

Rows = int (ورودی ("تعداد ردیف ها را وارد کنید:")) ASCII_VALUE = 65 برای I در محدوده (ردیف): برای J در محدوده (I+1): Alphabet = Chr (ascii_value) چاپ (الفبای ، پایان = "" ") ASCII_VALUE += 1 چاپ (" n")

کار مثال فوق نیز شبیه به نمونه های دیگر است که در بالا مورد بحث قرار گرفت به جز اینکه مقادیر ASCII در اینجا چاپ می شوند. مقدار ASCII برای حروف الفبا از 65 شروع می شود (یعنی A). بنابراین ، در هر تکرار ، مقدار ASCII_VALUE را افزایش می دهیم و الفبای مربوطه آن را چاپ می کنیم.

برنامه هایی برای چاپ نیمه هرم معکوس با استفاده از * و اعداد

مثال 4: نیمه هرم معکوس با استفاده از *

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) برای من در محدوده (ردیف ، 0 ، -1): برای j در محدوده (0 ، i): چاپ ("*" ، پایان = "") چاپ(" n")

این مثال شبیه به یک هرم قائم است به جز اینکه در اینجا ما از تعداد کل ردیف ها شروع می کنیم و در هر تکرار تعداد ردیف ها را 1 کاهش می دهیم.

مثال 5: نیمه هرم معکوس با استفاده از اعداد

1 2 3 4 5 1 2 3 4 1 2 3 1 2 1

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) برای من در محدوده (ردیف ، 0 ، -1): برای J در محدوده (1 ، I+1): چاپ (j ، پایان = "") چاپ(" n")

تنها تفاوت بین یک عمودی و یک هرم معکوس با استفاده از اعداد در این است که حلقه اول از تعداد کل ردیف ها به 0 شروع می شود.

برنامه هایی برای چاپ هرم کامل

مثال 6: برنامه چاپ هرم کامل با استفاده از *

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) k = 0 برای I در محدوده (1 ، ردیف+1): برای فضای در محدوده (1 ، (ردیف-I) +1): چاپ (پایان ="") در حالی که k! = (2* i-1): چاپ ("*" ، پایان = "") k += 1 k = 0 چاپ ()

این نوع هرم کمی پیچیده تر از آنهایی است که در بالا مطالعه کردیم.

  • بیرونی ترین حلقه از i = 1 تا i = row + 1 شروع می شود.
  • در بین دو حلقه داخلی ، برای حلقه فضاهای مورد نیاز برای هر ردیف را با استفاده از فرمول (ردیف-I) +1 چاپ می کند ، جایی که ردیف ها تعداد کل ردیف ها هستند و من شماره ردیف فعلی است.
  • حلقه در حالی که با استفاده از فرمول 2 * i - 1 ، ستاره های شماره مورد نیاز را چاپ می کند. این فرمول تعداد ستاره ها را برای هر ردیف می دهد ، جایی که ردیف من است.

مثال 7: هرم کامل اعداد

1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) k = 0 تعداد = 0 count1 = 0 برای I در محدوده (1 ، ردیف+1): برای فضای در محدوده (1 ، (ردیف-I) +1): چاپ ("" ، پایان = "") تعداد+= 1 در حالی که k! = ((2*i) -1): اگر تعداد

مانند مثال 6 ، این مثال همچنین از دو حلقه در داخل یک حلقه استفاده می کند.

  • قسمت بیرونی برای حلقه از طریق هر ردیف تکرار می شود.
  • در اینجا ما به ترتیب از دو شمارنده شمارش و COUNT1 برای چاپ فضاها و اعداد استفاده می کنیم.
  • داخلی برای حلقه فضاهای مورد نیاز را با استفاده از فرمول (ردیف-I) +1 چاپ می کند ، جایی که ردیف ها تعداد کل ردیف ها و من شماره ردیف فعلی است.
  • حلقه در حالی که 2 * i - 1 تعداد موارد موجود در هر سطر را چاپ می کند.

مثال 8: هرم کامل وارونه *

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) برای من در محدوده (ردیف ، 1 ، -1): برای فضای در محدوده (0 ، ردی ف-I): چاپ ("" ، پایان = "")برای j در محدوده (i ، 2* i-1): چاپ ("*" ، end = "") برای j در محدوده (1 ، i-1): چاپ ("*" ، end = "") چاپ ()

در این مثال ، ما در مجموع 4 برای حلقه ها استفاده کرده ایم.

  • قسمت بیرونی برای حلقه از i = ردیف به i = 1 تکرار می شود.
  • اولین داخلی برای حلقه فضاهای مورد نیاز در هر سطر را چاپ می کند.
  • داخلی دوم برای حلقه نیمه اول هرم (به صورت عمودی برش) را چاپ می کند ، در حالی که آخرین داخلی برای حلقه نیمی دیگر را چاپ می کند.

مثال 9: مثلث پاسکال

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) Coef = 1 برای I در محدوده (1 ، ردیف+1): برای فضای موجود در محدوده (1 ، ردیف-I+1): چاپ ("" ، پایان= "") برای j در محدوده (0 ، i): اگر j == 0 یا i == 0: coef = 1 other: coef = coef * (i - j) // j چاپ (coef ، end = "") چاپ()

در این مثال ، ما از سه حلقه استفاده کرده ایم.

  • حلقه بیرونی از 1 تا ردیف + 1 تکرار می شود.
  • اولین حلقه داخلی فضاها را چاپ می کند.
  • حلقه داخلی دوم ابتدا شماره ای را که باید با استفاده از Coef = Coef * (I - J) // J چاپ شود ، چاپ می شود و سپس آن را چاپ می کند. در اینجا ، من شماره ردیف هستم و j مقدار از 0 تا من است.

مثال 10: مثلث فلوید

1 2 3 4 5 6 7 8 9 10

رمز منبع

ردیف = int (ورودی ("تعداد ردیف ها را وارد کنید:")) شماره = 1 برای I در محدوده (1 ، ردیف+1): برای J در محدوده (1 ، I+1): چاپ (شماره ، پایان = "") شماره += 1 چاپ ()

این یکی از ساده ترین الگوهای است.

  • متغیر شماره با مقدار 1 آغاز می شود.
  • قسمت بیرونی برای حلقه از 1 تا تعداد کل ردیف ها تکرار می شود.
  • حلقه داخلی از 1 تا I + 1 شروع می شود ، جایی که من شماره ردیف هستم. پس از هر تکرار ، مقدار تعداد افزایش می یابد.
مقالات آموزش فارکس...
ما را در سایت مقالات آموزش فارکس دنبال می کنید

برچسب : نویسنده : بهزاد فراهانی بازدید : <-PostHit-> تاريخ : دوشنبه 16 مرداد 1402 ساعت: 20:14