これに「似ている」他のいくつかのSOの質問(およびグーグルで検索したトン)を見てきましたが、どれも私の質問に正しく適合していないようです。
指定した文字列内の文字のみを含む、固定長ではない一意のテキスト文字列を作成しようとしています。たとえば、大文字と小文字の a-zA-Z 文字で構成されます。(この例では、a、b、および c の小文字のみを使用します)
このようなもの(以下の壊れたコード)
def next(index, validCharacters = 'abc'):
return uniqueShortAsPossibleString
index 引数は、テキスト文字列に関連するインデックス (整数) です。たとえば、次のようになります。
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'
などなど。文字列:
- 一意である必要があります。識別子として使用します。a-zA-Z 文字のみを使用できます
- できるだけ短く、インデックス番号が小さいほど短くなります (上記の例を参照)。
- 指定された引数文字列で指定された文字のみを含む
結論として、整数のインデックス値を、指定された文字を含む一意の短い文字列に関連付ける next() 関数をどのように記述すればよいでしょうか?
PS 私は SO の初心者です。このサイトは何年にもわたって私を大いに助けてくれました。アカウントを作成したり、質問したりしたことはありませんが (今まで)、自分のことをうまく説明できていることを本当に願っています。これで達成しようとしています。