2016-07-07 7 views
0

天気情報を出力するスクリプトがあります。スクリプトの最後には、それが行う次の8日間の天気の要約が印刷されます。しかし、私はどのように日を記述に一致するように連続する日を印刷するのか分からない。Python 2:連続した日をループで出力する

import sys 
import os 
import time 
import optparse 
import json 
import urllib2 

# You'll need an API key below... you get 1000 requests per day for free. 

API="APIKEY" 
URL="https://api.forecast.io/forecast/" 

# Your latitude and longitude belong here, I use SF for example 
LAT= 51.752725 
LNG= -0.339436 

#Direction of the wind 
directions = ["N", "NE", "E", "SE", "S", "SW", "W", "NW"] 

def bearing_to_direction(bearing): 
    d = 360./8. 
    return directions[int((bearing+d/2)/d)] 

now = time.time() 

req = urllib2.Request(URL+API+"/"+("%f,%f"%(LAT,LNG))+"?units=uk2") 
response = urllib2.urlopen(req) 
parsed = json.loads(response.read()) 
f = open("WEATHER.cache", "w") 
f.write(json.dumps(parsed, indent=4, sort_keys=True)) 
f.close() ; 

c = parsed["currently"] 
print ":::", time.strftime("%H:%M", time.localtime(c["time"])) 
print ":::", time.strftime("%A, %d %B %Y\n") 
print "::: Conditions:", c["summary"] 
print "::: Temperature:", ("%.1f" % c["temperature"])+u"\u00B0C" 
print "::: Humidity:", ("%4.1f%%" % (c["humidity"]*100.)) 
print "::: Wind:", int(round(c["windSpeed"])), "mph", bearing_to_direction(c["windBearing"]) 

d = parsed["daily"]["data"][0] 
print "::: High:", ("%.1f" % d["temperatureMax"])+u"\u00B0C" 
print "::: Low:", ("%.1f" % d["temperatureMin"])+u"\u00B0C" 

d = parsed["daily"]["data"] 

for x in d[1:8]: 
    print time.strftime("\t%A:"), ("%.1f" % x["temperatureMax"])+u"\u00B0C -", x["summary"] 

離れて、このセクションからのコードのすべての作品:それはちょうど横に、すべての8日の説明で木曜日を印刷し瞬間

for x in d[1:8]: 
    print time.strftime("\t%A:"), ("%.1f" % x["temperatureMax"])+u"\u00B0C -", x["summary"] 

::: Low: 13.0°C 
    Thursday Partly cloudy throughout the day. 
    Thursday Partly cloudy throughout the day. 
    Thursday Light rain starting in the afternoon. 
    Thursday Light rain until afternoon. 
    Thursday Drizzle starting in the afternoon, continuing until evening. 
    Thursday Light rain until evening. 
    Thursday Light rain starting in the afternoon, continuing until evening. 
    Thursday Light rain starting in the evening. 
+0

この十分なコードにも近くない。 「時間」はどこから来ていますか?あなたは本当に[mcve]を読む必要があります。 –

答えて

3

ではなくtimeインスタンスの、datetimeインスタンスに(名前としてこれを使用していない良いアイデア)あなたのtimeを変更し、あなたがdatetimeオブジェクトをインクリメントするdatetime.timedeltaを使用することができます。

from datetime import timedelta, datetime 

t = datetime.now() 
for i, x in enumerate(d[:12]): 
    print (t+timedelta(days=i)).strftime("\t%A:"), x["summary"] 
関連する問題