Spezifische Wetterabfrage über API Code

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lenny2009
User
Beiträge: 1
Registriert: Donnerstag 9. März 2023, 20:34

Hallo, ich frag in meinem Programm die aktuellen Wetterdaten über ein API Key ab. Nun wollte ich ein if Satz schreiben, der abfragt, ob es gerade regnet

if response.status_code == 200 :
data = response.json()
print(data)
weather_main = data ["weather"][0]["main"]
print("Aktuell:",weather_main)
#snow = data ["weather"]["Main"][“Rain“]"
temperature = data["main"]["temp"]-273.15
print("Aktuell liegt die Temperatur bei:",round (temperature, 1), "°C")
temp_min = data ["main"]["temp_min"]-273.15
print("Tiefst Temperatur:",round (temp_min, 1), "°C")
temp_max = data ["main"]["temp_max"]-273.15
print("Höchst Temperatur:",round (temp_max, 1), "°C")
#regen = data ["weather"][0]["description=rain"]

In der markierten Zeile seht ihr meinen Versuch, dass zu lösen, aber das funktioniert nicht. Wisst ihr wie das geht? Vielen Dank für eure Antworten im Voraus!
geraldfo
User
Beiträge: 72
Registriert: Samstag 28. Januar 2023, 20:19
Wohnort: Nähe Wien
Kontaktdaten:

In der markierten Codezeile hast du typografische Anführungszeichen drin.

LG Gerald
Sirius3
User
Beiträge: 18227
Registriert: Sonntag 21. Oktober 2012, 17:20

"Funktioniert nicht" ist eine sehr schlechte Fehlerbeschreibung. Was sollen wir damit anfangen? Wie sieht die Datenstruktur und deren Inhalt aus, wenn es regnet und wenn es nicht regnet? Wo ist das Problem, dies dann in einem if zu vergleichen?
Benutzeravatar
__blackjack__
User
Beiträge: 13939
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Die ”Pfade” mit den Schlüsseln sehen auch komisch/inkonsistent aus. Es gibt offenbar auf zwei Ebenen einen "main"-Schlüssel und auf einer ein "Main". Das würde ich jetzt erst mal nicht glauben das jemand so eine komische Datenstruktur entwirft, bei einer öffentlichen API die ja eher nicht von einem Anfänger oder Amateur erstellt wurde.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
Antworten