دوال الموديل random في بايثون | python random

Python numbers الدالة random ()

تعريفها

ترجع عدد عشري عشوائي بين 0.0 و 1.0.

إذاً, نطاق الأعداد التي ترجعها هو: 0.0 <= N < 1.0.


بناؤها

                  random()
  

باراميترات

لا تقبل أي باراميتر.


قيمة الإرجاع

ترجع عدد عشري قيمته بين 0.0 و 1.0.


المثال الأول

Test.py
                    # random() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
	  import random

	  # random() هنا قمنا بعرض العدد الذي أرجعته الدالة
	  print('Random Number = ', random.random())

	  # random() هنا قمنا بعرض العدد الذي أرجعته الدالة
	  print('Random Number = ', random.random())

	  # random() هنا قمنا بعرض العدد الذي أرجعته الدالة
	  print('Random Number = ', random.random())
	

سنحصل على ثلاث قيم مختلفة بين 0.0 و 1.0 عند التشغيل.

Random Number = 0.8630498170020632
Random Number = 0.7316381331323908
Random Number = 0.9113637080594214

ملاحظة

يمكننا تغيير نطاق الأعداد التي يمكن أن ترجعها الدالة باستخدام العمليات الحسابية.
فمثلاً بكل بساطة نستطيع ضرب العدد الذي ترجعه الدالة بـ 10 و تحويل الناتج إلى int فيصبح النطاق بين 0 =< N < 10.


المثال الثاني

Test.py
                    # random() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
	  import random

	  # بعدها قمنا بعرضها int بـ 10 ثم حولنا الناتج إلى random() هنا قمنا بضرب العدد الذي أرجعته الدالة
	  print('Random Number = ', int(random.random()*10))

	  # بعدها قمنا بعرضها int بـ 10 ثم حولنا الناتج إلى random() هنا قمنا بضرب العدد الذي أرجعته الدالة
	  print('Random Number = ', int(random.random()*10))

	  # بعدها قمنا بعرضها int بـ 10 ثم حولنا الناتج إلى random() هنا قمنا بضرب العدد الذي أرجعته الدالة
	  print('Random Number = ', int(random.random()*10))
	

سنحصل على ثلاث قيم مختلفة بين 0.0 و 1.0 عند التشغيل.

Random Number = 8
Random Number = 5
Random Number = 1

Python numbers الدالة uniform()

تعريفها

ترجع عدد عشري عشوائي بين القيمة التي نمررها لها مكان الباراميتر a و القيمة التي نمررها لها مكان الباراميتر b.

إذاً, نطاق الأعداد التي ترجعها هو: a <= N <= b.

 

بناؤها

                  uniform( a, b )
  

باراميترات

  • a عبارة عن عدد عشري يحدد أقل قيمة ممكن أن تولدها الدالة.

  • b عبارة عن عدد عشري يحدد القيمة القصوى التي لا يمكن أن ترجعها الدالة.


قيمة الإرجاع

ترجع عدد صحيح عشوائي بين القيمة التي نمررها لها مكان الباراميتر a و القيمة التي نمررها لها مكان الباراميتر b.


مثال

Test.py
                    # uniform() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
	  import random

	  # هنا قمنا بطباعة ثلاث أعداد عشوائية بين 1 و 10
	  print('Random Number between [1-10] =', random.uniform(1, 10))
	  print('Random Number between [1-10] =', random.uniform(1, 10))
	  print('Random Number between [1-10] =', random.uniform(1, 10))
	

سنحصل على ثلاث قيم مختلفة ضمن ثلاث نطاقات مختلفة عند التشغيل.

Random Number between [1-10] = 7.918523869665445
Random Number between [1-10] = 1.766162593475313
Random Number between [1-10] = 5.147901074651577

Python numbers الدالة randrange ()

تعريفها

ترجع عدد صحيح عشوائي بين 0 و القيمة التي نمررها لها مكان الباراميتر stop.
أو ترجع عدد صحيح عشوائي بين القيمة التي نمررها لها مكان الباراميتر start و القيمة التي نمررها لها مكان الباراميتر stop.

يمكن إستدعاء هذه الدالة بثلاث طرق, سنتعرف عليها لاحقاً في المثال.


بناؤها

                  randrange( [start,] stop [,step] )
  

