gpt4 book ai didi

python - 如何减少这段代码的重复性? (openpyxl)

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:59 25 4
gpt4 key购买 nike

我是一名教师,我正在制作一个程序来帮助自己对学生的成绩进行分类。这不是什么大问题,问题是,我这样做主要是为了练习编程。

# Name the first line
sheet['A1'] = 'Index'
sheet['B1'] = 'Name'
sheet['C1'] = 'Grade'

# Changes the style of the first line to bold
sheet['A1'].font = font_bold
sheet['B1'].font = font_bold
sheet['C1'].font = font_bold

# Widens the columns
sheet.column_dimensions['A'].width = 10
sheet.column_dimensions['B'].width = 30
sheet.column_dimensions['C'].width = 30

# Aligns to center
sheet.cell('A1').alignment = Alignment(horizontal='center', vertical='center')
sheet.cell('B1').alignment = Alignment(horizontal='center', vertical='center')
sheet.cell('C1').alignment = Alignment(horizontal='center', vertical='center')

# Freeze the first row
sheet.freeze_panes = 'A2'

# Index number of the lines
i = 2

--

--

# function to calculate the grade
def grade():

您可能会注意到,在某种程度上,这一切都是重复的。该代码的功能完全符合我的要求,但我想知道一些其他方法来使其更……简洁。

记住变量 reach 很重要,因为接下来将启动一个函数,并且紧接着是一个 While 循环。

本题代码中不相关的部分已用---省略。如果以某种方式需要它们,我会编辑它们,但据我所知,它们不是。

提前谢谢你。

最佳答案

对象和 DRY(不要重复自己)原则

一般来说,只要你有一些相同长度的并行数组并保留一些相关属性,这就很好地表明你可以组合这些属性并从中创建一个对象。对于您的情况,我看到建议定义一个具有以下属性的对象表:

  • 标题
  • 字体
  • column_dimensions
  • 细胞
  • ...

关于python - 如何减少这段代码的重复性? (openpyxl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43105440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com