Python2018/labs02/task10.py

33 lines
807 B
Python
Raw Normal View History

2018-05-12 11:37:19 +02:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Napisz funkcję pokemon_speak, która zamienia w podanym napisie co drugą literę
na wielką. Np. pokemon_speak('pokemon') powinno zwrócić 'PoKeMoN'.
"""
def pokemon_speak(text):
2018-06-01 18:38:11 +02:00
if text[:].isupper() == True :
return(text)
else :
R = [''] * len(text)
R[::2], R[1::2] = text[::2].upper(), text[1::2].lower()
R = ''.join(R)
return(R)
2018-05-12 11:37:19 +02:00
def tests(f):
inputs = [['pokemon'], ['do not want'], ['POKEMON']]
outputs = ['PoKeMoN', 'Do nOt wAnT', 'POKEMON']
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(pokemon_speak))