Seite 1 von 1
Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 18:13
von erdmulch
Hallo zusammen,
kann mir jemand sagen, wie ich innerhalb einer Funktion eine Funktion aufrufen kann?
siehe folgendes Beispiel.
Es kommt immer die Fehlermeldung:
NameError: name 'functionB' is not defined
Code: Alles auswählen
def functionB():
print("Funktion B wurde aufgerufen")
def functionA():
print("Funktion A wurde aufgerufen")
funktionB()
Re: Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 18:17
von __deets__
Joa, mal deutsch mal englisch schreiben geht halt nicht. Schau mal genau hin.
Re: Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 18:29
von erdmulch
geht aber trotzdem nicht...
dies ist auch nur ein Beispiel.
Code: Alles auswählen
def functionB():
print("Function B wurde aufgerufen")
def functionA():
print("Function A wurde aufgerufen")
functionB()
functionA()
Re: Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 18:32
von __deets__
Doch, genau dieser Code von dir geht bei mir.
Re: Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 18:35
von Sirius3
@erdmulch: wenn Dein eigentliches Programm nicht funktioniert, hilft es nichts, funktionierende Beispiele zu posten.
Re: Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 19:15
von erdmulch
ja, ihr habt ja recht.
ich weiß nun auch wo der Fehler leigt.
die if Anweisung hat immer den Wert False.
kann mir jemand sagen woran das liegt?
wir haben ja den Monat 7 im Jahr, eigentlich müsste es hier doch True sein, oder nicht?
Code: Alles auswählen
#prüfen ob der Zeitraum zwischen Mai und August liegt, wenn diese Bedingung wahr ist, wird ein Text ausgegeben
if time.strftime("%m")>= "5" and time.strftime("%m")<= "8":
print(IF-Anweisung hat funktioniert)
Re: Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 19:23
von Sirius3
man sollte einen Monat nicht per Stringvergleich vergleichen. Nimm das datetime-Modul:
Code: Alles auswählen
if 5 <= datetime.datetime.now().month <= 8:
print("juhu")
Re: Funktion innerhalb einer Funktion aufrufen
Verfasst: Montag 2. Juli 2018, 19:26
von __blackjack__
@erdmulch: Probier's doch einfach aus:
Code: Alles auswählen
In [226]: time.strftime("%m")
Out[226]: '07'
In [227]: time.strftime("%m") >= "5"
Out[227]: False
Ist an sich ja auch eine doofe Idee da mit der Zeichenkettendarstellung zu arbeiten. Es gibt das `datetime`-Modul mit so schönen Datums-Objekten.
Code: Alles auswählen
In [228]: from datetime import date as Date
In [229]: Date.today()
Out[229]: datetime.date(2018, 7, 2)
In [230]: Date.today().month
Out[230]: 7
In [231]: Date.today().month >= 5
Out[231]: True
In [232]: 5 <= Date.today().month <= 8
Out[232]: True