【发布时间】:2020-02-23 18:29:39
【问题描述】:
我有一个函数,pixel,它在窗口中的某个点绘制一个像素。例如,pixel(10, 10) 将在点 (10, 10) 处绘制一个像素。
在一个新函数pixels 中,我希望它可以通过键入pixels((10, 10), (11, 11), ...) 之类的内容来执行,并且它将使用pixel 函数在列出的坐标处绘制像素所需的次数。
【问题讨论】:
我有一个函数,pixel,它在窗口中的某个点绘制一个像素。例如,pixel(10, 10) 将在点 (10, 10) 处绘制一个像素。
在一个新函数pixels 中,我希望它可以通过键入pixels((10, 10), (11, 11), ...) 之类的内容来执行,并且它将使用pixel 函数在列出的坐标处绘制像素所需的次数。
【问题讨论】:
def pixel(x, y):
print(f"drawing pixel at ({x}, {y})")
def pixels(*args):
for arg in args:
assert isinstance(arg, tuple)
pixel(*arg)
pixels((10, 10), (20, 20), (34, 66))
输出:
drawing pixel at (10, 10)
drawing pixel at (20, 20)
drawing pixel at (34, 66)
在将任何参数传递给pixel 之前,最好断言所有参数都是元组。它需要两个串联的 for 循环,或者使用 all,但至少如果所有参数实际上都是元组,您将只绘制任何像素。
【讨论】: