Sprawdziłem kilka innych pytań SO (i tony google), które są "podobne", ale żaden z nich nie pasuje do mojego pytania.Python unikalne tworzenie ciągów
Próbuję utworzyć stałą długość, unikatowy ciąg tekstowy, zawierający tylko znaki w określonym przeze mnie ciągu. Na przykład. składa się z wielkich i małych liter a-zA-Z. (W tym przykładzie należy używać tylko A, B i C, małymi literami)
coś w tym (kod łamany poniżej)
def next(index, validCharacters = 'abc'):
return uniqueShortAsPossibleString
Argument wskaźnik byłby indeksem (liczba całkowita), które odnoszą się do tekstu ciąg, na przykład:
next(1) == 'a'
next(2) == 'b'
next(3) == 'c'
next(4) == 'aa'
next(5) == 'ab'
next(6) == 'ac'
next(7) == 'ba'
next(8) == 'bb'
next(9) == 'bc'
next(10) == 'ca'
next(11) == 'cb'
next(12) == 'cc'
I tak dalej. Łańcuch:
- Musi być unikalny, będę go używał jako identyfikator, a to może być tylko a-zA-Z zwęgla
- tak krótki, jak to możliwe, przy czym indeksy dolne numery najkrótszy (patrz Powyższe przykłady)
- zawierać tylko znaki określone w podanych argumencie validCharacters
Podsumowując, jak mógłbym napisać następną funkcję(), aby odnosić się wartość indeksu całkowitą do unikalnego krótkiego łańcucha ze znaków określonych ?
P.S. Jestem nowy w SO, ta strona pomogła mi przez lata, a ja nigdy nie założyłem konta ani nie zadałem pytania (do tej pory), mam nadzieję, że wykonałem dobrą robotę wyjaśniając, czym jestem próbując to osiągnąć.
Uważaj na powtarzające się odpowiedzi. Chociaż mogą one działać, musisz zapisać stan, jeśli chcesz powrócić tam, gdzie skończyłeś, bez przeliczania wszystkich poprzednich wartości. – agf