1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| qwerty = "-=qwertyuiop[]asdfghjkl;'zxcvbnm,./_+QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?"
| dvorak = "[]',.pyfgcrl/=aoeuidhtns-;qjkxbmwvz{}\"<>PYFGCRL?+AOEUIDHTNS_:QJKXBMWVZ"
|
|
| to_dvorak = str.maketrans(qwerty, dvorak)
| to_qwerty = str.maketrans(dvorak, qwerty)
|
|
| def translate(input, translation):
| """
| >>> translate('dvorak', to_dvorak)
| 'ekrpat'
| >>> translate('qwerty', to_qwerty)
| 'x,dokt'
| """
| return input.translate(translation)
|
|
| def _translate_stream(stream, translation):
| """
| >>> import io
| >>> _translate_stream(io.StringIO('foo'), to_dvorak)
| urr
| """
| print(translate(stream.read(), translation))
|
|