用最合适的“方块”填充区域

我有一些代码可以根据用户的选择生成文本块。这些文本块的高度取决于用户选择了多少项。我正在尝试做的是确保这些块以最有效的方式排列在页面上。


例如,第1部分的高度为250点,第2部分的高度为650点。如果用户选择:


来自形式a的400点的内容来自形式

b的200点的内容来自部分c的

250点的内容来自部分d的

50点的内容


如何确保b部分和d部分进入第1部分,a&c部分进入第2部分?


到目前为止,这是我的代码:


section1_height = 250

section2_height = 650


#list1 and list2 are the variables that contain the user selections

Column1 = DWIMBLOCK([list1], (18, 430), (LEFT, TOP_BASELINE), (250, 250))

Column2 = DWIMBLOCK([list2], (275, 430), (LEFT, TOP_BASELINE), (250, 650))


columns = [Column1, Column2]

sec1_columns = []

sec2_columns = []


for column in columns:

 if column.height <= 250:

  sec1_columns.append(column)


for shorts in sec1_columns:

 if #This is where I am stuck

如您所见,我将我的专栏分为小于250点高的那些专栏,但是现在我陷入了尝试按照“if sum of any number of blocks <= 250, assign those blocks to a new list我应该如何去做?”的思路做些事情。谢谢!


更新:


这是布局的粗略轮廓,以便您可以更清晰地看到图片。


____________________

|#########**********|

|# image #*        *|

|#########*        *|

|**********        *|

|*       **        *|

|*sec. 1 **        *|

|*       **sec. 2  *|

|**********        *|

|#########*        *|

|#       #*        *|

|# image #*        *|

|#       #*        *|

|#########**********|

____________________

这两个图像始终位于相同的位置且具有相同的大小。

还应该注意的是,这是供PDF生成的,而不是用于Web的,因此CSS和Javascript不是选项。我正在使用的环境仅允许使用Python代码。


杨魅力
浏览 186回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python