我们假设有一个字符串"0 - 1 + 2 - 3 + 4 - 5 + 6"。您需要在不使用函数的情况下执行/评估该表达式eval()。
我可以迭代字符串、将数字转换为int、从中创建列表等,但我无法用运算符替换字符串。
我们假设有一个字符串"0 - 1 + 2 - 3 + 4 - 5 + 6"。您需要在不使用函数的情况下执行/评估该表达式eval()。
我可以迭代字符串、将数字转换为int、从中创建列表等,但我无法用运算符替换字符串。
假设我有一个名为 的对象"WB",并且该对象包含ArrayListname "result"。在我的 Spring boot 控制器中,WB 表示为("WB",WB).在 Mustache 模板中WB,一切正常:
{{#WB}}
{{someStringObjectFromWB}}
{{/WB}}
但我不知道如何ArrayList ("result")以相同的方式(如果可能的话)迭代我的:
{{#WB}}
{{result}}
{{/WB}}
请帮忙。
我尝试做这样的事情,但它不起作用:
{{#WB}}
{{#result}}{{.}} {{/result}}
{{/WB}}
@PostMapping (/getResult)
public String res (Map<String,Object>stat){
WB wb= WB.calc();
stat.put("wb",wb);
}
通过变量名称输出常规字符串整数对象没有问题。但我不明白如何显示列表。
{{#wb}}
{{#result}}
<ul>{{item}}</ul>
{{/result}}
{{/wb}}
任务:给定一个数字 N。N<=1,000,000 分为集合 1...N,检查该集合是否可以表示为两个集合,使得每个集合的总和等于 N/2。例如:N=11,输出:[[1,2,4,5,6,7,8],[3,9,10,11]]。那里和那里 33.
我的代码不适用于大数字。我用爪子写了一些又大又臭的东西:
import java.util.*;
import java.util.ArrayList;
import java.util.List;
public class CreateTwoSetsOfEqualSum {
public static List<List<Integer>> createTwoSetsOfEqualSum(int n) {
List<List<Integer>> sets = new ArrayList<>();
int tmp = 0;
int sum1 = 0;
List<Integer> list = new ArrayList<>();
List<Integer> res1 = new ArrayList<>();
List<Integer> res2 = new ArrayList<>();
for(int i=1; i<=n; i++){
tmp += i;
list.add(i);
}
if(tmp % 2 > 0){
sets.add(new ArrayList<>());
sets.add(new ArrayList<>());
return sets;
} else {
tmp /= 2;
int i = list.size()-1;
while(sum1 < tmp && i>0){
if(sum1+list.get(i) < tmp){
res1.add(list.get(i));
sum1 += list.get(i);
} else
while(sum1 != tmp){
if(sum1+list.get(i)==tmp){
sum1 += list.get(i);
res1.add(list.get(i));
break;
} else {
i--;
}
}
i--;
}
for(int a=0; a<res1.size(); a++){
for(int j=0; j<list.size(); j++){
if(res1.get(a)==list.get(j)){
list.remove(list.get(j));
}
}
}
Collections.reverse(res1);
sets.add(new ArrayList<>());
sets.add(new ArrayList<>());
for(int l : res1){
sets.get(0).add(l);
}
for(int l : list){
sets.get(1).add(l);
}
return sets;
}
}
}
int tmp、int sum1 不适合,因为2^31-1 等...长 - 执行时间 16000ms 像这样的:
Test Results:
SolutionTest
randomTests()
STDERR
Execution Timed Out (16000 ms)
测试:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
class SolutionTest {
@Test
void fixedTests() {
for (int i = 1; i <= 10; i++) {
final ResultMessage verification = Preloaded.validateTwoSetsOfEqualSum(i, CreateTwoSetsOfEqualSum.createTwoSetsOfEqualSum(i));
final boolean result = verification.result;
final String message = verification.message;
assertTrue(result, "i = " + i + " Result: " + message);
}
}
}
也许我们不应该受虐,而是直接将数字输入到子列表中。 告诉我一些聪明的事情)
我正在做一个项目,即TG中的一个聊天机器人,任务之一就是回答用户的问题。我有一个常见问题列表,但我不知道如何将它们添加到数据库(sqlite)中,或者是否值得这样做。问题还在于,本质上相同的问题可以用不同的词语提出,据我所知,它可以通过 nltk 库来解决。告诉我如何最好地做到这一点,或者告诉我如何正确地谷歌搜索这个问题。提前致谢!
我在 中创建了应用程序布局Qt Designer,配置了所有参数并Python使用以下命令将其转换为代码:
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, QFrame, QGridLayout, QLabel,
QLineEdit, QMainWindow, QMenuBar, QPushButton,
QSizePolicy, QStatusBar, QWidget)
class Ui_OST_authorization(object):
def setupUi(self, OST_authorization):
if not OST_authorization.objectName():
OST_authorization.setObjectName(u"OST_authorization")
OST_authorization.resize(330, 381)
OST_authorization.setMinimumSize(QSize(330, 381))
OST_authorization.setMaximumSize(QSize(330, 395))
OST_authorization.setStyleSheet(u"QLineEdit#Name{\n"
" min-width: 310px;\n"
" min-height: 33px;\n"
" max-width: 310px;\n"
" max-height: 33px;\n"
"}\n"
"QLineEdit#Surname{\n"
" min-width: 310px;\n"
" min-height: 33px;\n"
" max-width: 310px;\n"
" max-height: 33px;\n"
"}\n"
"QLineEdit#Patronymic{\n"
" min-width: 310px;\n"
" min-height: 33px;\n"
" max-width: 310px;\n"
" max-height: 33px;\n"
"}\n"
"QLineEdit#Class{\n"
" min-width: 310px;\n"
" min-height: 33px;\n"
" max-width: 310px;\n"
" max-height: 33px;\n"
"}\n"
"QLineEdit#Series{\n"
" min-width: 310px;\n"
" min-height: 33px;\n"
" max-width: 310px;\n"
" max-height: 33px;\n"
"}\n"
"QLineEdit#Number{\n"
" min-width: 310px;\n"
" min-height: 33px;\n"
" max-width: 310px;\n"
" max-height: 33px;\n"
"}\n"
"QPushButton#Continue{\n"
" min-width: 310px;\n"
" min-height: 33px;\n"
" max-width: 310px;\n"
" max-height: 33px;\n"
"}\n"
"")
OST_authorization.setDocumentMode(True)
self.centralwidget = QWidget(OST_authorization)
self.centralwidget.setObjectName(u"centralwidget")
self.gridLayout = QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(u"gridLayout")
self.Name = QLineEdit(self.centralwidget)
self.Name.setObjectName(u"Name")
self.Name.setEnabled(True)
self.Name.setMinimumSize(QSize(312, 35))
self.Name.setMaximumSize(QSize(312, 35))
self.Name.setStyleSheet(u"")
self.gridLayout.addWidget(self.Name, 5, 0, 1, 2)
self.AuthorizationLable = QLabel(self.centralwidget)
self.AuthorizationLable.setObjectName(u"AuthorizationLable")
self.gridLayout.addWidget(self.AuthorizationLable, 4, 0, 1, 2)
self.line = QFrame(self.centralwidget)
self.line.setObjectName(u"line")
self.line.setFrameShape(QFrame.Shape.HLine)
self.line.setFrameShadow(QFrame.Shadow.Sunken)
self.gridLayout.addWidget(self.line, 8, 0, 1, 2)
self.Class = QLineEdit(self.centralwidget)
self.Class.setObjectName(u"Class")
self.Class.setMinimumSize(QSize(312, 35))
self.Class.setMaximumSize(QSize(312, 35))
self.gridLayout.addWidget(self.Class, 9, 0, 1, 2)
self.line_2 = QFrame(self.centralwidget)
self.line_2.setObjectName(u"line_2")
self.line_2.setFrameShape(QFrame.Shape.HLine)
self.line_2.setFrameShadow(QFrame.Shadow.Sunken)
self.gridLayout.addWidget(self.line_2, 10, 0, 1, 2)
self.Series = QLineEdit(self.centralwidget)
self.Series.setObjectName(u"Series")
self.Series.setMinimumSize(QSize(312, 35))
self.Series.setMaximumSize(QSize(312, 35))
self.gridLayout.addWidget(self.Series, 11, 0, 1, 2)
self.Continue = QPushButton(self.centralwidget)
self.Continue.setObjectName(u"Continue")
self.Continue.setMinimumSize(QSize(312, 35))
self.Continue.setMaximumSize(QSize(312, 35))
self.gridLayout.addWidget(self.Continue, 14, 0, 1, 2)
self.line_3 = QFrame(self.centralwidget)
self.line_3.setObjectName(u"line_3")
self.line_3.setFrameShape(QFrame.Shape.HLine)
self.line_3.setFrameShadow(QFrame.Shadow.Sunken)
self.gridLayout.addWidget(self.line_3, 13, 0, 1, 2)
self.Patronymic = QLineEdit(self.centralwidget)
self.Patronymic.setObjectName(u"Patronymic")
self.Patronymic.setMinimumSize(QSize(312, 35))
self.Patronymic.setMaximumSize(QSize(312, 35))
self.gridLayout.addWidget(self.Patronymic, 7, 0, 1, 2)
self.Surname = QLineEdit(self.centralwidget)
self.Surname.setObjectName(u"Surname")
self.Surname.setMinimumSize(QSize(312, 35))
self.Surname.setMaximumSize(QSize(312, 35))
self.gridLayout.addWidget(self.Surname, 6, 0, 1, 2)
self.Number = QLineEdit(self.centralwidget)
self.Number.setObjectName(u"Number")
self.Number.setMinimumSize(QSize(312, 35))
self.Number.setMaximumSize(QSize(312, 35))
self.gridLayout.addWidget(self.Number, 12, 0, 1, 2)
OST_authorization.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(OST_authorization)
self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 330, 22))
OST_authorization.setMenuBar(self.menubar)
self.statusbar = QStatusBar(OST_authorization)
self.statusbar.setObjectName(u"statusbar")
OST_authorization.setStatusBar(self.statusbar)
self.retranslateUi(OST_authorization)
QMetaObject.connectSlotsByName(OST_authorization)
# setupUi
def retranslateUi(self, OST_authorization):
OST_authorization.setWindowTitle(QCoreApplication.translate("OST_authorization", u"OST - (\u0434\u0435\u043c\u043e \u0432\u0435\u0440\u0441\u0438\u044f)", None))
self.Name.setPlaceholderText(QCoreApplication.translate("OST_authorization", u"\u0418\u043c\u044f", None))
self.AuthorizationLable.setText(QCoreApplication.translate("OST_authorization", u"<html><head/><body><p><span style=\" font-size:12pt;\">\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f</span></p></body></html>", None))
self.Class.setPlaceholderText(QCoreApplication.translate("OST_authorization", u"\u041d\u043e\u043c\u0435\u0440 \u0438 \u0431\u0443\u043a\u0432\u0430 \u043a\u043b\u0430\u0441\u0441\u0430", None))
self.Series.setPlaceholderText(QCoreApplication.translate("OST_authorization", u"\u0421\u0435\u0440\u0438\u044f", None))
self.Continue.setText(QCoreApplication.translate("OST_authorization", u"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c", None))
self.Patronymic.setPlaceholderText(QCoreApplication.translate("OST_authorization", u"\u041e\u0442\u0447\u0435\u0441\u0442\u0432\u043e (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438)", None))
self.Surname.setPlaceholderText(QCoreApplication.translate("OST_authorization", u"\u0424\u0430\u043c\u0438\u043b\u0438\u044f", None))
self.Number.setPlaceholderText(QCoreApplication.translate("OST_authorization", u"\u041d\u043e\u043c\u0435\u0440", None))
# retranslateUi
我创建了一个文件来运行该程序,但遇到了错误:
Traceback (most recent call last):
File "D:\Projects\ProjectsProgramming\PyCharmCommunity\OST\src\quiz\authorization.py", line 20, in <module>
authorization_window = Authorization()
^^^^^^^^^^^^^^^
File "D:\Projects\ProjectsProgramming\PyCharmCommunity\OST\src\quiz\authorization.py", line 13, in __init__
self.ui.setupUi(self)
File "D:\Projects\ProjectsProgramming\PyCharmCommunity\OST\src\ui\py\OST_authorization.py", line 27, in setupUi
OST_authorization.setMinimumSize(QSize(330, 381))
TypeError: arguments did not match any overloaded call:
setMinimumSize(self, minw: int, minh: int): argument 1 has unexpected type 'PySide6.QtCore.QSize'
setMinimumSize(self, s: QSize): argument 1 has unexpected type 'PySide6.QtCore.QSize'
Process finished with exit code 1
要运行的文件代码:
import sys
from PyQt6.QtWidgets import QApplication, QWidget
from src.ui.py.OST_authorization import Ui_OST_authorization
class Authorization(QWidget):
def __init__(self):
super().__init__()
self.ui = Ui_OST_authorization()
self.ui.setupUi(self)
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
authorization_window = Authorization()
sys.exit(app.exec())
我假设您需要添加一些模块,但是哪些模块以及如何修复代码?