Írjunk egy függvényt, ami megvicceli a felhasználót a következő módokon:
Ha meghívod a függvényt, csak fusson le visszatérési érték nélkül, és a felhasználó tudjon tovább dolgozni. Miután meghívtad, a következő furcsaságok érjék a felhasználót a továbbiakban:
max
függvény két érték maximuma helyett azok minimumumát adja meg,min
függvény két érték minimuma helyett azok maximumát adja meg,print
függveny minden alkalommal végezze el a dolgát, aztán írja ki, hogy "Self destruct in 10 seconds", majd számoljon vissza a "10 9 8 7 6 5 4 3 2 1" számok kiírásával masodpercenként.Hozzuk definiáljuk a kért függvényt! A függvények átírását úgy oldjuk meg, hogy a módosítandó függvényt beleírjuk egy ideiglenes változóba, majd a globális változót az ideiglenes változók segítségével módosítjuk.
def trololo():
tempmax = max # ideiglenes max-függvény
tempmin = min # ideiglenes min-függvény
global min
global max
min = tempmax # a globális változók felülírása
max = tempmin
tempprint = print
from time import sleep # a sleep() függvényt meg kell hívnunk
def ujprint(*args, **kwargs):
tempprint(*args, **kwargs) # Az új print-függvény argumentumai szerint kell a régi plottal ábrázolni
tempprint("Self destruct in 10 seconds") # Majd visszaszámolni
for i in range(10, 0, -1):
tempprint(i)
sleep(1)
global print
print = ujprint
Eztuán meghívjuk, és kipróbáljuk:
trololo()
max(1, 2, 3)
min(1, 2, 3)
print('Gyanútlanul kiírok valamit.')