Variablen Nummerieren
Verfasst: Samstag 6. Februar 2016, 16:56
Sehr geehrte Webgemeinde,
dies ist mein erster Beitrag hier im Forum, weshalb ich bitte, eventuelle Fehler zu entschuldigen.
Ich habe ein Script zum Abruf von Wetterinformationen aus einer XML-Datei erstellt. Dabei möchte ich die Wetterdaten um 6, 7, 13, 14 und 15 Uhr auslesen. Dafür schrieb ich anfangs folgendes:
"time_6" ist hierbei die gewünschte Zeit (6 Uhr) minus "nexttime" (aktuelle Stunde) und wird zur Ermittlung der Position des jeweiligen Wertes verwendet. Bei Himmel und Wetterlage funktioniert dies einwandfrei, bei Temp wird der Multiplikator 9 verwendet, weil da noch einige gleichnamige XML-Tags dazwischenstehen. "p_6" ist ein Indikator. Diese Daten werden dann später ausgegeben.
Soweit funktioniert alles. Ich schreibe den Code also 5x für die gewünschten 5 Uhrzeiten, was ich nun vermeiden möchte. Hier fängt mein Problem an. Ich versuchte, dies mit einer Funktion zu realisieren, so z.B.:
Also dass eine Variable erstellt wird, bei welcher das Ende immer durch "Z" bestimmt wird, also ähnlich, wie oben. Dabei gibt Python mir jedoch immer einen Syntax error aus; egal wie ich diese "Verknüpfung" umbaue, es läuft immer auf Syntax error heraus.
Daher würde ich mich sehr freuen, wenn ihr mir helfen könntet, mein Problem zu lösen.
Mit freundlichen Grüßen
flori8029
dies ist mein erster Beitrag hier im Forum, weshalb ich bitte, eventuelle Fehler zu entschuldigen.
Ich habe ein Script zum Abruf von Wetterinformationen aus einer XML-Datei erstellt. Dabei möchte ich die Wetterdaten um 6, 7, 13, 14 und 15 Uhr auslesen. Dafür schrieb ich anfangs folgendes:
Code: Alles auswählen
time_6 = 6 - int(nexttime)
if time_6 >= 0:
Himmel_6 = Baum.getElementsByTagName('sky')[int(time_6 + str(Z))].firstChild.data
Wetterlage_6 + str(Z) = Baum.getElementsByTagName('condition')[int(time_6)].firstChild.data
Temp_6 = Baum.getElementsByTagName('metric')[(int(time_6) * 9)].firstChild.data
p_6 = True
elif time_6 < 0:
p_6 = FalseSoweit funktioniert alles. Ich schreibe den Code also 5x für die gewünschten 5 Uhrzeiten, was ich nun vermeiden möchte. Hier fängt mein Problem an. Ich versuchte, dies mit einer Funktion zu realisieren, so z.B.:
Code: Alles auswählen
def Funktion(Z):
global "time_" + Z = 6 - int(nexttime)
if "time_" + Z >= 0:
"Himmel_" + Z = Baum.getElementsByTagName('sky')[int("time_" + Z)].firstChild.data
"Wetterlage_" + Z = Baum.getElementsByTagName('condition')[int("time_" + Z)].firstChild.data
"Temp_" + Z = Baum.getElementsByTagName('metric')[(int("time_" + Z) * 9)].firstChild.data
"p_" + Z = True
elif "time_" + Z < 0:
"p_" + Z = False
Funktion(6)
Funktion(7)
Funktion(13)
Funktion(14)
Funktion(15)Daher würde ich mich sehr freuen, wenn ihr mir helfen könntet, mein Problem zu lösen.
Mit freundlichen Grüßen
flori8029