C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
These numbers simulate chance. In quantum mechanics, physicists find true randomness.
But in Python, we settle for pseudo-random numbers. We use the random module (we import it for easy access). And we call randint and random.choice.
With the random module, and randint, we easily generate random numbers. The randint() method receives two arguments. They are both inclusive (including the numbers).
Argument 1: The first argument to randint is the inclusive lower value of the range. Randint can return this value.
Argument 2: The second argument to randint is the inclusive upper value of the range. Randint can also return this value.
Based on: Python 3 Python program that uses random, randint import random i = 0 while i < 10: # Get random number in range 0 through 9. n = random.randint(0, 9) print(n) i += 1 Output 7 0 (Min) 9 (Max) 3 4 6 5 4 4 8
Random.choice. In this Python example, we use random.choice() on a list and a tuple. When we execute this program, it gives a different result—unless the random choices are the same.
List, tuple: The random.choice method supports lists and tuples. As we see next, it also chooses a random character from a string.
Python program that uses random.choice import random # Use random.choice on a list. arr = [1, 5, 9, 100] n = random.choice(arr) # Use random.choice on a tuple. tup = (2, 4, 6) y = random.choice(tup) # Display. print(n, y) Output 100 4
Random lowercase letter. This program generates a random lowercase char. It only supports the chars A through Z, but it is easily modified.
Tip: To generate a random char from any set, you can just change the string literal in this program.
Tip 2: A list could also be used: we could add in a loop (or list comprehension) all the desired letters.
Python program that generates random lowercase letter import random # This string literal contains all lowercase ASCII letters. values = "abcdefghijklmnopqrstuvwxyz" for i in range(0, 10): # random.choice returns a random character. letter = random.choice(values) print(letter) Output v t j y s l m r a j
Random phrases. Random.choice can be used to easily create random text or phrases. Here we populate a list with seven words and then add five random choices to a string.
Strip, capitalize: We call strip to remove trailing punctuation and spaces. Capitalize improves the phrase's appearance.
Note: I encourage you to research Markov chains for better random text generation. This program is not good.
Markov processes can also be used to generate superficially real-looking text given a sample document.
Python program that creates random phrases import random # Create a list of words. words = [] words.append("hello,") words.append("cat,") words.append("food") words.append("buy") words.append("free") words.append("click") words.append("here") # Create sentence of five words. result = "" for i in range(0, 5): result += random.choice(words) + " " # Fix trailing punctuation and capitalize. result = result.strip(" ,") result = result.capitalize() result += "!" print(result) Output Hello, here cat, buy free!
The randint and random.choice methods are excellent choices for pseudo-random numbers. They are clear. They are easy to remember and need few comments.
One key thing to remember: the randint method receives two arguments that are inclusive. So the highest number is included. This differs from other languages like Java.