Minuten in Zeitformat rechner

  • Themenstarter Themenstarter SkiN-X
  • Beginndatum Beginndatum
S

SkiN-X

Guest
Hi, also ich bin seit gestern abend in einem John-cluster (mehrer clienten connecten zu einem server und cracken gemeinsam eine oder mehrere etc/passd bzw. etc/shadow files)

Naja, soweit so gut. Nur da steht imo 2043180 Mins remaining, da mir das nicht gut genug bin wollte ich das in ein verständlicheres Zeitformat umwandeln. Dazu habe ich gestern Abeend gleich ein Python Script geschrieben:

Code:
# Minuten in Time_format

def zeit(m):

    #minuten
    if m == 1:
        minute = " Minute"
    else:
        minute = " Minuten"
    
    if m < 60:
        print m, minute
    else:
        
        #stunden                             
        h = m/60
        mr = m%60
        if h == 1:
            stunde = " Stunde"
        else:
            stunde = " Stunden"
        if mr == 1:
            minute = " Minute"
        else:
            minute = " Minuten"
            
        if h <= 24:
            print h, stunde, mr, minute
            
        else:

            #tage
            d = h/24
            hr = h%24
            if d == 1:
                tage = " Tag"
            else:
                tage = " Tage"
            if hr == 1:
                stunde = " Stunde"
            else:
                stunde = " Stunden"
            if mr == 1:
                minute = " Minute"
            else:
                minute = " Minuten"
            print d, tage, hr, stunde , mr , minute      

def main():
    m = input("Minuten: ")
    zeit(m)


main()

Naja, ist de Code in Ordnung? oder zu umständlich? oder sollte ich es, wenn es von minuten in stunden geht einer neuen funktion übergeben, und bei tagen ebendso?

Oder hättet ihr eine ganz andere Lösung?

Naja mir ist es wichtig dies selbst zu schreiben, weil eine fertige klasse oder ähnliches zu benutzenist ja keine richtige mühe...

naja danke schonmal für die antworten und Vorschläge

.mfg
 
Ich kann zwar nicht wirklich Python... habs aber mal versucht... also nicht wundern, wenn doch viel einfacher geht...
Code:
def zeit(m):
	h = m / 60
	m %= 60
	t = h / 24
	h %= 24
	
	if t == 1:
		st = "Tag"
	elif t > 1:
		st = "Tage"
	
	if h == 1:
		sh = "Stunde"
	elif h > 1 or t > 0:
		sh = "Stunden"

	if m == 1:
		sm = "Minute"
	elif m > 1 or m == 0 or t > 0 or h > 0:
		sm = "Minuten"
		
	if t > 0:
		print t, st, h, sh, m , sm
	elif h > 0:
		print h, sh, m , sm
	else:
		print m , sm

def main():
    m = input("Minuten: ")
    zeit(m)

main()
 
gut, ich werde mir gleich mal deine Lösung genauer betrachten, ich bin gerade mit meinem zweiten script fertig geworden, jetzt ist alles in funktionen untergebracht, ich bin mir aber auchnicht sicher ob das noch kürzer/ bzw einfacher zu lösen ist:

Code:
#!/usr/bin/python
#
# Minuten into Time by SkiN-X


def minuten(z):

    #minuten
    if z == 1:
        minute = "Minute"
    else:
        minute = "Minuten"
    
    if z < 60:
        print z, minute
    else:
        stunden(z)


def stunden(z):

    #stunden                             
    h = z/60
    zr = z%60

    if h == 1:
        stunde = "Stunde"
    else:
        stunde = "Stunden"
    if zr == 1:
        minute = "Minute"
    else:
        minute = "Minuten"
        
    if h < 24:
        print h, stunde, zr, minute
            
    else:
        tage(h, zr, minute)
            
def tage(h, zr, minute):
    #tage
    d = h/24
    hr = h%24

    if d == 1:
        tage = "Tag"
    else:
        tage = "Tage"
    if hr == 1:
        stunde = "Stunde"
    else:
        stunde = "Stunden"
    if d < 31:
        print d, tage, hr, stunde , zr , minute

    else:
        monate(d, hr, stunde, zr, minute)

def monate(d, hr , stunde, zr, minute):
    #monate
    m = d/31
    dr = d%31

    if m == 1:
        monate = "Monat"
    else:
        monate = "Monate"
    if dr == 1:
        tage = "Tag"
    else:
        tage = "Tage"
    if m < 12:
        print m, monate, dr, tage, hr, stunde, zr, minute
        
    else:
        jahre(m, dr, tage, hr, stunde, zr, minute)

def jahre(m, dr, tage, hr, stunde, zr, minute):
    #jahre
    j = m/12
    mr = m%12

    if j == 1:
        jahre = "Jahr"
    else:
        jahre = "Jahre"
    if mr == 1:
        monte = "Monat"
    else:
        monate = "Monate"

    print j, jahre, mr, monate, dr, tage, hr, stunde, zr, minute

def main():
    z = input("Minuten: ")
    minuten(z)


main()

bitte um eventuelle bessere möglichkeiten bzw tipps, thx

.mfg
 
Zurück
Oben