2018-05-12 11:37:19 +02:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
"""
|
|
|
|
Napisz funkcję big_no zwracającej tzw. "Big 'NO!'"
|
|
|
|
(zob. http://tvtropes.org/pmwiki/pmwiki.php/Main/BigNo)
|
|
|
|
dla zadanej liczby tj. napis typu "NOOOOOOOOOOOOO!", gdzie liczba 'O' ma być
|
|
|
|
równa podanemu argumentem, przy czym jeśli argument jest mniejszy niż 5,
|
|
|
|
ma być zwracany napis "It's not a Big 'No!'".
|
|
|
|
"""
|
|
|
|
|
|
|
|
def big_no(n):
|
2018-05-31 23:55:47 +02:00
|
|
|
if n<5:
|
|
|
|
tekst = "It's not a Big 'No!'"
|
|
|
|
else:
|
|
|
|
lista=["N"]
|
|
|
|
for i in range(1,n+1):
|
|
|
|
lista.append("O")
|
|
|
|
lista.append("!")
|
|
|
|
tekst = ''.join(lista)
|
|
|
|
return tekst
|
2018-05-12 11:37:19 +02:00
|
|
|
|
|
|
|
def tests(f):
|
|
|
|
inputs = [[5], [6], [2]]
|
|
|
|
outputs = ["NOOOOO!", "NOOOOOO!", "It's not a Big 'No!'"]
|
|
|
|
|
|
|
|
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(big_no))
|