基于产品信息的PDF页面计算

2024-10-02 22:30:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个web应用程序,将html产品目录转换为PDF。我试图根据产品的数量来计算页数,将产品总数传递给函数,并返回一个整数作为页数。你知道吗

由于显示横幅,不同页面上的产品计数会发生变化。你知道吗

  • 首页可容纳8种产品
  • 最后一页可以容纳12种产品
  • 如果总共至少有2页,则始终显示最后一页
  • 中页可容纳14种产品
  • 每套2页(不包括第一页和最后一页)都有中间页
  • 如果有奇数页,那么最后一页的第二页将容纳16种产品

要给出更直观的目录页数示例:

1 page: [8]  
2 pages: [8][12]  
3 pages: [8][16][12]  
4 pages: [8][14][14][12]  
5 pages: [8][14][14][16][12]  
6 pages: [8][14][14][14][14][12]  

我就是不明白这一点,我的数学和算法技能都不合格。如果有人能为我指明方向,我会非常感激。你知道吗


Tags: 函数web应用程序数量pdf产品html整数
1条回答
网友
1楼 · 发布于 2024-10-02 22:30:00

从逻辑上讲,您可以先放置第一页,然后放置最后一页,然后检查奇数总数,然后添加中间页。你知道吗

def ass(num):
    #Check for negative number
    if num <= 0: return
    #This list will be returned, start with 8, since it always has 8
    ret = [8]

    #If only on number, then return
    if num == 1: return ret
    #add 14s in the middle; even need total-2, odd number needs total-3
    to_add = num - 2 if num % 2 == 0 else num - 3

    for i in range(to_add):
        ret.append(14)

    #check for second to last if odd, we need 16 appended
    if num % 2 != 0:
        ret.append(16)
    #Final 12
    ret.append(12)

    return ret

相关问题 更多 >