2017-11-18 16:45:28 +01:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
"""
|
|
|
|
Napisz funkcję leet_speak, która podmienia w podanym napisie niektóre litery
|
|
|
|
na podobnie wyglądające cyfry: 'e' na '3', 'l' na '1', 'o' na '0', 't' na '7'.
|
|
|
|
Np. leet('leet') powinno zwrócić '1337'.
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
def leet_speak(text):
|
2017-11-20 09:56:26 +01:00
|
|
|
slownik = {'e':3, 'l':1, 'o':0, 't':7}
|
|
|
|
dekod = ''
|
2017-11-18 16:45:28 +01:00
|
|
|
|
2017-11-20 09:56:26 +01:00
|
|
|
for znak in text:
|
|
|
|
if znak in slownik:
|
|
|
|
dekod += slownik[znak]
|
|
|
|
else:
|
|
|
|
dekod += znak
|
|
|
|
|
|
|
|
return dekod
|
2017-11-18 16:45:28 +01:00
|
|
|
|
|
|
|
def tests(f):
|
|
|
|
inputs = [['leet'], ['do not want']]
|
|
|
|
outputs = ['1337', 'd0 n07 wan7']
|
|
|
|
|
|
|
|
for input, output in zip(inputs, outputs):
|
|
|
|
if f(*input) != output:
|
|
|
|
return "ERROR: {}!={}".format(f(*input), output)
|
|
|
|
break
|
|
|
|
return "TESTS PASSED"
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
print(tests(leet_speak))
|