بايثون عشوائي تسمح الوحدة بإنشاء أرقام عشوائية. الأرقام التي تم إنشاؤها هي سلسلة من الأرقام العشوائية الزائفة، والتي تعتمد على الدالة المستخدمة. هناك أنواع مختلفة من الوظائف المستخدمة في الوحدة النمطية العشوائية لإنشاء أرقام عشوائية، مثل عشوائي.عشوائي ()، عشوائي.راندينت ()، عشوائي. اختيار ()، عشوائي.راندرانج (بدء، إيقاف، عرض) ، و أكثر من ذلك بكثير.
وهنا سوف نناقش راندرانج () وظيفة عشوائي وحدة. ال راندرانج () يتم استخدام الدالة لإنشاء رقم عشوائي بين النطاق المحدد في المعلمة الخاصة بها. وهو يقبل ثلاث معلمات: رقم البداية، ورقم التوقف، والعرض، والتي يتم استخدامها لتخطي رقم في النطاق.
بناء جملة Randrange()
random.randrange(start, stop[, width])
ال عشوائي.راندرانج() تقوم الدالة بإرجاع رقم صحيح عشوائي ضمن النطاق المحدد، أي البداية والتوقف. ال عشوائي.راندرانج() تأخذ الدالة ثلاث معلمات كمدخل بدء توقف ، و عرض . ومن بين هذه المعلمات الثلاثة، المعلمتان يبدأ و عرض هي اختيارية.
- ال يبدأ المعلمة هي رقم صحيح للبداية أو الحد الأدنى في نطاق عشوائي. إذا لم يتم تمرير معلمة البداية في المعلمة، فستأخذ القيمة الافتراضية 0 (صفر).
- أ قف المعلمة هي الرقم الأخير أو العدد الصحيح للحد الأعلى في نطاق عشوائي.
- ال عرض المعلمة هي نطاق بين كل رقم في التسلسل العشوائي. هذه المعلمة اختيارية، وإذا لم يتم تمرير معلمة العرض في المعلمة، فستأخذ القيمة الافتراضية 1 (واحد).
ال نطاق المدى (البدء، التوقف، العرض) لا تتضمن الدالة معلمة النهاية أثناء إنشاء رقم صحيح عشوائي. ال قف المعلمة هي حصري ، ولا يتم إنشاؤها برقم عشوائي.
انظر إلى هذه الدالة Randrange(3, 30, 3) التي ستولد أي قيمة عدد صحيح عشوائي بين 3 إلى 30 مثل 3، 6، 9، 12، ...27. لكن هذه الدالة لا تتضمن أبدًا الرقم 30 أثناء توليد رقم عشوائي.
كان إنشاء عشوائي في أحد التطبيقات أمرًا مهمًا دائمًا، وله العديد من الاستخدامات في الوقت الفعلي في الحياة اليومية. على سبيل المثال، إنشاء وإرسال رقم عشوائي إلى العميل باعتباره OTP (كلمة مرور لمرة واحدة) لإجراء معاملة آمنة. يتم استخدام مثال آخر لتوليد رقم عشوائي أثناء لعب لعبة اللودو لإنشاء رقم نرد عشوائي.
أمثلة 1: يقوم التابع Randrange() بإنشاء عدد صحيح عشوائي ضمن النطاق المحدد
دعونا نرى مثالاً حيث نقوم بإنشاء رقم صحيح عشوائي ضمن نطاق معين. يوضح هذا المثال جميع الأشكال المختلفة للدالة Randrange().
import random print('Generating random number within a given range ') # Random number between 0 and 29 number1 = random.randrange(30) print('Random integer: ', number1) # Random number between 10 and 29 number2 = random.randrange(10, 30) print('Random integer: ', number2) # Random number between 25 and 200 divisible by 5 number3 = random.randrange(25, 201, 5) print('Random integer: ', number3)
انتاج:
مثال 2: إنشاء نطاق عدد صحيح عشوائي (متعدد) لـ n
لنقم بإنشاء رقم صحيح عشوائي يقع بين 5 إلى 100، وهو نطاق من 5 مثل 5، 10، 25، ...، 90، 95.
import random #print 'Random number range (multiple) of 5' number = random.randrange(5, 100, 5) print('Random number range (multiple) of 5 is ', number)
انتاج:
مثال 3: إنشاء رقم صحيح عشوائي بطول محدد
يمكنك أيضًا إنشاء عدد صحيح عشوائي بطول محدد. إذا كنت تريد إنشاء رقم عشوائي بطول 3، فأدخل يبدأ و قف المعلمة في راندرانج () تعمل كأقل عدد مكون من 3 أرقام (100) وأقل عدد مكون من 4 أرقام (1000) لأنها تولد رقمًا عشوائيًا مكونًا من 3 أرقام من 100 إلى 999 حيث يتم استبعاد 4 أرقام (1000).
مثال: قم بإنشاء رقم عشوائي مكون من 3 أرقام باستخدام Randrange()
import random number1 = random.randrange(100, 1000) print('First random number of length 3 is: ', number1) number2 = random.randrange(100, 1000) print('Second random number of length 3 is: ', number2)
انتاج:
First random number of length 3 is: 813 Second random number of length 3 is: 770
مثال 4: إنشاء رقم صحيح سالب عشوائي:
دعونا نرى مثالاً يقوم بإنشاء رقم صحيح سالب عشوائي بين -50 إلى -10.
import random randomNagativeInteger = random.randrange(-50, -10) print('Random negative integer number between -50 to -10') print('Random negative integer number between -50 to -10 is: ',randomNagativeInteger)
انتاج:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
مثال 5: إنشاء رقم صحيح موجب أو سالب عشوائي
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
انتاج:
-5 0
لاحظ أن المعلمة يبدأ و قف ، الذي تم تمريره عشوائي.راندرانج() يجب أن تكون الوظيفة بترتيب متزايد، مثل عشوائي.نطاق(5، 10) أو عشوائي. المدى (-20، -10) . ال يبدأ المعلمة تكون دائما أصغر من قف معامل؛ وإلا فإن هذه الوظيفة تولد خطأ 'التتبع (آخر مكالمة) ورفع النطاق الفارغ ValueError لـ randrange()' .
على سبيل المثال:
انظر إلى هذا المثال الذي ننتهك فيه القاعدة بتمرير يبدأ المعلمة أكبر من قف المعلمة في عشوائي.راندرانج() الدالة، والتي تولد رسالة خطأ على النحو التالي:
سلسلة في ج
import random randomNumber = random.randrange(10,5)
انتاج:
بعض الوظائف الأخرى ل بايثون عشوائي وحدة التي تستخدم لتوليد الأرقام بشكل عشوائي هي:
اختيار عشوائي ()
بايثون عشوائي الوحدة لديها خيار() دالة تستخدم لاختيار عنصر عشوائي من قائمة أو تسلسل آخر. أ اختيار عشوائي () تُستخدم الدالة لإرجاع عنصر عشوائي من قائمة القيم.
بناء جملة ramdom.choice()
random.choice(sequence)
أو
random.choices(sequence, k=l)
هنا المعلمة تسلسل يمكن أن تكون سلسلة، قائمة، صف، و اختيار عشوائي () عنصر عشوائي واحد فقط.
في ال اختيارات عشوائية() وظيفة ك هو عدد العناصر التي سيتم إرجاعها. لنفترض أننا لا نذكر قيمة ك المعلمة اختيارات عشوائية() إرجاع عنصر واحد من التسلسل أو القائمة.
مثال 1:
في هذا المثال، نقدم التسلسل (القائمة) كمعلمة ونعيد عنصرًا عشوائيًا واحدًا.
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
انتاج:
random item from list is: 10
مثال 2:
تُستخدم الدالة Random.choices() في الغالب لإرجاع العناصر العشوائية ذات الاحتمالات المختلفة. كما تأخذ هذه الدالة وزن (ك) عدد الاختيارات العشوائية. على سبيل المثال، نريد طباعة اسم 3 أفلام عشوائية من قائمة مكونة من 5 أفلام.
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
انتاج:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
عشوائي.راندنت()
بايثون عشوائي.راندنت() يتم استخدام الدالة لإنشاء رقم صحيح عشوائي ضمن النطاق المحدد.
بناء الجملة:
random.randint(start, stop)
ال عشوائي.راندنت() تأخذ الدالة معلمتين يبدأ ، وهو نطاق البداية، و قف ، وهو نطاق النهاية. يتم تضمين كلا المعلمتين (البدء والتوقف) أثناء إنشاء رقم عشوائي.
مثال على Randint() الذي ينشئ قائمة بأعداد صحيحة عشوائية
سيقوم هذا المثال بإنشاء قائمة بأعداد صحيحة عشوائية متعددة باستخدام الدالة randint(). إنشاء قائمة مكونة من 5 أعداد صحيحة عشوائية تتراوح بين 1 و100، وتكون القيمتان شاملتين.
import random randomListValue = [] # specifing length of list equal to 5 for i in range(0, 5): # generates random numbers from 1 to 100 randomListValue.append(random.randint(1, 100)) print('Printing list of 5 generated random numbers') print(randomListValue)
انتاج:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
ومع ذلك، قد يكون هناك احتمال لذلك Randint() تقوم الدالة بإرجاع رقم مكرر في نتيجة الإخراج. لتجنب تكرار الرقم الصحيح العشوائي في النتيجة، استخدم عينة عشوائية() وظيفة.
عينة عشوائية()
في المثال أعلاه، قد يكون هناك احتمال ذلك عشوائي.راندنت() يولد رقم عشوائي مكرر من القائمة. إذا كنت تريد إنشاء أرقام عشوائية فريدة من القائمة، استخدم عينة عشوائية() وظيفة.
ال عينة عشوائية() تقوم الدالة بإنشاء عناصر فريدة من مجموعة وقائمة وتسلسلات أخرى. تسمح الدالة Random.sample() في Python بأخذ عينات عشوائية لأكثر من عنصر واحد ضمن نطاق من القائمة دون تكرار.
مثال على Random.sample() لإنشاء عناصر عشوائية من قائمة بدون تكرارات:
في هذا المثال، سنقوم بإنشاء 10 أعداد صحيحة عشوائية من النطاق من 0 إلى 100.
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
انتاج:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
إذا كنت تريد إنشاء قائمة من الأرقام العشوائية ويجب أن يكون كل منها من مضاعفات 'n'، فاستخدم معلمة الخطوة للدالة range().
على سبيل المثال، إنشاء 10 أعداد صحيحة عشوائية من مضاعفات 5 من النطاق من 0 إلى 100 باستخدام Random.sample(range(0, 100, 5), 10).
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100, 5), 10) print(randomList)
انتاج:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
فرز القائمة ()
بايثون نوع() تُستخدم الوظيفة لفرز الأعداد الصحيحة العشوائية للقائمة بترتيب تصاعدي (افتراضيًا). يمكننا أيضًا فرز قيمة القائمة بترتيب تنازلي عن طريق تحديد ترتيبها عكس = صحيح . القيمة الافتراضية ل يعكس يكون خطأ شنيع .
المثال 1: فرز عناصر القائمة بترتيب تصاعدي
في هذا المثال، سنقوم بإنشاء قائمة عشوائية مكونة من 5 أرقام في نطاق من 50 إلى 100 بعرض 5 وفرزها باستخدام نوع() وظيفة.
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list ascending order by default randomList.sort() print('After sorting random integers list') print(randomList)
انتاج:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
مثال 2: فرز () عناصر القائمة بترتيب تنازلي
في هذا المثال، سنقوم بفرز عناصر القائمة بترتيب تنازلي باستخدام RandomList.sort(عكس = صحيح) .
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list descending order randomList.sort(reverse=True) print('After sorting random integers list') print(randomList)
انتاج:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]