看图看图,一个数学类型的python

 


def get_every_line_num(num):
  # 保存每条线上得数
  lines = []
  # 初始添加数
  init_num = 2
  # 初始化输入线得条数,和初始值1
  for val in range(num):
    lines.append(['1'])
  # 由于是1到2n+1所以内存线段的值的个数就是 (2n + 1 - 1) / n = 2
  # 总数2n+1 减去初始化1,将剩余数平分到n条线段,除以n最后出了初始化1,每条线段其他数就是2个
  for key in range(2):
    # 循环添加数到每条线段上
    for val in range(num):
      lines[val].append(str(init_num))
      init_num += 1
    # 第二次数据反转,从最后一位开始添加
    lines.reverse()
  for val in range(num):
    # 循环打印,线段隔开
    print(' '.join(lines[val]))

if __name__ == "__main__":
  num = int(input("请输入线的条数:"))
  get_every_line_num(num)

img

如果对你有帮助,请采纳一下!!!