مسألة البحث في التوثيق

تمهيدًا: ستقرأ صفحة مكتبة random في مرجع بايثون الرسمي وتستخرج منها الدوال التي تحتاجها. اكتب حلّك في الخلايا البرمجية أدناه.

أهداف التمرين

  • ممارسة قراءة مرجع المكتبة الأصلي لبايثون
  • التعرّف على دوال مكتبة random (أعداد صحيحة، تسلسلات، بذرة seed)
  • تركيب دوال تدمج أنواعًا مختلفة من القيم (نصوص، أرقام، رموز)
  • فهم أن التوليد «عشوائي» في الحاسوب غالبًا شبه عشوائي (pseudo-random)

مكتبة random مدمجة في بايثون؛ يكفي import random بعد تفعيل بيئتك.

import random

بينما تحل المسائل التالية، ستحتاج إلى البحث في صفحة المكتبة. جرب أن تضع في محرك البحث العبارة:

python 3 docs random

وستظهر في النتائج الأولى صفحة المكتبة في مراجع بايثون:

صفحة مكتبة العشوائية

صفحة مكتبة العشوائية

لا حاجة لقراءة الصفحة كاملةً في أول مرة؛ ركّز على الأقسام التالية عند الحاجة:

  1. الإجراء: random.seed الذي تجده تحت قسم: Bookkeeping functions بالنظر في قائمة المحتويات في الجانب الأيسر من الصفحة
  2. القسم: Functions for integers
  3. القسم: Functions for sequences
  4. القسم: Notes on Reproducibility
  5. الأمثلة: Examples

1. توليد كلمة مرور

اكتب إجراءً يقبل المعاملات التالية ليُنتِج كلمة مرور (Password):

  • الطول
  • الأحرف الصغيرة
  • الأحرف الكبيرة
  • الأرقام
  • الحد الأدنى من الأرقام
  • الرموز: !@#$%^&*
  • الحد الأدنى من الرموز
def generate_password(length: int, ...) -> str:
    ...
pass  # اكتب هنا

2. توليد عبارة مرور

اكتب إجراءً آخر يقبل المعاملات التالية ليُنتِج عبارة مرور (Passphrase)، بحيث تكون سهلة الحفظ على البشر:

  • عدد الكلمات
  • فاصل الكلمات
  • تكبير الحرف الأول من كل كلمة
  • تضمين رقم
def generate_passphrase(...):
    ...
pass  # اكتب هنا