Simple:
computepay je funkcija koja prima dva argumenta (h i r) odnosno ante i mate ili kako god hoćeš ih možeš nazvati.
Kada se program izvršava, najprije se izvršava
try pa se zatim poziva
computepay funkcija čiji se rezultat sprema u varijablu pay te sa
print pay ispisiva taj rezultat.
Ukratko, kada poziva funkciju predaje argumente hours i rate koji su neka realna brojčana vrijednost. Ti argumenti se pri pozivu funkcije kopiraju u varijable h i r (moglo ih se isto nazvati hours i rate ali vjerojatno namjerno nije kako ne bi mislio da radiš direktno sa donjim varijablama već njihovim kopijama).
Ovisno o tome je li h <= 40 rade se zadane operacije a rezultat se sprema u varijablu p. Tu varijablu, odnosno njenu vrijednost moramo zapamtiti prilikom izvršenja funkcije. Za taj dio je zaslužan return p koji kod poziva pay = computepay(hours, rate) ima ulogu da u varijablu pay spremi vrijednost varijable p iz funkcije.
Nadam se da nisam zakompliciro s odgovorom
to bi izgledalo ovako na primjeru:
ukoliko za Enter hours unesemo 5.5 a za Enter rate unesemo 3.5 onda pozivamo funkciju computepay koja bi izgledala computepay(5.5, 3.5). Ulaskom u funkciju varijabla h iznosi 5.5 a varijabla r 3.5. Iizvršava se if uvjet jer h nije veći od 40 pa je rezultat 19.25 i taj rezultat se sprema u varijablu p. Else dio se preskače i funkcija vraća vrijednost 19.25 te se ta vrijednost sprema u varijablu pay jer smo tako rekli pri pozivu funkcije (pay = computepay(...)).
Kada isprintamo varijablu p (print p) vidit ćemo da je rezultat 19.25.