använda egen funktion i modul i Python, problem! [LÖST]
Postat: 22 sep 2008, 08:43
Hejsan
Jag har provat att skapa en modul vars enda funktion skall beräkna och skriva ut hur många dagar, timmar, minuter och sekunder det blir av ett givet antal sekunder. Funktionen i sig själv fungerar perfekt men det verkar som om anropet till denna funktion inte fungerar för den skriver bara ut nollor på alla 4 variabler som finns i funktionen.
Anropet ser ut som följande i huvudprogrammet:
Och funktionen ser ut som följande i modulen:
Men som sagt det verkar inte som att variabeln inSek i anropet ifrån huvudprogrammet får med sig något värde, vad har jag gjort fel någonstans?
Jag har provat att skapa en modul vars enda funktion skall beräkna och skriva ut hur många dagar, timmar, minuter och sekunder det blir av ett givet antal sekunder. Funktionen i sig själv fungerar perfekt men det verkar som om anropet till denna funktion inte fungerar för den skriver bara ut nollor på alla 4 variabler som finns i funktionen.
Anropet ser ut som följande i huvudprogrammet:
Kod: Markera allt
import timekonvert
inSek = 90061
timekonvert.sekundTillDag(inSek)
Kod: Markera allt
# Definition och tilldelning av variabler och konstanter (globala)
DAG = 86400
TIM = 3600
MIN = 60
# Funktionsblock för modulen
##############################################################
def sekundTillDag(inSek): # Funktion som uför omvandling från sekunder till dagar...
# Definition och deklarering av lokala variabler
dagar = 0
timmar = 0
minuter = 0
sekunder = 0
# Utför beräkningen och tilldela svaret till varje lokal variabel
dagar = inSek / DAG
timmar = (inSek % DAG) / TIM
minuter = (inSek - (dagar * DAG + timmar * TIM)) / MIN
sekunder = inSek - (dagar * DAG + timmar * TIM + minuter * MIN)
# Skriv ut svaret och återvänd till anropande funktion
print dagar, "dagar, ", timmar, "timmar, ", minuter, "minuter, ", sekunder, "sekunder.\n"