curriculum/challenges/english/blocks/daily-coding-challenges-python/69b58ce40693f140c84c855a.md
Given an array of sequential integers, with multiples of 3 and 5 replaced, determine if it's a valid FizzBuzz sequence.
In a valid FizzBuzz sequence:
is_fizz_buzz([1, 2, "Fizz", 4, "Buzz"]) should return True.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_fizz_buzz([1, 2, "Fizz", 4, "Buzz"]), True)`)
}})
is_fizz_buzz([13, 14, "FizzBuzz", 16, 17]) should return True.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_fizz_buzz([13, 14, "FizzBuzz", 16, 17]), True)`)
}})
is_fizz_buzz([1, 2, "Fizz", 4, 5]) should return False.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_fizz_buzz([1, 2, "Fizz", 4, 5]), False)`)
}})
is_fizz_buzz(["FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]) should return True.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_fizz_buzz(["FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]), True)`)
}})
is_fizz_buzz([1, 2, "Fizz", "Buzz", 5]) should return False.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_fizz_buzz([1, 2, "Fizz", "Buzz", 5]), False)`)
}})
is_fizz_buzz([97, 98, "Buzz", "Fizz", 101, "Fizz", 103]) should return False.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_fizz_buzz([97, 98, "Buzz", "Fizz", 101, "Fizz", 103]), False)`)
}})
is_fizz_buzz(["Fizz", "Buzz", 101, "Fizz", 103, 104, "FizzBuzz"]) should return True.
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertIs(is_fizz_buzz(["Fizz", "Buzz", 101, "Fizz", 103, 104, "FizzBuzz"]), True)`)
}})
def is_fizz_buzz(arr):
return arr
def is_fizz_buzz(arr):
start = None
for i, val in enumerate(arr):
if isinstance(val, int):
start = val - i
break
if start is None:
return False
for i in range(len(arr)):
n = start + i
if n % 15 == 0:
expected = "FizzBuzz"
elif n % 3 == 0:
expected = "Fizz"
elif n % 5 == 0:
expected = "Buzz"
else:
expected = n
if arr[i] != expected:
return False
return True