我独立提出了这个挑战,但是事实证明,这与Doorknob提出的挑战相反。因为我真的很喜欢他的规格,所以我决定窃取大部分规格,而不是自己解释。
挑战
给定指南针上32个点之一的缩写,请打印相应的度数。如果您对这32点的解释不感兴趣,请随时跳到下表。
这是完整的指南针:
由Denelson83(自己的作品)[ GFDL或CC-BY-SA-3.0 ],通过Wikimedia Commons
每个方向比上一个方向远11.25(360/32)度。例如,N(北)为0度,NbE(北至东)为11.25度,NNE(北-东北)为22.5度,依此类推。
详细地,名称分配如下:
- 0度是N,90度是E,180度是S,而270度是W。这些被称为基本方向。
- 基本方向之间的中间点就是它们之间串联的基本方向。N或S始终排在第一位,W或E始终排在第二位。这些称为顺序指示。序数和基数方向共同构成主要风。
- 主风之间的中点是它们之间的连接方向。基本方向为第一,第二顺序。这些被称为半风。
- 主风和半风之间的中点是相邻的主风“远离”最接近的基本方向。用表示
b
。这些被称为四分之一风。
结果如下表:
# Degrees Abbrv. Name
1 0 N North
2 11.25 NbE North by east
3 22.5 NNE North-northeast
4 33.75 NEbN Northeast by north
5 45 NE Northeast
6 56.25 NEbE Northeast by east
7 67.5 ENE East-northeast
8 78.75 EbN East by north
9 90 E East
10 101.25 EbS East by south
11 112.5 ESE East-southeast
12 123.75 SEbE Southeast by east
13 135 SE Southeast
14 146.25 SEbS Southeast by south
15 157.5 SSE South-southeast
16 168.75 SbE South by east
17 180 S South
18 191.25 SbW South by west
19 202.5 SSW South-southwest
20 213.75 SWbS Southwest by south
21 225 SW Southwest
22 236.25 SWbW Southwest by west
23 247.5 WSW West-southwest
24 258.75 WbS West by south
25 270 W West
26 281.25 WbN West by north
27 292.5 WNW West-northwest
28 303.75 NWbW Northwest by west
29 315 NW Northwest
30 326.25 NWbN Northwest by north
31 337.5 NNW North-northwest
32 348.75 NbW North by west
这是一个更详细的图表,可能还会对罗盘的各个点进行更好的说明。
您的任务是将第三列的32个缩写之一作为输入,并在第二列中输出相应的度数。
您可以假设输入将始终是这32个字符串中的一个(并且您可以有选择地但始终希望有一个结尾的换行符)。尽管也允许尾随零,但输出也应完全如上列出。您可以选择输出一个尾随换行符。
您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。
这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。