functions are bits of code which tell you the name of the code you are making so the name is normally defined so it could be def times_tables
the argument is like a veritable which is put in brackets like (num)
code is what makes the program run
in the example above I have used two arguments this code will work out any times tables I put in and it will run in decimals
the how far is asking to what number you would like the table to go to the num is asking what times table you would like