0

假设你有一个矩形 (x=3456) * (y=1943)。这些尺寸值可能会有所不同。我需要做的是将此区域平均划分为 z 像素正方形部分,并根据光标所在的位置打印 A1、A2、A3、..、B1、B2、B3..、C1、C2、C3。

例如:如果光标在 123、85 或 30、15 上,它将打印 A1 以此类推。

我需要根据动态给出的 x,y 大小自动生成这个 switch case 结构。但是每次每个部分都需要定义 z 像素正方形。如何在 python 中最有效地管理它?

4

1 回答 1

1

这可以通过楼层划分来完成,而不会出现问题。确保它在边界处的行为符合您的预期,并根据需要使用余数 == 0 检查进行修改。

max_x, max_y = 3456, 1943
z = 1000
x, y = 3,4

if x <= max_x and y <= max_y:
    #chr() takes an int and prints out its ASCII char. chr(65) is 'A'.
    #This assumes you start with 'A1' on top left of page.
    to_print = chr(65 + x//z) + str(1 + y//z)
    print(to_print)
else:
    print("coordinates out of page")
于 2018-12-03T11:29:16.387 回答