مثال 26 پایتون – برنامه ای به پایتون بنویسید که یک هیستوگرام از لیستی از اعداد صحیح داده شده درست کند.
کد برنامه
1 2 3 4 5 6 7 8 9 |
def histogram(items): for n in items: output = '' times = n while times > 0: output += '*' times -= 1 print(output) histogram([4, 1, 7, 3, 2]) |
توضیح برنامه
این برنامه نمودارهای هیستوگرام بر اساس اعداد ورودی را نمایش میدهد. برنامه به شرح زیر عمل میکند:
تعریف تابع histogram(items)
:
- این تابع یک ورودی به نام
items
میگیرد که یک لیست از اعداد صحیح است. - این تابع یک حلقه
for
برای هر عدد درitems
ایجاد میکند تا تمام اعداد را بررسی کند.
ورودیها:
- ورودی
items
معرفی میشود تا بتواند لیست اعداد را دریافت کند. در مثال ما،items
به[4, 1, 7, 3, 2]
تنظیم شده است.
حلقه for
:
- این حلقه به ازای هر عدد در
items
اجرا میشود. - متغیر
n
در هر قدم از حلقه به هر عدد داخلitems
اختصاص مییابد.
متغیرهای output
و times
:
- در داخل حلقه
for
، دو متغیرoutput
وtimes
ایجاد میشوند. output
یک رشته خالی است که در آن نمودار هیستوگرام نهایی ذخیره میشود.times
برابر با مقدارn
قرار میگیرد. این متغیر نشاندهنده تعداد ‘*’ها در نمودار هیستوگرام مربوط به عدد فعلی است.
حلقه while
:
- یک حلقه
while
تعریف میشود که تا زمانی کهtimes
بیشتر از صفر باشد ادامه می یابد. - در هر مرحله از حلقه
while
، یک ‘*’ به رشتهoutput
اضافه میشود و مقدارtimes
یک واحد کاهش مییابد.
چاپ نمودار:
- پس از خروج از حلقه
while
، رشتهoutput
که نمایانگر نمودار هیستوگرام مربوط به عدد فعلی است، با دستورprint
چاپ میشود.
در نهایت، تابع histogram
وقتی فراخوانی می شود و یک لیست از اعداد به عنوان ورودی به آن داده می شود، نمودارهای هیستوگرام متناظر با اعداد ورودی را نمایش میدهد. در این مثال، نمودارهای هیستوگرام برای اعداد 4، 1، 7، 3 و 2 به ترتیب به شکلهای زیر چاپ میشوند:
1 2 3 4 5 |
**** * ******* *** ** |
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)