如何解决给定一串 North South East 或 West,我如何找到某事的方向逆时针或顺时针
我正在尝试制作一个程序,根据仅包含北东南西 (nsew) 的字符串输入来确定某个东西是顺时针方向还是逆时针方向,例如,如果我有字符串“nesSWN”,我知道它是顺时针是因为把它画出来,但无论我怎么想,我都无法找到适用于所有情况的最终解决方案
解决方法
这是显示所有方向变化的方式,1 是时钟,0 是不动,3 是计数器时钟,2 表示从 NS 或 EW 跳转。你的例子被翻译成 {0,1} 这意味着顺时针。 我又加了一个功能层来告诉方向
d={c:i for i,c in enumerate('NESW')}
def direction(s):
s=s.upper()
return set([(d[x]-d[y])%4 for x,y in zip(s[1:],s)])
def ClockOrCounter(direction):
direction=tuple(sorted(direction))
if direction in ((0,1),(1,)):
return 'clockwise'
elif direction in ((0,3),(3,)):
return 'counterclock'
return 'undetermined'
print(ClockOrCounter(direction('NESSWN')))
print(ClockOrCounter(direction('NWSEN')))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。