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