私はすべての単語を読み上げたいテキストファイルの中に単語リストを持っています。たとえば、「Hello」という単語がある場合、「5E11O」に変わります。言い換えれば、プログラムは単語内のすべての文字を自動的に置き換えることができるはずです。Pythonでleetを実行するには?
これは可能ですか?ありがとう
私はすべての単語を読み上げたいテキストファイルの中に単語リストを持っています。たとえば、「Hello」という単語がある場合、「5E11O」に変わります。言い換えれば、プログラムは単語内のすべての文字を自動的に置き換えることができるはずです。Pythonでleetを実行するには?
これは可能ですか?ありがとう
それは完全に定義する方法に依存します。
Hello
- >5E11O
を翻訳するには、H->5, e->E, l->1, l->1, o->0
のように各文字の単純な1:1変換であれば難しくありません。この文字を文字変換に定義するには、string.maketransを使用します。
hacker-lingo
- >l33tsp33k
のように、より完全なleet orthographiesをサポートしたい場合は、さらに難しくなります。これには文字数の短縮も含まれます。
さまざまなソースコードの取り組みがあります。試してみてください。靴が合うかどうかを確認してください。私はリーレットがまだISO標準化を行っていないと考えています...; - }
ここでは、一連の1対1の交換を連続して行う方法の1つです。 letter-for-letter変換の前に "全体の単語"変換がどのように適用されるかに注意してください。
replacements = (('hacker','haxor'), ('elite','eleet'), ('a','4'), ('e','3'),
('l','1'), ('o','0'), ('t','+'))
my_string = "I am an elite hacker."
new_string = my_string
for old, new in replacements:
new_string = new_string.replace(old, new)
print (new_string)
ができます:
I 4m 4n 3133+ h4x0r.
興味深い拡張は、いくつかの代替のために複数の選択肢を可能にすることです。たとえば、文字l
は、数字1
またはパイプ記号|
のいずれかとしてレンダリングできます。
私はeasiesのキャラクタを作り、それが
from utilitybelt import change_charset
origspace = "abcdefghijklmnopqrstuvwxyz"
keyspace = "abcd3fgh1jklmnopqr57uvwxyz"
print(change_charset("leetspeak",origspace, keyspace))
#l3375p3ak
私は実際に「セロ」ではなく、「HELLO」、J0は言うことをかなり確信して変換することであると思います。 – detly
はい、可能です。あなたはすでにpythonを知っていますか? – Teak
まだ私はまだ初心者ですから、まだ残念ながらそれはあまり知られていませんが、私は学びたいと思っています:) – Matthew