forked from tdwojak/Python2017
33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
|
#!/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'.
|
||
|
"""
|
||
|
text = 'leeeet toe' ## przykładowy tekst, na którym funkcja działa
|
||
|
dic = {'e': '3', 'l': '1', 'o': '0', 't':'7'}
|
||
|
def leet_speak(text, dic):
|
||
|
for i, j in dic.items(): ##wersja dla pythona3, dla pythona2 to było iteritems
|
||
|
text = text.replace(i, j)
|
||
|
return text
|
||
|
txt_changed = leet_speak(text, dic)
|
||
|
print(txt_changed)
|
||
|
|
||
|
## chyba powtarzam błąd z zadania 7 - dla inputs z tests w postaci zagnieżdżonej
|
||
|
## listy nie wywołouje mojej funckji :(
|
||
|
|
||
|
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))
|