Notes by Keyword

University Engineering

Notes by Category University Engineering

Rate these notesNot a fanNot so goodGoodVery goodBrillRate these notes
  • Engineering Notes

Python Cheat Sheet

Libraries

Before you can use libraries, you need to import them. For maths:

import maths

For random:

import random

If the library name i slong, such as for plotting, you can set a shortened name:

import matplotlib.pyplot as plot

Useful random functions

To generate a random number, n, in the range 0 ≤ n < 1:

n = random.random()

To generate a random integer, n, in the range a ≤ n ≤ b:

n = random.randint(a,b)

Therefore, a function for rolling a standard six-sided die is:

roll = random.randint(1,6)

Lists / Arrays

n number of data points can be stored in lists, where each data point is given an index address. The first term has address [0], and the last term has address [n-1]. Indexing can be done in negative: in this case, the last term has address [-1] and the first term has address [n].


Defining Lists

To define lists manually:

Age = [18, 18, 19, 18, 17 ... ]
Colour = ['Blue', 'Green', 'Yellow' ...]

Note that you need to put strings in quote marks.


To define lists automatically as a list of integers from a range of a to b:

R = range(a, b+1)
A = []
for members in R:
    A = A + [members]

To generate a list from a series of values, for example a set of random numbers:

for members in A:
    members = random.randint(1,6)
    die.append(members)

Integer Lists

To sum all the terms in a list:

for members in List:
    members = sum(List)

To apply maths on every member of a list, L:

Lx2 = list(map(lambda x: x * 2, L))
Lplus1 = list(map(lambda x: x + 1, L))
Lsquared = list(map(lambda x: x ** 2, L))

To multiply all the numbers in a list together:

def multiply(List):
    total = 1
    for n in List:
        total *= n
    return total
print(multiply((List)))

To swap two elements in a list:

L = [1,2,3,4,5]
#to swap 2 and 3:
temp = L[1]
L[1] = L[2]
L[2] = temp




Searching Lists

To search for a value in a list, there are two options. The first is to use a for loop - this is used when you want to carry on searching the list even after you found the value:

List = #define list
find = input()
# Convert to integer if necessary
found = False
for members in List:
    if members == find:
        found = True
print(found)

The second is to use a while loops - this will stop counting either when you reach the value, or when the whole list has been counted:

List = #define list
N = len(List)
find = input()
# Convert to integer if necessary
found = False
count = 0
while (not found) and count < N:
    if List[count] == find:
        found = True
    else:
        count = count + 1
print(found)


Boolean Operations

The if-else function is used to test boolean outcomes (where the outcome is either 'yes' or 'no').

  • a == b a equals b

  • a != b a does not equal b

  • a < b a is less than b

  • a > b a is greater than b

  • a <= b a is smaller than or equal to b

  • a => b a is greater than or equal to b

A nice example is rolling two dice. This requires two loops, the first tests for a draw, the second for a winner.

import random as rn

#Setting up rolling functions
Die1 = rn.randint(1,6)
Die2 = rn.randint(1,6)

#Rolling the dice
print('Die 1 lands on a', Die1)
print('Die 2 lands on a', Die2)

if Die1 == Die2:
    #it is a draw
    print('It is a draw.')
else:
    if Die1 < Die2:
        #Die2 wins
        print('Die 2 wins.')
    else:
        #Die1 wins
        print('Die 1 wins.')

Quick Functions

Type function

To find what type of variable a variable is:

    #for variable = var
type(var)

    #to print this:
print(type(var))

Remainder Function

To find the remainder of a division:

    # a is the numerator
    # b is the denominator
    # r is the remainder
r = a//b
print(r)

I/O Files

Data can be input directly or indirectly to a code. Direct inputs are provided interactively, while the programme is running (e.g. using a keyboard and the input() function). Indirect inputs are when data is read from a predefined location, such as a file.


Writing to Files

Just like libraries, files need to be uploaded before they can be accessed:

f = open('FileName.txt', 'w')

