# Задача: От A до Z
''' Напишите функцию, которая будет принимать строку — диапазон букв английского алфавита. Функция должна возвращать строку из всех букв этого диапазона. Если в диапазоне заданы заглавные буквы, в результирующей строке тоже должны быть заглавные.

Примечания
Диапазон будет задаваться двумя буквами с дефисом между ними.
Обрабатывать ошибки не нужно (при указании диапазона обе буквы будут в одинаковом регистре и располагаться будут в алфавитном порядке). 
Примеры
gimme_the_letters("a-z") ➞ "abcdefghijklmnopqrstuvwxyz"
gimme_the_letters("h-o") ➞ "hijklmno"
gimme_the_letters("Q-Z") ➞ "QRSTUVWXYZ"
gimme_the_letters("J-J") ➞ J" 
'''

# Первый Вариант: Успех
def gimme_the_letters1(sp):
	return "".join(chr(n) for n in range(ord(sp[0]), ord(sp[-1])+1))
gtl1 = gimme_the_letters1("a-z"), gimme_the_letters1("h-o"), gimme_the_letters1("Q-Z"), gimme_the_letters1("J-J")
print(gtl1)

# Второй Вариант: Успех
def gimme_the_letters2(spectrum1):
	a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	x, y = spectrum1.split('-')
	return a[a.index(x):a.index(y) + 1]
gtl2 = gimme_the_letters2("a-z"), gimme_the_letters2("h-o"), gimme_the_letters2("Q-Z"), gimme_the_letters2("J-J")
print(gtl2)

# <NAME>: Успех 
def gimme_the_letters3(spectrum2):
	start, end = [ord(i) for i in spectrum2.split('-')]
	return ''.join(chr(i) for i in range(start, end+1))
gtl3 = gimme_the_letters3("a-z"), gimme_the_letters3("h-o"), gimme_the_letters3("Q-Z"), gimme_the_letters3("J-J")
print(gtl3)
# Задача: От A до Z
''' Напишите функцию, которая будет принимать строку — диапазон букв английского алфавита. Функция должна возвращать строку из всех букв этого диапазона. Если в диапазоне заданы заглавные буквы, в результирующей строке тоже должны быть заглавные.

Примечания
Диапазон будет задаваться двумя буквами с дефисом между ними.
Обрабатывать ошибки не нужно (при указании диапазона обе буквы будут в одинаковом регистре и располагаться будут в алфавитном порядке). 
Примеры
gimme_the_letters("a-z") ➞ "abcdefghijklmnopqrstuvwxyz"
gimme_the_letters("h-o") ➞ "hijklmno"
gimme_the_letters("Q-Z") ➞ "QRSTUVWXYZ"
gimme_the_letters("J-J") ➞ J" 
'''

# Первый Вариант: Успех
def gimme_the_letters1(sp):
	return "".join(chr(n) for n in range(ord(sp[0]), ord(sp[-1])+1))
gtl1 = gimme_the_letters1("a-z"), gimme_the_letters1("h-o"), gimme_the_letters1("Q-Z"), gimme_the_letters1("J-J")
print(gtl1)

# Второй Вариант: Успех
def gimme_the_letters2(spectrum1):
	a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	x, y = spectrum1.split('-')
	return a[a.index(x):a.index(y) + 1]
gtl2 = gimme_the_letters2("a-z"), gimme_the_letters2("h-o"), gimme_the_letters2("Q-Z"), gimme_the_letters2("J-J")
print(gtl2)

# <NAME>: Успех 
def gimme_the_letters3(spectrum2):
	start, end = [ord(i) for i in spectrum2.split('-')]
	return ''.join(chr(i) for i in range(start, end+1))
gtl3 = gimme_the_letters3("a-z"), gimme_the_letters3("h-o"), gimme_the_letters3("Q-Z"), gimme_the_letters3("J-J")
print(gtl3)
# Задача: От A до Z Напишите функцию, которая будет принимать строку — диапазон букв английского алфавита. Функция должна возвращать строку из всех букв этого диапазона. Если в диапазоне заданы заглавные буквы, в результирующей строке тоже должны быть заглавные.
 
 Примечания
 Диапазон будет задаваться двумя буквами с дефисом между ними.
 Обрабатывать ошибки не нужно (при указании диапазона обе буквы будут в одинаковом регистре и располагаться будут в алфавитном порядке). 
 Примеры
 gimme_the_letters("a-z") ➞ "abcdefghijklmnopqrstuvwxyz"
 gimme_the_letters("h-o") ➞ "hijklmno"
 gimme_the_letters("Q-Z") ➞ "QRSTUVWXYZ"
 gimme_the_letters("J-J") ➞ J" # Первый Вариант: Успех # Второй Вариант: Успех # <NAME>: Успех