Como sabes, la función range() devuelve un rango de números, pero no funciona con alfabetos. En este desafío, intentamos llenar ese vacío.
Escribe una función alpha_range() que reciba tres argumentos: start, stop y step (cuyo valor predeterminado es uno). La función debe devolver una lista de caracteres alfabéticos, desde el carácter inicial hasta el carácter final, según el valor de step.
La función debe cumplir estas condiciones:
Si step es cero, mayor o igual que 26, o menor o igual que -26, devuelve "step must be a non-zero value between -26 and 26, exclusive".
Tanto start como stop deben tener la misma capitalización; de lo contrario, devuelve "both start and stop must share the same case".
Al igual que la función range():
step no debe ser cero.A diferencia de la función range():
alpha_range("a", "f") es la misma que la de alpha_range("f", "a"); consulta los ejemplos).alpha_range("a", "f") ➞ ["a", "b", "c", "d", "e", "f"]
alpha_range("f", "a") ➞ ["a", "b", "c", "d", "e", "f"]
alpha_range("a", "f", -1) ➞ ["f", "e", "d", "c", "b", "a"]
alpha_range("f", "a", -1) ➞ ["f", "e", "d", "c", "b", "a"]
alpha_range("A", "F", -1) ➞ ["F", "E", "D", "C", "B", "A"]
alpha_range("A", "F", 0) ➞ "step must be a non-zero value between -26 and 26, exclusive"
alpha_range("A", "F", -26) ➞ "step must be a non-zero value between -26 and 26, exclusive"
alpha_range("a", "F", -1) ➞ "both start and stop must share the same case"Todos los valores de start y stop en las pruebas son caracteres alfabéticos válidos.