From 3c6642dc7ccb91e4a04121440f5732b766274a86 Mon Sep 17 00:00:00 2001 From: s45153 Date: Sun, 3 Dec 2017 23:25:18 +0000 Subject: [PATCH] zad_dom_09 -"- --- labs02/task09_done.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 labs02/task09_done.py diff --git a/labs02/task09_done.py b/labs02/task09_done.py new file mode 100644 index 0000000..d194853 --- /dev/null +++ b/labs02/task09_done.py @@ -0,0 +1,32 @@ +#!/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))