цикл for используется для итерации последовательности, и в этом случае у вас есть список [5,12]
, для его печати всего 5 и 12, потому что у вас есть:
for i in [start,end]: # for i in [5,12]:
где в первой итерации я буду 5, а во второй итерации я буду 12.
вы должны сделать это следующим образом:
def asc_range(start,end,increment = 1):
i = start
while i <= end:
if i != 7:
yield i
i += increment
print (list(asc_range(5,12)))
edit:
вы можете сделатьчто-то вроде этого, но у него нет смысла делать это следующим образом:
ar=[]
def asc_range(start,end):
for i in [start]:
if i == end:
ar.append(end)
return ar
else:
if i != 7:
ar.append(i)
return asc_range(i + 1, end)
print (list(asc_range(5,12)))