طبقات متعدد در زبان پایتون را توضیح دهید .

1

طبقات متعدد در زبان پایتون را توضیح دهید .

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 15, 2020
گذاشتن نظر
0

طبقات متعدد در زبان پایتون را توضیح دهید .

همچنانکه تعداد طبقات افزایش مییابد، inBucket کمی کند میشود. این تابع با دو طبقـه بد کار نمیکند:

low = inBucket(a, 0.0, 0.5)
high = inBucket(a, 0.5, 1)

اما با چهار طبقه کند میشود.

bucket1 = inBucket(a, 0.0, 0.25)
bucket2 = inBucket(a, 0.25, 0.5)
bucket3 = inBucket(a, 0.5, 0.75)
bucket4 = inBucket(a, 0.75, 1.0)

در اینجا دو مشکل وجود دارد، یکی اینکه ما مجبوریم نامهـاي جدیـدي بـراي متغیرهـاي هـر نتیجه داشته باشیم و دیگر اینکه باید عرض طبقات را محاسبه کنیم. ابتدا مشکل دوم را حل میکنیم. اگر تعداد طبقات numBuckets باشد، آنگاه عرض هر طبقه numBuckets/1 خواهد بود. براي محاسبۀ عـرض هـر طبقـه از یـک حلقـه اسـتفاده مـیکنـیم. متغیـر حلقـه، i ، از 1 تـا 1-numBuckets را میشمارد:

bucketWidth = 1.0 / numBuckets
for i in range(numBuckets):
low = i * bucketWidth
high = low + bucketWidth
print low, “to”, high

براي محاسبۀ حد پایین هر طبقه، متغیر حلقه را در عرض طبقه ضـرب مـیکنـیم. حـد بـالاي طبقـه تنهـا بــه انــدازة bucketWidth) عــرض طبقـه)، از حــد پــایین فاصـله دارد. بــا احتسـاب 8 = numBuckets خروجی به صورت زیر است:

0.0 to 0.125
0.125 to 0.25
0.25 to 0.375
0.375 to 0.5
0.5 to 0.625
0.625 to 0.75
0.75 to 0.875
0.875 to 1.0

شما میتوانید همعرض بودن طبقات را که باعث میشود با هم نقطۀ اشتراکی (تداخلی) نداشته باشند، بررسی و تأیید نمایید. همچنین واضح است که تمام بازة 0.0 و 0.1 پوشش داده شده است. اکنون به مشکل اول باز میگردیم. ما به راهی جهت ذخیرة هشت عـدد صـحیح بـا اسـتفاده از متغیر حلقه که به نوبت به تمام طبقات اشاره میکند نیاز داریم. تا به حـال شـما بایـد بـه فکـر لیسـت

افتاده باشید. لیست طبقات باید خارج از حلقه ساخته شود، زیرا تنها یک بار نیاز به انجام این کار است. در میان حلقه، ما inBucket را مکرراً فراخوانی میکنیم و iامین عنصر آن را به هنگام میسازیم:

numBuckets = 8
buckets = [0] * numBuckets
bucketWidth = 1.0 / numBuckets
for i in range(numBuckets):
low = i * bucketWidth
high = low + bucketWidth
buckets[i] = inBucket(list, low, high)
print buckets

این کد با یک لیست 1000 عضوي، لیست طبقات زیر را تولید میکند:

[138, 124, 128, 118, 130, 117, 114, 131]

این اعداد تقریباً نزدیک به 125 هستند و این همان چیزي است که انتظار داشتیم. لااقـل آنهـا آنقدر نزدیک هستند که به کارکرد مولد اعداد تصادفی ایمان بیاوریم.

تمرین 9-4 :این تابع را با چند لیست طولانیتر آزمایش کنید و ببینید که آیا تعداد مقادیر هر
طبقه به سمت عدد ثابتی میل میکنند یا خیر.

برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 15, 2020
گذاشتن نظر
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها1770 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

ایا ایدز گزفتم؟ 0 پاسخ ها | 0 آرا
انتخاب ورزش رزمی 0 پاسخ ها | 1 رای
وزارت تعاون کار و رفاه اجتماعی نماد اعتماد الکترونیک اسناد و املاک کشور مرکز آموزش ویدیویی انجمن حم فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم سامانه حیوانات رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش فروشگاه حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا املاک و مستغلات