Python2017/labs02/task09.py

48 lines
1.3 KiB
Python
Raw Normal View History

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'.
"""
2017-11-27 07:17:06 +01:00
def leet_speak(tekst):
return tekst.replace('o', '0').replace('l', '1').replace('e', '3').replace('t', '7')
2017-11-18 16:45:28 +01:00
def leet_speak(text):
2017-11-27 07:17:06 +01:00
def test_special_cases(self):
"""Przypadki szczególne."""
self.assertEqual(leet_speak(''), '')
self.assertEqual(leet_speak('x'), 'x')
self.assertEqual(leet_speak('o'), '0')
self.assertEqual(leet_speak('banan'), 'banan')
self.assertEqual(leet_speak('1337'), '1337')
self.assertEqual(leet_speak('admin1'), 'admin1')
def test_standard_cases(self):
"""Standardowe przypadki."""
self.assertEqual(leet_speak('leet'), '1337')
self.assertEqual(leet_speak('mouse'), 'm0us3')
self.assertEqual(leet_speak('do not want'), 'd0 n07 wan7')
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))