This opens the file 'FileName.txt' to write to it, and assigns it to variable f. To write something to the file, for example a number of strings, use the write command:

    # To add strings a and b to the file on separate lines:
f.write(str(a) + '\n')
f.write(str(b) + '\n')

To write from a list:

    # To add a list to a file, with each element on a new line:
for item in a:
    f.write(str(item) + '\n')

To create a file with numbers from 1 to 100:

f = open('Numbers100.txt', 'w')
R = range(1, 101)
for i in R:
	f.write(str(i) + '\n')
f.close()

Reading from Files

Instead of using a 'w', an 'r' represents reading:

f = open('FileName.txt', 'r')

By default, the program will read a file exactly as it is:

f = open('FileName.txt, 'r')
a = f.read()
f.close()
print(a)

If, however, you want to compile all the lines into a list, use the .readlines command:

f = open('FileName.txt', 'r')
a = f.readlines()
f.close
print(a)

This produces a list of strings with operators '\n' attached. The new line trail can be removed using a strip function:

f = open('FileName.txt', 'r')
a = f.readlines()
f.close()
b = []
for items in a:
    b = b + [items.rstrip()]
print(b)


Creating a List of Integers from a .txt File

f = open('IntegerList.txt', 'r')
a = f.readlines()
f.close()
b = []
for items in a:
    b = b + [int(items.rstrip())]

Closing Files

When finished with a file, it needs to be closed (this is like saving it):

f.close()

Matrices

Python is a very powerful tool for computing data stored in matrices.


Defining a Matrix from a List

  • n is the number of rows

  • m is the number of columns

  • 'List' is... the list

def Matrix(n, m, List):
    row = []
    matrix = [0 for height in range(0, n)
    for p in range(0, n, 1):
        for i in range((p*m), ((p+1)*m)):
            row = row + [List[i]]
        matrix[p] = row
        row = []
    return matrix

Finding the Transpose of a Matrix

  • M is the matrix we want to transpose

  • n is the number of rows in M

  • m is the number of columns in M

def Transpose(n, m, M):
    #M is an nxm matrix
    row = []
    transpose = [0 for height in range(0, m)]
    #B is the column number
    for B in range(0, m):
        #A is the row number
        for A in range(0, n):
            row = row + [M[A][B]}
        transpose[B] = row
        row = []
    return transpose

Finding the Product of Two Matrices

def MatrixMult(A, B):
    #A and B are the matrices, AB = C
    if len(A[0]) == len(B):
        add = 0
        C = [[0 for width in range(len(B[0]))] for height in range(len(A))[
        for x in range(0, len(A)):
            for y in range(0, len(B[0])):
                for z in range(0, len(A[0])):
                    add = add + (A[x][z]*B[z][y])
                C[x][y] = add
                add = 0
        return C
    else:
        return


Approximating Pi

import matplotlib.pyplot as plot
import random as rn

print('Input n:')
n = input()
n=int(n)
r = range(1,n)

xout = []
xin = []
yout = []
yin = []

pointsinside = 0
pointsoutside = 0

for c in r:
    x = rn.random()-0.5
    y = rn.random()-0.5
    if(x**2 + y**2 < 0.25):
        xin = xin + [x]
        yin = yin + [y]
    else:
        xout = xout + [x]
        yout = yout + [y]

pi = len(xin)*4/n
print('Pi =', pi)

plot.scatter(xin, yin, color = 'green')
plot.scatter(xout, yout, color = 'black')




White Logo.png

Notes by Category

University Engineering

A-Level Further Maths

Do not download, print, reproduce, or modify these notes in any way. To share, only use the share buttons for each notes sheet or a direct link to a notes sheet or any page on engineeringnotes.net. Always credit such sharing with a link that reads 'EngineeringNotes.net'

If you would like to use these notes in any other way or for any other purpose, please contact us. We will be happy to help accommodate your  requests in a way that protects our work and rights.

© 2021 EngineeringNotes.net, All Rights Reserved     •     Privacy Policy