HomeSearch

Python Random Numbers: randint, random.choice

Use the random module and the randint method. Call random.choice on a list.

Random.

The patterns on a butterfly's wings are detailed. See the colors and shapes. But they are not random. There is a pattern to these patterns.

For Python developers

there is a pseudo-random number generator. With this we could generate many patterns for a butterfly's wings. We call randint and random.choice.

With the random module

(and randint) we easily generate random numbers. The randint() method receives 2 arguments. They are both inclusive (including the numbers).While

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.

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.

ListTuple
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.

StripLower, Upper

Note: I encourage you to research Markov chains for better random text generation. This program is not good.

Quote: Markov processes can also be used to generate superficially real-looking text given a sample document.

Markov chain: Wikipedia
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.
Home
Dot Net Perls
© 2007-2019 Sam Allen. All rights reserved. Written by Sam Allen, info@dotnetperls.com.