首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >天气怎么样?

天气怎么样?
EN

Code Golf用户
提问于 2015-11-07 11:52:47
回答 1查看 381关注 0票数 4

选择六个城市或村庄,每个大陆,亚洲,非洲,北美,南美洲,欧洲和澳大利亚各一个。这些预测覆盖了8351174个地方,美国超过200万个,巴基斯坦150000个,乌干达10000个,16个个名额瓦努阿图谢法省,所以我想你会在你身边找到一个地方。

制作一张表格,列出未来10个6小时的城市的天气情况。城市应按上述顺序列出(首先是亚洲城市,然后是非洲城市.)。

应列出的信息如下:

  • 城市:Name, CC (CC是国名的前两个字母)
  • 时间:yyyy-mm-dd
  • 期间:1
  • 天气:Cloudy
  • 温度:24

输出格式有以下限制:

订单如下(时间、期间、天气、温度、天气温度、天气、温度.)。城市名称和国家代码是标题。

代码语言:javascript
运行
复制
                Kyoto, JA          Addis Ababa, ET     Minneapolis, US     Rio de Janeiro, BR    Genoa, IT          Perth, AU 
2015-11-05, 3,  Cloudy, 15         Clear sky, 18       Heavy rain, 24      Cloudy, 12            Fair, 14           Rain, 26
2015-11-06, 0,  Cloudy, 12         Fair, 14            Rain, 26            Cloudy, 12            Fair, 14           Rain, 26    
2015-11-06, 1,  Heavy rain, 14     Clear sky, 17       Rain, 22            Heavy rain, 14        Clear sky, 17      Rain, 22            
2015-11-06, 2,  Rain, 15           Clear sky, 12       Rain, 25            Heavy rain, 14        Clear sky, 17      Rain, 22              
2015-11-06, 3,  Partly cloudy, 9   Fair, 8             Heavy rain, 30      Clear sky, 8          Fair, 14           Partly cloudy, 25
2015-11-07, 1,  Clear sky, -8      Fair, 14            Partly cloudy, 25   Clear sky, 8          Fair, -14          Partly cloudy, 25
2015-11-07, 2,  Fog, 13            Partly cloudy, 15   Fair, 22            Clear sky, 8          Fair, 14           Partly cloudy, 25

天气预报可以在www.yr.no上找到。天气数据可以在urls上的xml格式上找到,例如:

代码语言:javascript
运行
复制
http://www.yr.no/place/Australia/Western_Australia/Perth/forecast.xml
http://www.yr.no/place/Italy/Liguria/Genoa/forecast.xml
http://www.yr.no/place/Turks_and_Caicos_Islands/Other/Cockburn_Town/forecast.xml
http://www.yr.no/place/Bahamas/San_Salvador_and_Rum_Cay/Cockburn_Town/forecast.xml

是的,显然有两个地方叫“科伯恩镇”。您可以在主页(yr.no)上搜索位置,并在找到位置后简单地追加/forecast.xml。(您可以在右上角选择语言,该网站可能以挪威语显示)。

数据的格式如下:

代码语言:javascript
运行
复制
<time from="2015-11-05T19:00:00" to="2015-11-06T00:00:00" period="3">
<!--
 Valid from 2015-11-05T19:00:00 to 2015-11-06T00:00:00 
-->
<symbol number="4" numberEx="4" name="Cloudy" var="04"/>
<precipitation value="0" minvalue="0" maxvalue="0.4"/>
<!--  Valid at 2015-11-05T19:00:00  -->
<windDirection deg="131.5" code="SE" name="Southeast"/>
<windSpeed mps="3.7" name="Gentle breeze"/>
<temperature unit="celsius" value="12"/>
<pressure unit="hPa" value="1014.2"/>
</time>
<time from="2015-11-06T00:00:00" to="2015-11-06T06:00:00" period="0">...</time>
<time from="2015-11-06T06:00:00" to="2015-11-06T12:00:00" period="1">...</time>

如您所见,每6小时周期都有一个句号"0“、"1”、"2“或"3”。该表必须有日期,后面跟着句号2015-11-06, 3 (可以用逗号、制表符或任何东西隔开)。

在这种情况下,您必须为每个时间段列出天气类型和温度:Cloudy, 12 (而不是12 Cloudy)。这些值可以用逗号、制表符或任何东西分隔。

必须将每个城市与其他城市分隔开来,使它们形成不同的“块”,如示例输出所示。输出应该在类似于格式的表上。

输出格式的细节是可选的。

这些部分:代码的Italy/Liguria/Genoa/Brazil/Rio_de_Janeiro/Rio_de_Janeiro/可以从字节计数中减去(不需要选择最短的城市名称)。网址-缩写是禁止的。

必须有可能在一年后运行您的代码,所以您不能硬代码日期等。

天气数据是免费的和公开的,只要下面的属性显示出来,所以请把它包含在你的答案的底部。

这是代码高尔夫,所以最短的答案(以字节为单位)获胜。

来自yr.no的天气预报,由挪威气象研究所和NRK提供。

EN

回答 1

Code Golf用户

回答已采纳

发布于 2015-11-07 22:51:01

Mathematica 418字节

这些是URL的,我们假设它们包含在变量中,因此不计算它们。

t="http://www.yr.no/place/Japan/Tokyo/Tokyo/forecast.xml“;a="http://www.yr.no/place/Algeria/Alger/Algiers/forecast.xml“;b="http://www.yr.no/place/United_各州/马萨诸塞州/波士顿/止赎案“;r="http://www.yr.no/place/Brazil/Pernambuco/Recife/forecast.xml“;p="http://www.yr.no/place/France/Île-de-France/Paris/forecast.xml“;c="http://www.yr.no/place/Australia/Australian_资本_领土/堪培拉/止赎案“

这是使用的代码。

代码语言:javascript
运行
复制
z@{s_,k_}:=Cases[s~Import~"XML",XMLElement["time",{"from"-> d_,b_,"period"->p_},
{XMLElement[_,{___,"name"->w_,___},{}],___,XMLElement["temperature",{___,"value"->t_},{}],
___}]:>{" "->Row[{d~StringTake~10,p},", "],k->Row[{w, t},", "]},Infinity];
w=Join@@(z/@{{t,"Tokyo, JA"},{a,"Algiers, AL"},{b,"Boston, US"},{r,"Recife, BR"},
{p,"Paris, FR"},{c,"Canberra, AU"}});
Dataset[Association/@(Prepend[Cases[w,{#,r__}:>r],#]&/@w[[All,1]])]
票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/63209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档