Python CodeBat

Python CodeBat#

List-2 problems#

def count_evens(nums):
  result = 0
  for x in nums:
    if x % 2 == 0:
      result += 1
  return result
def big_diff(nums):
  smallest = nums[0]
  biggest = nums[0]
  for x in nums:
    if x > biggest:
      biggest = x
    if x < smallest:
      smallest = x
  return biggest - smallest
def centered_average(nums):
  smallest = nums[0]
  biggest = nums[0]
  totalSum = 0
  for x in nums:
    if x < smallest:
      smallest = x
    if x > biggest:
      biggest = x
    totalSum += x
  
  totalSum = totalSum - smallest - biggest
  mean = totalSum / (len(nums) - 2)
  return mean
def sum13(nums):
  result = 0
  skip = False
  for x in nums:
    if x == 13:
      skip = True
    elif skip:
      skip = False
    else:
      result += x
  return result
def sum67(nums):
  result = 0
  skip = False
  for x in nums:
    if x == 6:
      skip = True
    elif x == 7 and skip:
      skip = False
    elif not(skip):
      result += x
  return result
def has22(nums):
  twoFound = False
  for x in nums:
    if x == 2 and twoFound:
      return True
    elif x == 2:
      twoFound = True
    else:
      twoFound = False
  return False

String-2 problems#

def double_char(str):
    result = ''
    for c in str:
        result += c*2
    return result
def count_hi(str):
  hFound = False
  result = 0
  for c in str:
    if c == 'i' and hFound:
      result += 1
      hFound = False
    elif c == 'h':
      hFound = True
    else:
      hFound = False
  return result
def cat_dog(str):
  cats = 0
  dogs = 0
  for x in range(0, len(str)):
    if x + 2 < len(str): 
      if str[x] == 'c' and str[x+1] == 'a' and str[x+2] == 't':
        cats += 1
      if str[x] == 'd' and str[x+1] == 'o' and str[x+2] == 'g':
        dogs += 1
  return cats == dogs
def count_code(str):
  codes = 0
  for x in range(0, len(str)):
    if x + 3 < len(str): 
      if str[x] == 'c' and str[x+1] == 'o' and str[x+3] == 'e':
        codes += 1
  return codes
def end_other(a, b):
  turnA = a[::-1].lower()
  turnB = b[::-1].lower()
  length = min(len(a), len(b))
  for x in range(0, length):
    if turnA[x] != turnB[x]:
      return False
  return True
def xyz_there(str):
  for x in range(0, len(str)-2):
    if str[x] == 'x' and str[x+1]== 'y' and str[x+2] == 'z':
      if x == 0:
        return True
      elif str[x-1] != '.':
        return True
  return False