def twice_if_odd(num):
    rem = num % 2
    return num * rem + num

def twice_if_odd_half_if_even(num):
    # a way:
    rem = num % 2
    return 1.5 * num * rem + 0.5 * num

    # a better way:
    if num % 2 == 0:
        return num/2
    else:
        return num * 2


def printing_function(x):
    if x == 5:
        print('x is 5')
    else:
        print('x is not 5')

    print('Always happens')

    if x % 5 == 0:
        print('x is divisible by 5')
    else:
        print('x is not divisible by 5')

def letter_grade(grade):
    if type(grade) != int and type(grade) != float:
        return 'Must input a numerical Grade!'
    elif grade >= 90:
        letter = 'A'
    elif grade >= 80:
        letter = 'B'
    elif grade >= 70:
        letter = 'C'
    elif grade >= 60:
        letter = 'D'
    else:
        letter = 'F'

    return 'Grade is ' + letter

def isp_calculator(base, megabytes):
    """
    An internet service provider charges a base rate per Megabyte (MB) transferred
    depending on market conditions.  In addition to the base, transfers between 100
    and 500 MB are charged an additional $0.05 per MB plus 33% of the base.  Data
    transfers between 500 MB and 1500 MB are charged 1.44 times the base plus $0.08
    per MB.  Above 1500 MB is simply twice the base.
    """
    if megabytes <= 100:
        return base * megabytes
    elif megabytes <= 500:
        return (base * 1.33 + 0.05) * megabytes
    elif megabytes <= 1500:
        return (base * 1.44 + 0.08) * megabytes
    else:
        return base * 2 * megabytes

def monus(x, y):
    if x > y:
        return x - y
    else:
        return 0

