0

一度に複数の文字を切り替えるアルゴリズムをどのように書くことができるのだろうか。私が探しているのは、空白や大文字化をいじることなく、(右側のタイピング) Y、U、I、O、P の各 (左側のタイピング) Q、W、E、R、または T を変更する方法です。 (実際にはシフトキーを使用)テキストとこれをキーボード全体に沿った「ミラー」として(したがって、句読点も含まれます)。

とにかく話題が逸れます。112 の if/elif ステートメントを使用してスパゲッティ コードを記述しなくても、特定の記号を他の特定の記号に変更する方法のみを知っている場合 (その逆とシフト値のため、合計記号を * 4 交換する必要があります)/

文字列内のすべての記号を取得し、文の空白を台無しにせずに、別の記号に切り替えることは可能ですか?

for i in sentence:
    if i == 'Q':
        i = 'Y'
    elif i == 'q':
        i = 'y'
    elif i == # etc...

長すぎるでしょう。

4

2 に答える 2

4
>>> import string
>>> t = string.maketrans("Qq","Yy")
>>> "QqQq".translate(t)
'YyYy'
于 2013-03-08T11:31:06.773 に答える
1

辞書を使う:

In [7]: strs="aAb BcD"

In [8]: dic={'a':'q','A':'w','b':'E','B':'r','c':'A','D':'y'}

In [9]: "".join(dic.get(x,x) for x in strs)
Out[9]: 'qwE rAy'
于 2013-03-08T11:31:01.730 に答える