Во-первых, давайте напишем функцию, чтобы найти лексикографически следующую строку после текущей (с той же длины, и только с использованием символов A-Z), т.е., чтобы увеличить его. В большинстве случаев это легко - просто увеличивайте последний символ. Однако, если последний символ является наивысшим возможным символом в нашем наборе (z), мы начинаем с a и увеличиваем оставшуюся строку.
def next(s):
front = s[:-1]
last = s[-1]
if last < 'z':
return front + chr(ord(last) + 1)
else:
return next(front) + 'a'
Теперь мы можем использовать, чтобы напечатать все строки в заданном диапазоне:
def print_between(start, end):
s = start
while s <= end:
print (s)
s = next(s)
Пример:
print_between('ab', 'ad')
На каком языке? Английский? Французский? Немецкий? –
@PeterWood: Отредактировано заявление о проблеме. Его в Python – bazinga
Что вы попробовали? Что не сработало? – lodo