【问题标题】:How do I call a function to run in a graph window in a specific pattern?如何调用函数以特定模式在图形窗口中运行?
【发布时间】:2016-12-23 21:01:24
【问题描述】:

我有一个函数,其对象必须在图形窗口中的特定点运行。

每一行代表应该是 500x500 窗口的函数 (100x100)。

-----
 ---
  -
 ---
-----

我知道如何让它像这样运行:

-----
-----
-----
-----
-----

通过使用嵌套循环。

def AssortmentOfObjects(size):
    win =GraphWin("Object assortment", size,size)
    ypoint = 0
    for y in range(5):
        xpoint = 0
        for x in range(5):
            Objects(win, xpoint, ypoint)
            xpoint = xpoint + 100
        ypoint = ypoint + 100

显然,您可以使用 if 语句使它们在细分中运行。
我只是不知道怎么做。

【问题讨论】:

    标签: python loops design-patterns


    【解决方案1】:

    对于对象,您需要知道缩进和编号(x 的范围)。您可以通过以下方式获得两者:

    n = 5
    half = n // 2
    for y in range(n):
        indent = (half - abs(half-y))
        x_count = n - (2 * indent)
        print(indent, x_count)
    

    这将打印:

    0 5
    1 3
    2 1
    1 3
    0 5
    

    (即第一行零缩进,有 5 个元素,第二行缩进一个,有 3 个元素,等等)。

    【讨论】:

      【解决方案2】:

      您需要确定要绘制哪些点;类似:

      if shoulddraw(x,y):
          Objects(win,xpoint,ypoint)
      

      假设 x 向右变大,y 向下变大,看起来你想在 y

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-31
        • 2017-11-09
        • 1970-01-01
        相关资源
        最近更新 更多