<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_all_context_names(context_num):
 """Based on the nucleotide base context number, return a list of strings representing each context. Parameters context_num : int number representing the amount of nucleotide base context to use. Returns ------- a list of strings containing the names of the base contexts """

    if context_num == 0:
        return ['None']
    elif context_num == 1:
        return ['A', 'C', 'T', 'G']
    elif context_num == 1.5:
        return ['C*pG', 'CpG*', 'TpC*', 'G*pA',
                'A', 'C', 'T', 'G']
    elif context_num == 2:
        dinucs = list(set(
            [d1+d2
             for d1 in 'ACTG'
             for d2 in 'ACTG']
        ))
        return dinucs
    elif context_num == 3:
        trinucs = list(set(
            [t1+t2+t3
             for t1 in 'ACTG'
             for t2 in 'ACTG'
             for t3 in 'ACTG']
        ))
        return trinucs