מודול Python Random הוא מודול מובנה להפקת מספרים שלמים אקראיים בפייתון. מספרים אלו מתרחשים באופן אקראי ואינם פועלים לפי כללים או הוראות. לכן אנו יכולים להשתמש במודול זה כדי ליצור מספרים אקראיים, להציג פריט אקראי עבור רשימה או מחרוזת, וכן הלאה.
הפונקציה () אקראית
הפונקציה random.random() נותנת מספר צף שנע בין 0.0 ל-1.0. אין פרמטרים הנדרשים לפונקציה זו. שיטה זו מחזירה את ערך הנקודה הצפה האקראית השני בתוך [0.0 ו-1] מוחזר.
קוד
# Python program for generating random float number import random num=random.random() print(num)
תְפוּקָה:
0.3232640977876686
הפונקציה randint()
הפונקציה random.randint() יוצרת מספר שלם אקראי מטווח המספרים שסופקו.
קוד
# Python program for generating a random integer import random num = random.randint(1, 500) print( num )
תְפוּקָה:
arraylist במיון java
215
הפונקציה randrange()
הפונקציה random.randrange() בוחרת פריט באופן אקראי מהטווח הנתון המוגדר על ידי ההתחלה, העצירה והפרמטרים הצעדים. כברירת מחדל, ההתחלה מוגדרת ל-0. כמו כן, השלב מוגדר ל-1 כברירת מחדל.
קוד
# To generate value between a specific range import random num = random.randrange(1, 10) print( num ) num = random.randrange(1, 10, 2) print( num )
תְפוּקָה:
4 9
הפונקציה choice()
הפונקציה random.choice() בוחרת פריט מסדרה לא ריקה באקראי. בתוכנית המפורטת להלן, הגדרנו מחרוזת, רשימה וקבוצה. ובאמצעות שיטת הבחירה() לעיל, נבחר אלמנט אקראי.
קוד
# To select a random element import random random_s = random.choice('Random Module') #a string print( random_s ) random_l = random.choice([23, 54, 765, 23, 45, 45]) #a list print( random_l ) random_s = random.choice((12, 64, 23, 54, 34)) #a set print( random_s )
תְפוּקָה:
M 765 54
הפונקציה shuffle()
הפונקציה random.shuffle() מערבבת את הרשימה הנתונה באופן אקראי.
קוד
10 מתוך 10
# To shuffle elements in the list list1 = [34, 23, 65, 86, 23, 43] random.shuffle( list1 ) print( list1 ) random.shuffle( list1 ) print( list1 )
תְפוּקָה:
[23, 43, 86, 65, 34, 23] [65, 23, 86, 23, 34, 43]
תוכנית רוק-נייר-מספריים באמצעות מודול אקראי
קוד
# import random module import random # Function to play game def start_game(): # Print games rules and instructions print(' This is Javatpoint's Rock-Paper-Scissors! ') print(' Please Enter your choice: ') print(' choice 1: Rock ') print(' choice 2: Paper ') print(' choice 3: Scissors ') #To take the user input choice_user = int(input(' Select any options from 1 - 3 : ')) # randint() Function which generates a random number by computer choice_machine = random.randint(1, 3) # display the machines choice print(' Option choosed by Machine is: ', end = ' ') if choice_machine == 1: print(' Rock ') elif choice_machine == 2: print('Paper') else: print('Scissors') # To declare who the winner is if choice_user == choice_machine: print(' Wow It's a tie! ') elif choice_user == 1 and choice_machine == 3: print(' Congratulations!! You won! ') elif choice_user == 2 and choice_machine == 1: print(' Congratulations!! You won! ') elif choice_user == 3 and choice_machine == 2: print(' Congratulations!! You won! ') else: print(' Sorry! The Machine Won the Game? ') # If user wants to play again play_again = input(' Want to Play again? ( yes / no ) ').lower() if play_again == ' yes ': start_game() else: print(' Thanks for playing Rock-Paper-Scissors! ') # Begin the game start_game()
תְפוּקָה:
This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 1 Option choosed by Machine is: Rock Wow It's a tie! Want to Play again? ( yes / no ) yes This is Javatpoint's Rock-Paper-Scissors! Please Enter your choice: choice 1: Rock choice 2: Paper choice 3: Scissors Select any options from 1 - 3 : 2 Option choosed by Machine is: Scissors Congratulations!! You won! Want to Play again? ( yes / no ) no Thanks for playing Rock-Paper-Scissors!
פונקציות שונות של מודול אקראי
להלן רשימת הפונקציות הזמינות במודול האקראי.
פוּנקצִיָה | תיאור |
---|---|
seed(a=None, version=2) | פונקציה זו יוצרת מספר אקראי חדש. |
getstate() | שיטה זו מספקת אובייקט המשקף את המצב הנוכחי של המחולל. ספק את הארגומנט ל-setstate() כדי לשחזר את המצב. |
setstate (מצב) | מתן אובייקט state מאפס את מצב הפונקציה בזמן שה-getstate() הופעל. |
getrandbits(k) | פונקציה זו מספקת מספר שלם של Python בעל k ביטים אקראיים. זה חשוב עבור אלגוריתמים לייצור מספרים אקראיים כמו randrange(), שיכולים לנהל טווחים עצומים באופן שרירותי. |
randrange(התחלה, עצור[, צעד]) | מתוך הטווח, הוא מייצר מספר שלם אקראי. |
החזר (א, ב) | מספק מספר שלם בתוך a ו-b באקראי (שניהם כולל). אם a > b, נזרק ValueError. |
בחירה (seq) | הפק פריט סדרה לא ריק באקראי. |
shuffle (seq) | שנה את הסדר. |
sample(population, k) | הצג רשימה של ערכים ייחודיים בגודל k מסדרת האוכלוסייה. |
אַקרַאִי() | פונקציה זו יוצרת מספר אקראי חדש. |
מדים (א, ב) | שיטה זו מספקת אובייקט המשקף את המצב הנוכחי של המחולל. ספק את הארגומנט ל-setstate() כדי לשחזר את המצב. |
משולש (נמוך, גבוה, מצב) | מתן אובייקט state מאפס את מצב הפונקציה בזמן שה-getstate() הופעל. |
גואס (מו, סיגמא) | עם סטיית ממוצע וסטיית תקן, מספר צף נוצר באופן אקראי. | betavariate (אלפא, בטא) | עם אלפא ובטא, מספר צף נוצר באופן אקראי בין הטווח 0 ל-1. - התפלגות בטא | expovariate (למבדה) | מספר צף נוצר באמצעות הארגומנט lambda. - התפלגות אקספוננציאלית | normalvariate(mu, sigma) | עם סטיית ממוצע וסטיית תקן, מספר צף נוצר באופן אקראי. - התפלגות נורמלית | gamavariate (אלפא, בטא) | עם אלפא ובטא, מספר צף נוצר באופן אקראי. - הפצת גמא |
סיכום
לסיום, למדנו על שיטות שונות שהמודול האקראי של Python מספק לנו להתמודדות עם מספרים שלמים, מספרי נקודה צפה ורצפים אחרים כמו רשימות, tuples וכו'. בדקנו גם כיצד הזרע משפיע על תבנית המספרים האקראיים הפסאודו.