TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

Python Random Numbers Examples: random.choice

This Python article uses the random module and the randint method. It calls random.choice on a list for a random selection.

Random numbers. Programs often use random numbers.

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.

Import

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.

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.

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.


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf