import randomمسألة البحث في التوثيق
تمهيدًا: ستقرأ صفحة مكتبة random في مرجع بايثون الرسمي وتستخرج منها الدوال التي تحتاجها. اكتب حلّك في الخلايا البرمجية أدناه.
أهداف التمرين
- ممارسة قراءة مرجع المكتبة الأصلي لبايثون
- التعرّف على دوال مكتبة
random(أعداد صحيحة، تسلسلات، بذرةseed) - تركيب دوال تدمج أنواعًا مختلفة من القيم (نصوص، أرقام، رموز)
- فهم أن التوليد «عشوائي» في الحاسوب غالبًا شبه عشوائي (pseudo-random)
مكتبة random مدمجة في بايثون؛ يكفي import random بعد تفعيل بيئتك.
بينما تحل المسائل التالية، ستحتاج إلى البحث في صفحة المكتبة. جرب أن تضع في محرك البحث العبارة:
وستظهر في النتائج الأولى صفحة المكتبة في مراجع بايثون:
لا حاجة لقراءة الصفحة كاملةً في أول مرة؛ ركّز على الأقسام التالية عند الحاجة:
- الإجراء:
random.seedالذي تجده تحت قسم: Bookkeeping functions بالنظر في قائمة المحتويات في الجانب الأيسر من الصفحة - القسم: Functions for integers
- القسم: Functions for sequences
- القسم: Notes on Reproducibility
- الأمثلة: Examples
1. توليد كلمة مرور
اكتب إجراءً يقبل المعاملات التالية ليُنتِج كلمة مرور (Password):
- الطول
- الأحرف الصغيرة
- الأحرف الكبيرة
- الأرقام
- الحد الأدنى من الأرقام
- الرموز:
!@#$%^&* - الحد الأدنى من الرموز
def generate_password(length: int, ...) -> str:
...pass # اكتب هنا2. توليد عبارة مرور
اكتب إجراءً آخر يقبل المعاملات التالية ليُنتِج عبارة مرور (Passphrase)، بحيث تكون سهلة الحفظ على البشر:
- عدد الكلمات
- فاصل الكلمات
- تكبير الحرف الأول من كل كلمة
- تضمين رقم
def generate_passphrase(...):
...pass # اكتب هنا