Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何调用函数以特定模式在图形窗口中运行?_Python_Loops_Design Patterns - Fatal编程技术网

Python 如何调用函数以特定模式在图形窗口中运行?

Python 如何调用函数以特定模式在图形窗口中运行?,python,loops,design-patterns,Python,Loops,Design Patterns,我有一个函数,其中的对象必须在图形窗口中的特定点上运行 每一行代表500x500窗口中的函数(100x100) ----- --- - --- ----- 我知道如何让它像这样运行: ----- ----- ----- ----- ----- 通过使用嵌套循环 def AssortmentOfObjects(size): win =GraphWin("Object assortment", size,size) ypoint = 0 for y in rang

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

每一行代表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语句使它们在细分中运行。

我只是不知道怎么画。

你需要决定画哪些点;比如:

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

假设x在向右移动时变大,y在向下移动时变大,看起来您希望在y时为需要知道缩进和数字的对象绘制缩进(范围
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个元素,等等)