$id = ...;
$sql = "SELECT * FROM datbase WHERE id < $id ORDER BY id DESC, id DESC LIMIT 5";
和
$sql = "SELECT * FROM datbase WHERE id > $id ORDER BY id ASC, id DESC LIMIT 5";
如何合并为一个请求
$id = ...;
$sql = "SELECT * FROM datbase WHERE id < $id ORDER BY id DESC, id DESC LIMIT 5";
和
$sql = "SELECT * FROM datbase WHERE id > $id ORDER BY id ASC, id DESC LIMIT 5";
如何合并为一个请求
SimpleUI 文档描述了几种从代码触发语音识别的方法:
尝试从代码启动识别:
com.chaquo.python.PyException: TypeError: Unbound method ru.travelfood.simple_ui.SimpleUtilites.listen must be called with ru.travelfood.simple_ui.SimpleUtilites instance as first argument (got nothing instead)
at <python>.java.chaquopy.JavaMethod.check_args(class.pxi:813)
at <python>.java.chaquopy.JavaMethod.__call__(class.pxi:784)
at <python>.android.listen(android.py:86)
at <python>.runscript_base.<module>(<string>:2)
at <python>.runscript_base.runscript(runscript_base.py:92)
at <python>.chaquopy_java.call(chaquopy_java.pyx:354)
at <python>.chaquopy_java.Java_com_chaquo_python_PyObject_callAttrThrowsNative(chaquopy_java.pyx:326)
at com.chaquo.python.PyObject.callAttrThrowsNative(Native Method)
at com.chaquo.python.PyObject.callAttrThrows(PyObject.java:232)
at com.chaquo.python.PyObject.callAttr(PyObject.java:221)
at ru.travelfood.simple_ui.EventManager.RunPyScript(EventManager.java:3183)
at ru.travelfood.simple_ui.EventManager.perform(EventManager.java:531)
at ru.travelfood.simple_ui.ProcessActivity.DoNext(ProcessActivity.java:1431)
at ru.travelfood.simple_ui.ProcessActivity$98.onClick(ProcessActivity.java:21744)
at android.view.View.performClick(View.java:7448)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28305)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
APK 版本 14_35_00,但尝试了更高版本,12。
Android 11 和 13
为了测试目的,我创建了一个带有一个按钮的进程以及该按钮的一个 pythonscript 处理程序。
问题:文档是最新的吗?目前推荐的从 Python 代码运行语音识别的方法是什么?是否可以设置用户语音输入的超时时间?如果可以,如何设置?
目标是通过说话启动语音合成,并在播放完成后打开用户语音的录制,而无需按下设备上的按钮。
我曾经安装过 pyqt5 库,它运行良好,现在我首先通过 PyCharm 中的终端安装了这个库,然后通过 PowerShell 再次重复安装(据我所知,我首先在虚拟环境中安装了该库,然后也安装了解释器本身)。使用 Qt Designer,我创建了一个 .ui 文件并在 PowerShell 中输入命令
python -m PyQt5.uic.pyuic -x 任务1.ui -o 任务_1.py
我完美地创建了所有内容,并且 .py 文件出现了,但是当我尝试运行时,它给出了一个错误(见下图)尝试运行文件时出现错误
错误文本:此应用程序无法启动,因为无法初始化 Qt 平台插件。重新安装该应用程序可能会解决此问题。
PyCharm 终端中的 pip 列表
powershell 中的 pip 列表
还有一件事:我原则上安装了一个非常奇怪的 Python 解释器
这是文件代码
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1053, 642)
font = QtGui.QFont()
font.setPointSize(20)
MainWindow.setFont(font)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(530, 80, 441, 101))
self.lineEdit.setObjectName("lineEdit")
self.spinBox = QtWidgets.QSpinBox(self.centralwidget)
self.spinBox.setGeometry(QtCore.QRect(350, 70, 161, 111))
self.spinBox.setObjectName("spinBox")
self.dateEdit = QtWidgets.QDateEdit(self.centralwidget)
self.dateEdit.setGeometry(QtCore.QRect(100, 70, 231, 121))
self.dateEdit.setObjectName("dateEdit")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(370, 250, 341, 171))
self.pushButton.setObjectName("pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1053, 43))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.pushButton.clicked.connect(self.task_1)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "ТЫК!"))
def task_1(self):
date = self.dateEdit.date()
days = self.spinBox.value()
new_date = date.addDays(days)
self.lineEdit.setText(new_date.toString())
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
你好。我好像没有遇到错误,但是它不能正常工作。重点是c1
,c2
和c3
不想工作。当我将鼠标悬停在它们上方(c1
,, )时c2
,c3
它告诉我:“局部变量值未被使用”(我在 PyCharm 中编码)。
理论上c1
,c2
这些c3
都是细胞,细胞。当其中任意一个取值为 时True
,表示该单元格已被占用,但直到顶部第一个单元格未被占用(c1
),其余单元格才能取值True
。
bg
它是一个 9x9 单元格区域。当然,这些并不是全部的单元格,只是代码被缩短了。但是这些单元格(c1
,c2
,c3
)在左行垂直排列。细胞数量为何这么少?嗯...我就是需要这样的。
我在论坛中搜索我的问题的答案,但没有找到答案或答案不合适。要么我瞎了。
以下是代码:
import pygame
from random import randint
from pygame import KEYDOWN, K_SPACE
w = 1280
h = 720
s_size = w, h
pygame.init()
screen = pygame.display.set_mode(s_size)
pygame.display.set_caption("First steps")
bg = pygame.image.load("images/KBGameFINAL.png")
bg = pygame.transform.scale(bg, s_size)
whb = (72, 72)
bone1 = pygame.image.load("images/KBG1.png")
bone1 = pygame.transform.scale(bone1, whb)
bone2 = pygame.image.load("images/KBG2.png")
bone2 = pygame.transform.scale(bone2, whb)
screen.blit(bg, (0, 0))
running = True
button_surface1 = pygame.Surface((72, 248))
button_rect1 = pygame.Rect(512, 408, 72, 248)
block = False
b = None
y = 408
y2 = 496
y3 = 584
cell1 = False
cell2 = False
cell3 = False
def check(x, bo, c1, c2, c3): # Здесь проблема!
global block
if c3: pass
elif c2:
screen.blit(bo, (x, y3))
c3 = True #Local variable 'c3' value is not used
block = True
elif c1:
screen.blit(bo, (x, y2))
c2 = True #Local variable 'c2' value is not used
block = True
else:
screen.blit(bo, (x, y))
c1 = True #Local variable 'c1' value is not used
block = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
if button_rect1.collidepoint(event.pos):
if block:
continue
if b == bone1:
check(512, bone1, cell1, cell2, cell3)
elif b == bone2:
check(512, bone2, cell1, cell2, cell3)
elif event.type == KEYDOWN:
if event.key == K_SPACE:
bxy1 = (216, 496)
n = randint(1, 2)
if n == 1:
screen.blit(bone1, bxy1)
b = bone1
elif n == 2:
screen.blit(bone2, bxy1)
b = bone2
pygame.display.update()
pygame.quit()
好啦,就这样。我希望得到你的帮助。
有n根绳子,你需要把它们剪成k段长度相同的绳子。找出可以获得的碎片的最大长度。
输入数据第一行包含两个数字——n和k(1≤n,k≤10000)。另外,在接下来的 n 行中,每行写一个数字——下一根绳子的长度 ai (1≤ai≤107)。
输出打印一个实数 - 可以获得的碎片的最大长度。如果相对误差或绝对误差不超过 10−6,则答案将被视为正确。
Пример
Входные данные
4 11
802
743
457
539
Выходные данные
200.5
n, k = map(int, input().split())
def bina_(sp,n,k): # поиск целого числа
i = 0
r = 10 ** 7 + 1
while r > i + 1:
sr = (i + r) // 2
if proveri_(sr,sp,k) == 1:
i = sr
else:
r = sr
return i
def bina_s(sp,a,k): # поиск числа после точки
i = 0
r = 9999999999
while r > i + 1:
sr = (i + r) // 2
if proveri_s(sp,a,k,sr) == 1:
i = sr
else:
r = sr
return i
def proveri_s(sp,a,k,sr):
co_ = 0
for i in sp:
co_ += int(i // float(f'{a}.{sr}'))
if co_ >= k:
return 1
def proveri_(sr,sp,k):
co_ = 0
for i in sp:
co_ += (i // sr)
if co_ >= k:
return 1
sp = []
for i in range(n):
sp.append(int(input()))
a = bina_(sp,n,k)
b = bina_s(sp,a,k)
print(float(f'{a}.{b}'))
简化代码
n, k = map(int, input().split())
def bina_(sp,n,k):
i = 1
r = 10 ** 7 + 1
for _ in range(1000):
sr = (i + r) / 2
if proveri_(sr,sp,k) == 1:
i = sr
else:
r = sr
return i
def proveri_(sr,sp,k):
co_ = 0
for i in sp:
co_ += (i // sr)
if co_ >= k:
return 1
sp = []
for i in range(n):
sp.append(int(input()))
a = bina_(sp,n,k)
print(a)