如果给定一系列的北-南-东或西,我如何找到某物的方向(逆时针或顺时针)

2024-10-01 15:47:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作一个程序,根据只包含南北东西(n s e w)的字符串输入来确定某个东西是顺时针方向还是逆时针方向,例如,如果我有字符串“NESSWN”我知道它是顺时针的,因为我把它画出来了,但无论我怎么想,我都无法找出一个适用于每种情况的最终解决方案


Tags: 字符串程序情况解决方案方向逆时针顺时针nesswn
1条回答
网友
1楼 · 发布于 2024-10-01 15:47:03

这就是显示所有方向变化的方式,1表示时钟,0表示不移动,3表示计数器时钟,2表示从N<-&燃气轮机;S或E<-&燃气轮机;你的例子被翻译成{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')))

相关问题 更多 >

    热门问题