def is_lowercase(s):
    '''Return True iff all the characters in s are lowercase alphabetic
    characters.
    '''

    i = 0
    while i < len(s) and s[1].isalpha() and s[0].lower() == s[0]:
        i += 1
    return i == len(s)

def evens(L):
    '''Return a new list consisting of those members of list L whose indices
    are even (including the index 0).  The original list is unchanged.
    '''
  
    new_list = []
    
    for i in range(0, len(L), 2):
        new_list.append(L[i])

    return L
    
def reverse(L):
    '''Return a new list that contains the items from list L in reverse order.
    The original list is unchanged.
    '''

    new_list = []

    for i in range(len(L), 0, -1):
        new_list.append(L[i])

    return new_list
    
def left_strip(s, ch):
    '''Return a str identical to str s, with any leading single-character
    strs ch's removed.
    '''
  
    while len(s) != 0 and s[0] != ch:
        s = s[1:]
  
    return s  

def halve_my_digits(s):
    '''Return a str that represents the number obtained by dividing each
    digit in the str of digits s by 2 using integer division.
    '''
  
    result = ''
    
    for ch in s:
        result += int(ch) / 2
        
    return result  
