diff --git a/工具v4/Ui_tool_panel.py b/工具v4/Ui_tool_panel.py
index 200ea689..7a495d49 100644
--- a/工具v4/Ui_tool_panel.py
+++ b/工具v4/Ui_tool_panel.py
@@ -114,6 +114,9 @@ class Ui_MainWindow(object):
self.tab_jysc = QWidget()
self.tab_jysc.setObjectName(u"tab_jysc")
self.tabWidget_beikezu.addTab(self.tab_jysc, "")
+ self.tab_fnsc = QWidget()
+ self.tab_fnsc.setObjectName(u"tab_fnsc")
+ self.tabWidget_beikezu.addTab(self.tab_fnsc, "")
self.tabWidget_main.addTab(self.tab_beikezu, "")
self.tab_latex = QWidget()
self.tab_latex.setObjectName(u"tab_latex")
@@ -205,11 +208,11 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
- self.tabWidget_main.setCurrentIndex(2)
+ self.tabWidget_main.setCurrentIndex(3)
self.tabWidget_luru.setCurrentIndex(0)
self.tabWidget_weihu.setCurrentIndex(0)
self.tabWidget_shiyong.setCurrentIndex(5)
- self.tabWidget_beikezu.setCurrentIndex(0)
+ self.tabWidget_beikezu.setCurrentIndex(3)
self.tabWidget_latex.setCurrentIndex(0)
self.tabWidget_mubiaojichu.setCurrentIndex(0)
self.tabWidget_syjl.setCurrentIndex(0)
@@ -239,6 +242,7 @@ class Ui_MainWindow(object):
self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_jglr), QCoreApplication.translate("MainWindow", u"\u8bb2\u4e49\u7ed3\u6784\u7f16\u53f7\u5f55\u5165", None))
self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_dtlr), QCoreApplication.translate("MainWindow", u"\u7b54\u9898\u7eb8\u5bf9\u5e94\u4fe1\u606f\u5f55\u5165", None))
self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_jysc), QCoreApplication.translate("MainWindow", u"\u7cfb\u5217\u8bb2\u4e49\u751f\u6210", None))
+ self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_fnsc), QCoreApplication.translate("MainWindow", u"\u8d4b\u80fd\u5377\u751f\u6210", None))
self.tabWidget_main.setTabText(self.tabWidget_main.indexOf(self.tab_beikezu), QCoreApplication.translate("MainWindow", u"\u5907\u8bfe\u7ec4", None))
self.tabWidget_latex.setTabText(self.tabWidget_latex.indexOf(self.tab_wbzh), QCoreApplication.translate("MainWindow", u"\u6587\u672c\u8f6c\u6362\u5904\u7406", None))
self.tabWidget_latex.setTabText(self.tabWidget_latex.indexOf(self.tab_hist), QCoreApplication.translate("MainWindow", u"\u76f4\u65b9\u56fe\u4ee3\u7801\u751f\u6210", None))
diff --git a/工具v4/Ui_赋能卷生成.py b/工具v4/Ui_赋能卷生成.py
new file mode 100644
index 00000000..c65a2e21
--- /dev/null
+++ b/工具v4/Ui_赋能卷生成.py
@@ -0,0 +1,252 @@
+# -*- coding: utf-8 -*-
+
+################################################################################
+## Form generated from reading UI file '赋能卷生成.ui'
+##
+## Created by: Qt User Interface Compiler version 6.6.2
+##
+## WARNING! All changes made in this file will be lost when recompiling UI file!
+################################################################################
+
+from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
+ QMetaObject, QObject, QPoint, QRect,
+ QSize, QTime, QUrl, Qt)
+from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
+ QFont, QFontDatabase, QGradient, QIcon,
+ QImage, QKeySequence, QLinearGradient, QPainter,
+ QPalette, QPixmap, QRadialGradient, QTransform)
+from PySide6.QtWidgets import (QApplication, QCheckBox, QHBoxLayout, QLabel,
+ QLineEdit, QPlainTextEdit, QPushButton, QRadioButton,
+ QSizePolicy, QVBoxLayout, QWidget)
+
+class Ui_Form(object):
+ def setupUi(self, Form):
+ if not Form.objectName():
+ Form.setObjectName(u"Form")
+ Form.resize(760, 490)
+ self.verticalLayoutWidget = QWidget(Form)
+ self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
+ self.verticalLayoutWidget.setGeometry(QRect(20, 70, 161, 301))
+ self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
+ self.verticalLayout.setObjectName(u"verticalLayout")
+ self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+ self.checkBox_unit1 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit1.setObjectName(u"checkBox_unit1")
+
+ self.verticalLayout.addWidget(self.checkBox_unit1)
+
+ self.checkBox_unit2 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit2.setObjectName(u"checkBox_unit2")
+
+ self.verticalLayout.addWidget(self.checkBox_unit2)
+
+ self.checkBox_unit3 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit3.setObjectName(u"checkBox_unit3")
+
+ self.verticalLayout.addWidget(self.checkBox_unit3)
+
+ self.checkBox_unit4 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit4.setObjectName(u"checkBox_unit4")
+
+ self.verticalLayout.addWidget(self.checkBox_unit4)
+
+ self.checkBox_unit5 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit5.setObjectName(u"checkBox_unit5")
+
+ self.verticalLayout.addWidget(self.checkBox_unit5)
+
+ self.checkBox_unit6 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit6.setObjectName(u"checkBox_unit6")
+
+ self.verticalLayout.addWidget(self.checkBox_unit6)
+
+ self.checkBox_unit7 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit7.setObjectName(u"checkBox_unit7")
+
+ self.verticalLayout.addWidget(self.checkBox_unit7)
+
+ self.checkBox_unit8 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit8.setObjectName(u"checkBox_unit8")
+
+ self.verticalLayout.addWidget(self.checkBox_unit8)
+
+ self.checkBox_unit9 = QCheckBox(self.verticalLayoutWidget)
+ self.checkBox_unit9.setObjectName(u"checkBox_unit9")
+
+ self.verticalLayout.addWidget(self.checkBox_unit9)
+
+ self.horizontalLayout = QHBoxLayout()
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
+ self.pushButton_sel_all = QPushButton(self.verticalLayoutWidget)
+ self.pushButton_sel_all.setObjectName(u"pushButton_sel_all")
+
+ self.horizontalLayout.addWidget(self.pushButton_sel_all)
+
+ self.pushButton_sel_rev = QPushButton(self.verticalLayoutWidget)
+ self.pushButton_sel_rev.setObjectName(u"pushButton_sel_rev")
+
+ self.horizontalLayout.addWidget(self.pushButton_sel_rev)
+
+
+ self.verticalLayout.addLayout(self.horizontalLayout)
+
+ self.verticalLayoutWidget_2 = QWidget(Form)
+ self.verticalLayoutWidget_2.setObjectName(u"verticalLayoutWidget_2")
+ self.verticalLayoutWidget_2.setGeometry(QRect(210, 70, 121, 251))
+ self.verticalLayout_2 = QVBoxLayout(self.verticalLayoutWidget_2)
+ self.verticalLayout_2.setObjectName(u"verticalLayout_2")
+ self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+ self.label = QLabel(self.verticalLayoutWidget_2)
+ self.label.setObjectName(u"label")
+
+ self.verticalLayout_2.addWidget(self.label)
+
+ self.lineEdit_tiankongcount = QLineEdit(self.verticalLayoutWidget_2)
+ self.lineEdit_tiankongcount.setObjectName(u"lineEdit_tiankongcount")
+
+ self.verticalLayout_2.addWidget(self.lineEdit_tiankongcount)
+
+ self.label_2 = QLabel(self.verticalLayoutWidget_2)
+ self.label_2.setObjectName(u"label_2")
+
+ self.verticalLayout_2.addWidget(self.label_2)
+
+ self.lineEdit_xuanzecount = QLineEdit(self.verticalLayoutWidget_2)
+ self.lineEdit_xuanzecount.setObjectName(u"lineEdit_xuanzecount")
+
+ self.verticalLayout_2.addWidget(self.lineEdit_xuanzecount)
+
+ self.label_3 = QLabel(self.verticalLayoutWidget_2)
+ self.label_3.setObjectName(u"label_3")
+
+ self.verticalLayout_2.addWidget(self.label_3)
+
+ self.lineEdit_diff_lowerbound = QLineEdit(self.verticalLayoutWidget_2)
+ self.lineEdit_diff_lowerbound.setObjectName(u"lineEdit_diff_lowerbound")
+
+ self.verticalLayout_2.addWidget(self.lineEdit_diff_lowerbound)
+
+ self.label_4 = QLabel(self.verticalLayoutWidget_2)
+ self.label_4.setObjectName(u"label_4")
+
+ self.verticalLayout_2.addWidget(self.label_4)
+
+ self.lineEdit_diff_upperbound = QLineEdit(self.verticalLayoutWidget_2)
+ self.lineEdit_diff_upperbound.setObjectName(u"lineEdit_diff_upperbound")
+
+ self.verticalLayout_2.addWidget(self.lineEdit_diff_upperbound)
+
+ self.verticalLayoutWidget_3 = QWidget(Form)
+ self.verticalLayoutWidget_3.setObjectName(u"verticalLayoutWidget_3")
+ self.verticalLayoutWidget_3.setGeometry(QRect(360, 70, 131, 171))
+ self.verticalLayout_3 = QVBoxLayout(self.verticalLayoutWidget_3)
+ self.verticalLayout_3.setObjectName(u"verticalLayout_3")
+ self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+ self.label_5 = QLabel(self.verticalLayoutWidget_3)
+ self.label_5.setObjectName(u"label_5")
+ sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
+ self.label_5.setSizePolicy(sizePolicy)
+ self.label_5.setMaximumSize(QSize(16777215, 16777215))
+
+ self.verticalLayout_3.addWidget(self.label_5)
+
+ self.radioButton_min = QRadioButton(self.verticalLayoutWidget_3)
+ self.radioButton_min.setObjectName(u"radioButton_min")
+ sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
+ sizePolicy1.setHorizontalStretch(0)
+ sizePolicy1.setVerticalStretch(0)
+ sizePolicy1.setHeightForWidth(self.radioButton_min.sizePolicy().hasHeightForWidth())
+ self.radioButton_min.setSizePolicy(sizePolicy1)
+
+ self.verticalLayout_3.addWidget(self.radioButton_min)
+
+ self.radioButton_max = QRadioButton(self.verticalLayoutWidget_3)
+ self.radioButton_max.setObjectName(u"radioButton_max")
+
+ self.verticalLayout_3.addWidget(self.radioButton_max)
+
+ self.radioButton_average = QRadioButton(self.verticalLayoutWidget_3)
+ self.radioButton_average.setObjectName(u"radioButton_average")
+
+ self.verticalLayout_3.addWidget(self.radioButton_average)
+
+ self.radioButton_median = QRadioButton(self.verticalLayoutWidget_3)
+ self.radioButton_median.setObjectName(u"radioButton_median")
+
+ self.verticalLayout_3.addWidget(self.radioButton_median)
+
+ self.pushButton_exec = QPushButton(Form)
+ self.pushButton_exec.setObjectName(u"pushButton_exec")
+ self.pushButton_exec.setGeometry(QRect(520, 70, 201, 41))
+ font = QFont()
+ font.setBold(True)
+ self.pushButton_exec.setFont(font)
+ self.label_6 = QLabel(Form)
+ self.label_6.setObjectName(u"label_6")
+ self.label_6.setGeometry(QRect(360, 260, 54, 16))
+ self.lineEdit_papercount = QLineEdit(Form)
+ self.lineEdit_papercount.setObjectName(u"lineEdit_papercount")
+ self.lineEdit_papercount.setGeometry(QRect(420, 260, 71, 20))
+ self.plainTextEdit_output = QPlainTextEdit(Form)
+ self.plainTextEdit_output.setObjectName(u"plainTextEdit_output")
+ self.plainTextEdit_output.setGeometry(QRect(520, 140, 201, 221))
+ self.label_7 = QLabel(Form)
+ self.label_7.setObjectName(u"label_7")
+ self.label_7.setGeometry(QRect(360, 290, 81, 16))
+ self.lineEdit_threshold = QLineEdit(Form)
+ self.lineEdit_threshold.setObjectName(u"lineEdit_threshold")
+ self.lineEdit_threshold.setGeometry(QRect(450, 290, 41, 20))
+ self.label_8 = QLabel(Form)
+ self.label_8.setObjectName(u"label_8")
+ self.label_8.setGeometry(QRect(520, 120, 54, 16))
+ self.label_9 = QLabel(Form)
+ self.label_9.setObjectName(u"label_9")
+ self.label_9.setGeometry(QRect(360, 320, 54, 16))
+ self.lineEdit_grade = QLineEdit(Form)
+ self.lineEdit_grade.setObjectName(u"lineEdit_grade")
+ self.lineEdit_grade.setGeometry(QRect(420, 320, 71, 20))
+ self.lineEdit_grade.setMaxLength(4)
+
+ self.retranslateUi(Form)
+
+ QMetaObject.connectSlotsByName(Form)
+ # setupUi
+
+ def retranslateUi(self, Form):
+ Form.setWindowTitle(QCoreApplication.translate("Form", u"\u8d4b\u80fd\u5377\u751f\u6210", None))
+ self.checkBox_unit1.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e00\u5355\u5143 \u57fa\u672c\u77e5\u8bc6", None))
+ self.checkBox_unit2.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e8c\u5355\u5143 \u51fd\u6570", None))
+ self.checkBox_unit3.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e09\u5355\u5143 \u4e09\u89d2", None))
+ self.checkBox_unit4.setText(QCoreApplication.translate("Form", u"\u7b2c\u56db\u5355\u5143 \u6570\u5217", None))
+ self.checkBox_unit5.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e94\u5355\u5143 \u5e73\u9762\u5411\u91cf\u4e0e\u590d\u6570", None))
+ self.checkBox_unit6.setText(QCoreApplication.translate("Form", u"\u7b2c\u516d\u5355\u5143 \u7acb\u4f53\u51e0\u4f55", None))
+ self.checkBox_unit7.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e03\u5355\u5143 \u89e3\u6790\u51e0\u4f55", None))
+ self.checkBox_unit8.setText(QCoreApplication.translate("Form", u"\u7b2c\u516b\u5355\u5143 \u8ba1\u6570\u4e0e\u6982\u7387", None))
+ self.checkBox_unit9.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e5d\u5355\u5143 \u7edf\u8ba1", None))
+ self.pushButton_sel_all.setText(QCoreApplication.translate("Form", u"\u5168\u9009", None))
+ self.pushButton_sel_rev.setText(QCoreApplication.translate("Form", u"\u53cd\u9009", None))
+ self.label.setText(QCoreApplication.translate("Form", u"\u586b\u7a7a\u9898\u6570\u91cf", None))
+ self.label_2.setText(QCoreApplication.translate("Form", u"\u9009\u62e9\u9898\u6570\u91cf", None))
+ self.label_3.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u4e0b\u754c", None))
+ self.label_4.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u4e0a\u754c", None))
+ self.label_5.setText(QCoreApplication.translate("Form", u"\u4f7f\u7528\u96be\u5ea6\u7684\u54ea\u4e2a\u6570\u636e", None))
+ self.radioButton_min.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u6700\u5c0f\u503c", None))
+ self.radioButton_max.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u6700\u5927\u503c", None))
+ self.radioButton_average.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u5e73\u5747\u6570", None))
+ self.radioButton_median.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u4e2d\u4f4d\u6570", None))
+ self.pushButton_exec.setText(QCoreApplication.translate("Form", u"\u751f\u6210", None))
+ self.label_6.setText(QCoreApplication.translate("Form", u"\u751f\u6210\u5f20\u6570", None))
+ self.lineEdit_papercount.setInputMask("")
+ self.lineEdit_papercount.setText(QCoreApplication.translate("Form", u"1", None))
+ self.label_7.setText(QCoreApplication.translate("Form", u"\u76f8\u4f3c\u9608\u503c\u4e0a\u9650", None))
+ self.lineEdit_threshold.setText(QCoreApplication.translate("Form", u"0.65", None))
+ self.label_8.setText(QCoreApplication.translate("Form", u"\u8bd5\u5377\u4ee3\u7801", None))
+ self.label_9.setText(QCoreApplication.translate("Form", u"\u6392\u9664\u5e74\u7ea7", None))
+ self.lineEdit_grade.setInputMask("")
+ self.lineEdit_grade.setText("")
+ self.lineEdit_grade.setPlaceholderText(QCoreApplication.translate("Form", u"20xx", None))
+ # retranslateUi
+
diff --git a/工具v4/database_tools_2.py b/工具v4/database_tools_2.py
index 21265e25..9784cc80 100644
--- a/工具v4/database_tools_2.py
+++ b/工具v4/database_tools_2.py
@@ -3095,7 +3095,7 @@ def generate_diff_dict(pro_dict): #根据pro_dict的使用数据生成diff_dict
-def generate_adaptive_problemIDs(pro_dict,units_list,genre_tuple,diffinterval,method="min",excludeids = None,multianswers = False, sim_threshold = 0.8): #生成弗能题组, genre_tuple是二元组(填空题数, 选择题数), diffinterval是二元组(难度最小值,难度最大值)
+def generate_adaptive_problemIDs(pro_dict,units_list,genre_tuple,diffinterval,method="min",excludeids = None,multianswers = False, sim_threshold = 0.8): #生成赋能题组, genre_tuple是二元组(填空题数, 选择题数), diffinterval是二元组(难度最小值,难度最大值)
diff_dict = generate_diff_dict(pro_dict)
treated_dict = {id:pre_treating(pro_dict[id]["content"]) for id in pro_dict}
if excludeids is None:
diff --git a/工具v4/tool_panel.py b/工具v4/tool_panel.py
index 3c07e7bc..4b638292 100644
--- a/工具v4/tool_panel.py
+++ b/工具v4/tool_panel.py
@@ -30,6 +30,7 @@ from 删除使用记录 import MyWindow_scjl
from 删除课时目标关系 import MyWindow_scgx
from 新增目标关系 import MyWindow_xzgx
from 试卷列表 import MyWindow_sjlb
+from 赋能卷生成 import MyWindow_fnsc
from database_tools_2 import *
class MyWindow(QMainWindow,Ui_MainWindow):
@@ -162,6 +163,9 @@ class MyWindow(QMainWindow,Ui_MainWindow):
self.sjlb = MyWindow_sjlb(self.database)
self.layout_sjlb.addWidget(self.sjlb) #以上三行为初始化"试卷列表"tab
+ self.layout_fnsc = QVBoxLayout(self.tab_fnsc)
+ self.fnsc = MyWindow_fnsc(self.database)
+ self.layout_fnsc.addWidget(self.fnsc) #以上三行为初始化"赋能卷生成"tab
for func in [
@@ -184,7 +188,8 @@ class MyWindow(QMainWindow,Ui_MainWindow):
self.scjl.setdbname,
self.scgx.setdbname,
self.xzgx.setdbname,
- self.sjlb.setdbname
+ self.sjlb.setdbname,
+ self.fnsc.setdbname
]: #在列表中的tab里传送数据库名的连接
self.sendDBname.connect(func)
def sendValue(self):
diff --git a/工具v4/tool_panel.ui b/工具v4/tool_panel.ui
index db68b431..a3168122 100644
--- a/工具v4/tool_panel.ui
+++ b/工具v4/tool_panel.ui
@@ -27,7 +27,7 @@
QTabWidget::Triangular
- 2
+ 3
@@ -192,7 +192,7 @@
QTabWidget::Triangular
- 0
+ 3
@@ -209,6 +209,11 @@
系列讲义生成
+
+
+ 赋能卷生成
+
+
diff --git a/工具v4/赋能卷生成.py b/工具v4/赋能卷生成.py
new file mode 100644
index 00000000..7aeb55aa
--- /dev/null
+++ b/工具v4/赋能卷生成.py
@@ -0,0 +1,69 @@
+from PySide6.QtWidgets import QWidget, QApplication, QLineEdit, QCheckBox
+from Ui_赋能卷生成 import Ui_Form
+from database_tools_2 import *
+
+class MyWindow_fnsc(QWidget,Ui_Form):
+ def __init__(self,database_name):
+ super().__init__()
+ self.database_name = database_name
+ self.setupUi(self)
+ self.bind()
+ def setdbname(self,string):
+ self.database_name = string
+ # print(self.database_name)
+ def bind(self):
+ self.radioButton_min.setChecked(True)
+ self.pushButton_exec.clicked.connect(self.exec)
+ self.pushButton_sel_all.clicked.connect(self.selectall)
+ self.pushButton_sel_rev.clicked.connect(self.selectrev)
+
+ def selectall(self):
+ for self.checkbox in self.findChildren(QCheckBox):
+ self.checkbox.setChecked(True)
+
+ def selectrev(self):
+ for self.checkbox in self.findChildren(QCheckBox):
+ self.checkbox.setChecked(not self.checkbox.isChecked())
+
+
+
+
+ def exec(self):
+ mydb = connect(hostname = db_host, port = db_port, username=db_user, pwd=db_pwd, db = self.database_name)
+ mycursor = mydb.cursor()
+ pro_dict,obj_dict,bn_dict,unit_obj_dict = generateDictsfromMariaDB(mycursor)
+ mydb.close()
+ units_list = []
+ for self.checkbox in self.findChildren(QCheckBox):
+ if self.checkbox.isChecked():
+ units_list.append(self.checkbox.text()[:4])
+ genre_tuple = (int(self.lineEdit_tiankongcount.text()),int(self.lineEdit_xuanzecount.text()))
+ diffinterval = (float(self.lineEdit_diff_lowerbound.text()),float(self.lineEdit_diff_upperbound.text()))
+ if self.radioButton_min.isChecked():
+ method = "min"
+ elif self.radioButton_max.isChecked():
+ method = "max"
+ elif self.radioButton_average.isChecked():
+ method = "average"
+ elif self.radioButton_median.isChecked():
+ method = "median"
+ sim_threshold = float(self.lineEdit_threshold.text())
+ excludeids = findxiaobenIDs("../备课组",grade = self.lineEdit_grade.text())
+ papercount = int(self.lineEdit_papercount.text())
+ output = ""
+ for i in range(papercount):
+ tiankongids, xuanzeids = generate_adaptive_problemIDs(pro_dict=pro_dict,units_list=units_list,genre_tuple=genre_tuple,diffinterval=diffinterval,method=method,excludeids=excludeids,sim_threshold=sim_threshold)
+ idstr = ",".join(tiankongids+xuanzeids)
+ output += f"赋能{(i+1):2d}: {idstr}\n"
+ self.plainTextEdit_output.setPlainText(output)
+
+
+
+
+
+if __name__ == '__main__':
+ app = QApplication([])
+ windows = MyWindow_fnsc("tikutest")
+ windows.show()
+ app.exec()
+
diff --git a/工具v4/赋能卷生成.ui b/工具v4/赋能卷生成.ui
new file mode 100644
index 00000000..81187d8c
--- /dev/null
+++ b/工具v4/赋能卷生成.ui
@@ -0,0 +1,360 @@
+
+
+ Form
+
+
+
+ 0
+ 0
+ 760
+ 490
+
+
+
+ 赋能卷生成
+
+
+
+
+ 20
+ 70
+ 161
+ 301
+
+
+
+ -
+
+
+ 第一单元 基本知识
+
+
+
+ -
+
+
+ 第二单元 函数
+
+
+
+ -
+
+
+ 第三单元 三角
+
+
+
+ -
+
+
+ 第四单元 数列
+
+
+
+ -
+
+
+ 第五单元 平面向量与复数
+
+
+
+ -
+
+
+ 第六单元 立体几何
+
+
+
+ -
+
+
+ 第七单元 解析几何
+
+
+
+ -
+
+
+ 第八单元 计数与概率
+
+
+
+ -
+
+
+ 第九单元 统计
+
+
+
+ -
+
+
-
+
+
+ 全选
+
+
+
+ -
+
+
+ 反选
+
+
+
+
+
+
+
+
+
+
+ 210
+ 70
+ 121
+ 251
+
+
+
+ -
+
+
+ 填空题数量
+
+
+
+ -
+
+
+ -
+
+
+ 选择题数量
+
+
+
+ -
+
+
+ -
+
+
+ 难度下界
+
+
+
+ -
+
+
+ -
+
+
+ 难度上界
+
+
+
+ -
+
+
+
+
+
+
+
+ 360
+ 70
+ 131
+ 171
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ 使用难度的哪个数据
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 难度最小值
+
+
+
+ -
+
+
+ 难度最大值
+
+
+
+ -
+
+
+ 难度平均数
+
+
+
+ -
+
+
+ 难度中位数
+
+
+
+
+
+
+
+
+ 520
+ 70
+ 201
+ 41
+
+
+
+
+ true
+
+
+
+ 生成
+
+
+
+
+
+ 360
+ 260
+ 54
+ 16
+
+
+
+ 生成张数
+
+
+
+
+
+ 420
+ 260
+ 71
+ 20
+
+
+
+
+
+
+ 1
+
+
+
+
+
+ 520
+ 140
+ 201
+ 221
+
+
+
+
+
+
+ 360
+ 290
+ 81
+ 16
+
+
+
+ 相似阈值上限
+
+
+
+
+
+ 450
+ 290
+ 41
+ 20
+
+
+
+ 0.65
+
+
+
+
+
+ 520
+ 120
+ 54
+ 16
+
+
+
+ 试卷代码
+
+
+
+
+
+ 360
+ 320
+ 54
+ 16
+
+
+
+ 排除年级
+
+
+
+
+
+ 420
+ 320
+ 71
+ 20
+
+
+
+
+
+
+
+
+
+ 4
+
+
+ 20xx
+
+
+
+
+
+