Python libraries
Random module
Generate random integer with random number of bits
Examples using IDLE with Python 3.7.2 and >>> from random import getrandbits
First I simply return a random integer using 4 as an argument, which produces random integers from 0 to 15 or '0000' to '1111' in binary, , also known as a nibble, or '0' to 'f' in hexadecimal (represented as 0x0 to 0xf)
>>> getrandbits(4) 0 >>> getrandbits(4) 15
Cast the integer into binary using 4, 8, 16, 32, 64, and 128 bits
>>> bin(getrandbits(4)) '0b101' >>> bin(getrandbits(4)) '0b1010' >>> bin(getrandbits(4)) '0b1001' >>> bin(getrandbits(8)) '0b10100110' >>> bin(getrandbits(8)) '0b1001000' >>> bin(getrandbits(16)) '0b11001110111101' >>> bin(getrandbits(32)) '0b10111001011000110110000111011001' >>> bin(getrandbits(64)) '0b1001111101111000100100110111000101011000010010101001001011100010' >>> bin(getrandbits(128)) '0b10100111110000000100110000001110001111111101110010110110111111010111111110010000011000111011110000011100101011111001101001010101'
Basic output can be boring. Let us do some formatting with 4, 8, 16, 32, 64, and 128 bits
>>> '{0:08b}'.format(getrandbits(4)) '00001110' >>> '{0:08b}'.format(getrandbits(8)) '10000010' >>> '{0:08b}'.format(getrandbits(8)) '01101100' >>> '{0:08b}'.format(getrandbits(8)) '00101011' >>> '0x{0:01x}'.format(getrandbits(4)) '0xc' >>> '0x{0:01x}'.format(getrandbits(4)) '0x6' >>> '0x{0:01x}'.format(getrandbits(8)) '0xf5' >>> '0x{0:01x}'.format(getrandbits(8)) '0xfc' >>> '0x{0:08x}'.format(getrandbits(4)) '0x0000000d' >>> '0x{0:08x}'.format(getrandbits(8)) '0x00000093' >>> '0x{0:08x}'.format(getrandbits(16)) '0x0000daed' >>> '0x{0:08x}'.format(getrandbits(32)) '0x90967fce' >>> '0x{0:08x}'.format(getrandbits(64)) '0x89cc0e8dc42edf3' >>> '0x{0:08x}'.format(getrandbits(128)) '0xc8c4348f8f44487d0a13c004405c647c' >>> '0x{0:040x}'.format(getrandbits(128)) '0x0000000059de380b301667517bba418193c1a799' >>> '0x{0:080x}'.format(getrandbits(128)) '0x0000000000000000000000000000000000000000000000002565dab4d4fe52fc64294099cc336ba8'
Explanation of string format syntax used above:
- {} places a variable into a string
- 0 takes the variable at argument position 0, which is getrandbits() return value
- : adds formatting options for position 0 variable
- 08 formats the output to eight digits zero-padded on the left
- b converts the integer to binary representation
- x converts the integer to hexadecimal representation
See Python string formatting docs for additional information
Python visual
Matplotlib
import matplotlib.pyplot
or
import matplotlib.pyplot as plt
Example: build a histogram
Resources
Python data visualization techniques you should learn with Seaborn a Python data visualization library based on matplotlib