2012-01-01 141 views
0

是有轉換AZERTY鍵盤的字母在QWERTY鍵盤字母和一個模塊反之亦然轉換鍵盤AZERTY到QWERTY鍵盤,反之亦然

要做到這一點,它也必須能夠檢測鍵盤類型,可能嗎?

例如:'data'。 to_qwerty() - >'dqtq''dqtq'。 to_azerty() - >'data'

or a simple解決方案無需輸入每個字母的所有字母?

謝謝你在前進,

+3

我不明白你爲什麼需要知道實際的鍵盤類型。如果鍵盤類型設置正確,您將得到正確的字母。因此,如果鍵盤類型設置錯誤,用戶不會注意,您只需要這樣做。似乎不太可能:-) – 2012-01-01 21:08:53

+0

@DanielRoseman是的,它沒有錯,我只是想翻譯字母,例如,wqi(azerty)= mzai(qwerty),我想我需要檢測鍵盤類型,對不起 – Fred 2012-01-01 21:17:05

回答

3

如果你只是想一個字符串轉換爲另一種,這是相當簡單: (但它確實需要你指定他們從一個如何翻譯成其他)

>>> translate_dict = dict(zip("abcdef", "123456")) 
>>> translate_this = "deadbeef" 
>>> ''.join([translate_dict.get(x) for x in translate_this]) 
'45142556' 

>>> ''.join(map(translate_dict.get, translate_this)) 
'45142556' 

...或任意數量的方式在幾行做到這一點。

如果你想變得很花哨,做一些類似於你在問題中所做的事情(調用一個字符串的方法並將它轉換),那麼你可以看看codecs模塊,它可以讓你做到這一點。需要多一點的工作,但你能夠做到soemthing這樣

>>> mystring.encode('qwerty') 

最大的努力很可能得到了如何翻譯的一切數據。

最簡單的事情可能是在開始鍵入之前確保您有正確的鍵盤映射。 :)