洋葱呀洋葱、 2021-11-29 12:45 采纳率: 40%
浏览 54

Python生成的内容写入word表格前面多了几行怎么删掉

刚学python,求求大佬们帮忙看下这个代码怎么修改才能去掉生成的word中前三行空的,代码如下:

import random
import os
import tkinter
import tkinter.ttk
from docx import Document
columnsNumber = 4
def main(rowsNumbers=20,grade=4):
if grade < 3:
operators = '+-'
biggest = 20
elif grade <= 4:
operators = '+-×÷'
biggest = 100
elif grade <= 6:
operators = '+-×÷('
biggest = 100

document = Document()
table = document.add_table(rows=rowsNumbers,cols=columnsNumber)
table.style.font.name = '宋体'
for row in range(rowsNumbers):
    for col in range(columnsNumber):
        first = random.randint(1,biggest)
        second = random.randint(1,biggest)
        operator = random.choice(operators)

        if operator != '(':
            if operator == '-':
                if first < second:
                    first,second = second,first
            else:    r = str(first).ljust(2,' ')+' ' + operator + str(second).ljust(2,' ') + '='
        else:
            third = random.randint(1,100)
            while True:
                o1 = random.choice(operators)
                o2 = random.choice(operators)
                if o1 != '(' and o2 !='(':
                    break
            rr = random.randint(1,100)
            if rr > 50:
                if o2 == '-':
                    if second < third:
                        second,third = third,second
                r = str(first).ljust(2,' ') + o1 +'('+str(second).ljust(2,' ')+o2+str(third).ljust(2,' ')+')='
            else:
                if o1 == '-':
                    if first < second:
                        first,second = second,first
                else: r = '(' + str(first).ljust(2,' ') + o1 +str(second).ljust(2,' ')+')'+o2+str(third).ljust(2,' ')+'='
    cell = table.cell(col,row)
    cell.text = r
document.save('kousuan.docx')

if name == 'main':
app = tkinter.Tk()
app.title('小学生口算题生成器')
app['width'] = 300
app['height'] = 150
lableNumber = tkinter.Label(app,text='数量:',justify=tkinter.RIGHT,width=50)
lableNumber.place(x=10,y=40,width=50,height=20)
comboNumber = tkinter.ttk.Combobox(app,values=(10,20,30,40,50),width=50)
comboNumber.place(x=70,y=40,width=50,height=20)

labelGrade = tkinter.Label(app,text='年级:',justify=tkinter.RIGHT,width=50)
labelGrade.place(x=130,y=40,width=50,height=20)
comboGrade = tkinter.ttk.Combobox(app,values=(1,2,3,4,5,6),width=50)
comboGrade.place(x=200,y=40,width=50,height=20)

def generate():
    number = int(comboNumber.get())
    grade = int(comboGrade.get())
    main(number,grade)
buttonGenerate = tkinter.Button(app,text='计算',width=40,command=generate)
buttonGenerate.place(x=130,y=90,width=40,height=30)

app.mainloop
  • 写回答

1条回答 默认 最新

  • 普通网友 2021-11-29 14:43
    关注

    python作为格式化很强的代码,你这么放,我真的看不出来什么情况;

    评论

报告相同问题?

问题事件

  • 创建了问题 11月29日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画