دليل شامل لمكتبة random في بايثون: توليد الأرقام العشوائية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مكتبة Random في بايثون: دليل شامل

يُعد العمل مع الأرقام العشوائية من المهام الأساسية في البرمجة. سواء كنت تبني لعبة بسيطة، أو تحاكي أحداثًا احتمالية، أو تعمل مع تعلّم الآلة، فإن مكتبة random في بايثون ستكون رفيقك الموثوق كمطور.

في هذا المقال، سنستعرض بالتفصيل كيفية استخدام مكتبة random في بايثون بكفاءة. سنشرح دالة randint ونقارنها بنظيرتها من مكتبة NumPy.

ما هي مكتبة random

مكتبة random هي وحدة قياسية في بايثون، مصممة لتوليد أرقام شبه عشوائية. لا تحتاج إلى تثبيت إضافي. توفر المكتبة مجموعة واسعة من الدوال لتوليد الأرقام العشوائية، واختيار عناصر عشوائية من المتسلسلات، وخلط البيانات.

الإمكانيات الرئيسية لمكتبة random

  • توليد أرقام عشوائية من أنواع مختلفة
  • اختيار عنصر عشوائي من قائمة أو tuple
  • خلط العناصر داخل المجموعات
  • توليد أرقام عشوائية وفق توزيع طبيعي
  • إنشاء متسلسلات عشوائية
  • العمل مع التوزيعات الاحتمالية

استيراد مكتبة random والبدء في العمل

للبدء، يكفي استيراد الوحدة بالطريقة القياسية:

import random

بعد الاستيراد، تصبح جميع دوال random متاحة لتوليد البيانات العشوائية.

الدوال الأساسية لمكتبة random

دالة random.random()

تولد هذه الدالة رقمًا عشريًا عشوائيًا بين 0.0 و 1.0، دون تضمين الحد الأعلى.

import random
print(random.random())  # النتيجة المحتملة: 0.7345832

دالة random.randint() وميزاتها

تعد دالة random.randint() من أكثر الدوال استخدامًا في الوحدة. تقوم بتوليد عدد صحيح عشوائي ضمن نطاق محدد. من المهم ملاحظة أنها تشمل كلا الحدين.

random.randint(a, b)  # تُرجع رقمًا عشوائيًا من a إلى b شاملًا

تطبيق عملي لدالة randint:

number = random.randint(1, 10)
print(f"الرقم العشوائي: {number}")

النتيجة: رقم عشوائي من 1 إلى 10 شاملًا.

دالة random.choice()

تختار الدالة عنصرًا عشوائيًا من متسلسلة مُمررة. تعمل مع القوائم، tuples، النصوص، وأي كائنات قابلة للتكرار.

colors = ['red', 'blue', 'green', 'yellow']
selected_color = random.choice(colors)
print(selected_color)  # النتيجة المحتملة: 'blue'

دالة random.shuffle()

تقوم هذه الدالة بخلط عناصر القائمة في مكانها الأصلي. تُعدل القائمة الأصلية دون إنشاء كائن جديد.

deck = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random.shuffle(deck)
print(deck)  # سيتم ترتيب العناصر بشكل عشوائي

دوال random إضافية

دالة random.uniform()

تولد رقمًا عشريًا عشوائيًا ضمن نطاق محدد:

value = random.uniform(1.5, 5.5)
print(value)  # رقم عشوائي بين 1.5 و 5.5

دالة random.sample()

تُرجع عينة عشوائية من متسلسلة دون تكرار:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample = random.sample(numbers, 3)
print(sample)  # ثلاثة أرقام عشوائية دون تكرار

NumPy ودالة np.random.randint

ما هي np.random.randint

دالة np.random.randint هي نظيرة لدالة random.randint من مكتبة NumPy. تُستخدم للعمل مع المصفوفات والمتجهات

المدونات

توصيات الكتب