باراميترات

  • start عبارة عن عدد صحيح يحدد أقل قيمة ممكن أن تولدها الدالة.
    إذا لم يتم تمرير قيمة مكان الباراميتر stop ستعتبر قيمته تساوي 0.

  • stop عبارة عن عدد صحيح يحدد القيمة القصوى التي لا يمكن أن ترجعها الدالة.

  • step عبارة عن عدد صحيح يحدد بكم ستضرب القيمة العشوائية التي سيتم إرجاعها مع الأخذ بعين الإعتبار أن الناتج يجب أن يكون ضمن النطاق الذي تم تحديده.


قيمة الإرجاع

ترجع عدد صحيح عشوائي بين 0 و القيمة التي نمررها لها مكان الباراميتر stop.
أو ترجع عدد صحيح عشوائي بين القيمة التي نمررها لها مكان الباراميتر start و القيمة التي نمررها لها مكان الباراميتر stop.


مثال

Test.py
                    # randrange() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
	  import random

	  # هنا قمنا عدد بطباعة عشوائي بين 0 و 10
	  print('Random Number between [0-10] = ', random.randrange(10))

	  # هنا قمنا عدد بطباعة عشوائي بين 1 و 50
	  print('Random Number between [1-50] = ', random.randrange(1, 50))

	  # هنا قمنا عدد بطباعة عشوائي بين 1 و 50 مع مع ضرب القيمة التي سترجع بـ 5
	  print('Random Number between [1-50, step=5] = ', random.randrange(1, 50, 5))
	

سنحصل على ثلاث قيم مختلفة ضمن ثلاث نطاقات مختلفة عند التشغيل.

Random Number between [0-10] = 4
Random Number between [1-50] = 20
Random Number between [1-50, step=5] = 35

Python numbers الدالة choice()

تعريفها

ترجع قيمة عشوائية من بين عناصر أي سلسلة (Sequence) نمررها لها.

السلسلة ممكن أن تكون مصفوفة من الأعداد, أو نص عادي (أي سلسلة من الأحرف).
فمثلاً, إذا مررنا لها مصفوفة من الأعداد, ترجع عدد عشوائي من ضمن هذه المصفوفة. و إذا مررنا لها نص, ترجع حرف عشوائي من ضمن هذا النص.

 

بناؤها

                  choice( seq )
  

باراميترات

seq عبارة عن مصفوفة أو نص.


قيمة الإرجاع

  • إذا مررنا لها مصفوفة من الأعداد, ترجع عدد عشوائي من ضمن هذه المصفوفة.

  • إذا مررنا لها نص, ترجع حرف عشوائي من ضمن هذا النص.


مثال

Test.py
                    # choice() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
	  import random

	  # يحتوي على نص s هنا قمنا بتعريف متغير إسمه
	  s = 'harmash'

	  # lst هنا قمنا بتعريف مصفوفة تحتوي على أعداد إسمها
	  lst = [1, 2, 3, 4, 9]

	  # lst هنا قمنا بطباعة قيمة عنصر عشوائي من عناصر المصفوفة
	  print('Random element from the list:    ', random.choice(lst))

	  # s هنا قمنا بطباعة حرف عشوائي من أحرف المتغير
	  print('Random character from the string:', random.choice(s))
	

سنحصل على النتيجة التالية عند التشغيل.

Random element from the list:     4
Random character from the string: r

Python numbers الدالة shuffle ()

تعريفها

نمرر لها مصفوفة مكان الباراميتر x فتبدل أماكن عناصرها بشكل عشوائي.


بناؤها

                  shuffle( x )
  

باراميترات

x عبارة عن مصفوفة ليس لها نوع محدد.


قيمة الإرجاع

لا ترجع قيمة.


مثال

Test.py
                    import random            # shuffle() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول

	  arr = [1, 2, 3, 4, 5]    # arr هنا قمنا بتعريف مصفوفة تحتوي على أعداد إسمها

	  print('arr =', arr)      # arr هنا قمنا بطباعة قيم جميع عناصر المصفوفة

	  random.shuffle(arr)      # shuffle() بشكل عشوائي بواسطة الدالة arr هنا قمنا بتبديل عناصر المصفوفة

	  print('arr =', arr)      # من جديد لنلاحظ الفرق arr هنا قمنا بطباعة قيم جميع عناصر المصفوفة
	

سنحصل على النتيجة التالية عند التشغيل.

arr = [1, 2, 3, 4, 5]
arr = [3, 1, 4, 5, 2]