我需要在Python中编写这四个。 注意它做了什么,在一个循环中四种可能的状态之间变化: 1,0 -> 0,1 -> -1,0 -> 0,-1并返回到第一个状态。 if [dx, dy] == [1,0]: dx, dy = 0, 1 if [dx, dy] == 0, 1: dx, dy = -1, 0 if [dx, dy] == [-1, 0] dx, dy = 0, -1 if [dx, dy] == [0, -1]: dx, dy = 1, 0 任何人都可以build议我一个更好/更好的方式来写这个?
有时当我编程时,我发现一些特定的控制结构对我来说是非常有用的,但是不能直接在我的编程语言中使用。 我想我最常见的愿望就像是“分裂”(我不知道该怎么称呼这个): { foo(); } split_while( condition ) { bar(); } 这个代码的语义是foo()总是运行,然后检查条件。 如果为true,那么bar()运行,我们回到第一个块(从而再次运行foo()等)。 感谢reddit用户zxqdms发表的评论 ,我了解到Donald E. Knuth在他的论文“结构化编程go to声明” (参见第279页)中提到了这个结构。 你认为什么替代控制结构是组织计算的有用方法? 我的目标是给自己和其他人一些思考结构化代码的新方法,以便改进分块和推理。 注意 :我不是问如何概括所有可能的控制结构,无论是使用jne , if / goto ,Lispmacros,continuations,monads,combinators,夸克还是别的。 我在问什么专业化在描述代码中很有用。