1
0
forked from tdwojak/Python2017
Python2017/labs02/task09_done.py

33 lines
1.0 KiB
Python
Raw Normal View History

2017-12-04 00:25:18 +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'.
"""
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))