RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-458545

CameL's questions

Martin Hope
CameL
Asked: 2022-07-24 13:57:44 +0000 UTC

从 Python 传递列表到 Prolog PySwip

  • 0

我正在使用 PySwip 库使用 Prolog 和 Python 编写程序。我需要将一个列表从 Python 传递给 Prolog。现在,我已经这样做了:

from pyswip import Prolog
p = Prolog()
p.assertz("fruits([apple,banana,orange])")  # Создание списка
p.assertz("result(X) :- fruits(L), member(X, L)")  # Правило вхождения элемента в список
print(list(p.query("result(orange).")))  # Возвращает True, если такой элемент есть в списке

但是我需要让列表成为一个单独的对象,因为我需要用它执行某些操作,然后如何将它发送到序言。我不知道如何实现它。

from pyswip import Prolog
p = Prolog()
fruits = [apple,banana,orange]
p.assertz("Как передать в Prolog список fruits???") # Я не знаю как это реализовать.

告诉我如何做到这一点?预先感谢大家的帮助。

python
  • 1 个回答
  • 10 Views
Martin Hope
CameL
Asked: 2022-06-26 20:11:43 +0000 UTC

QCompleter 显示空 QLineEdit 上的所有值

  • 1

大家好,我遇到了这个问题。我有一个使用 QCompleter 弹出列表实现搜索的 QLineEdit。如果在 QlineEdit 中输入了至少一个字母,则会出现该列表(图 1)。我需要实现,如果用户将光标放在 QLineEdit 中,那么 QCompliter 中所有可能的选项都应该出现(图 2)。

图片1 图 2

我在 C++ 中发现了一个类似的问题,建议使用以下方法执行此操作:

my_completer.setCompletionPrefix("")
my_completer.complete()

但是,这对我不起作用。你能告诉我如何完成我的任务吗?整个程序代码:

import sys
from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication, QLineEdit, QCompleter

class Window(QMainWindow):
    def __init__(self):
        super().__init__()

        # Текстовая линия
        line1 = QLineEdit(self)
        line1.setGeometry(100,100,200,35)

        # Комплитер
        my_list = ["Apple", "Apartments", "Application"]
        my_completer = QCompleter(my_list)
        line1.setCompleter(my_completer)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()
    window.setGeometry(450, 200, 800, 600)
    window.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
CameL
Asked: 2022-05-27 20:01:07 +0000 UTC

从列表中自动完成 sql db,绕过自动增量列

  • 0

大家好,我遇到了一个关于使用Python语言填写SQL表的问题。如您所知,可以通过这种方式输入列表中表格中的数据。

#Добавление набора данных
surnames = ["Ivanov", "Petrov", "Sergeeva"]
names = ["Denis", "Roman", "Nastya"]
phones = ["123", "345","678"]
ages = [20,25,27]
for i in range(len(surnames)):
    cursor.execute("""INSERT INTO users_base
                         VALUES ('%s','%s','%s','%d')
                         """ % (surnames[i], names[i], phones[i],ages[i]))
conn.commit()

我想实现这个数据是在一列中移位输入的,这样数据的填充来自第二列,并且在第一列中自动生成一个标识符。无法输入变量 i 的值,因为重启时会出错。我知道如何生成标识符,我有一个问题,如何使输入的列表中的数据不是从第一列开始,而是从第二列开始。提前感谢您的回复。

Ожидаемый результат:
Id    Surname   Name   Phone   Age
---   -------   ----   -----   ---
      Ivanov    Denis  123     20 
      Petrov    Roman  345     25
      Sergeeva  Nastya 678     27

PS 我不想使用带有列名的选项,因为有很多列(超过 30 个)。我在问题中提供的表格是一个简化的示例。

python
  • 1 个回答
  • 10 Views
Martin Hope
CameL
Asked: 2022-05-17 21:29:08 +0000 UTC

如何检查可以将 Python 变量转换为什么类型

  • 2

大家好,我遇到了这个问题。我正在阅读一个 Excel 文件,其中包含不同类型的数据(日期、数字、浮点数和字符串)。我使用 xlrd 库阅读,当然所有数据都被读入字符串。接下来,我需要将此字符串转换为它们在 Excel 中的数据类型,换句话说,我需要检查是否可以将读取的字符串转换为 int、float 或 datetime。我写了这段代码,它可以工作。

workbook = xlrd.open_workbook('input.xlsx', 0)
sh = workbook.sheet_by_index(0)
for i in range(11, 12):
    for j in range(sh.ncols - 1):
        cll = sh.cell_value(rowx=i, colx=j)
        try:
            # Сначала проверяем можно ли сделать из этого дату старше 2010 года
            # Если да, то записываем
            if xlrd.xldate.xldate_as_datetime(sh.cell_value(rowx=i, colx=j), workbook.datemode).year > 2010:
                cll = xlrd.xldate.xldate_as_datetime(sh.cell_value(rowx=i, colx=j), workbook.datemode)
            else:
                raise TypeError
        except TypeError:
            try:
                # Теперь проверяем можно ли из этого сделать Int
                cll = int(sh.cell_value(rowx=i, colx=j))
            except ValueError:
                try:
                    # Теперь проверяем, можно ли из этого сделать Float
                    cll = float(sh.cell_value(rowx=i, colx=j))
                except ValueError:
                    # Если ничего не получилось, оставляем строкой
                    cll = str(cll)
        print(cll, type(cll))

但是,我认为这段代码可以用更简单的方式编写,特别是因为不同类型的数量可以增加,并且您将不得不越来越多地增加嵌套级别。告诉我,是否可以更容易地检查可以转换字符串变量的数据类型?提前感谢大家的回复。

python
  • 1 个回答
  • 10 Views
Martin Hope
CameL
Asked: 2022-04-22 19:13:41 +0000 UTC

自动换行 QComboBox 元素

  • 3

我遇到了自动换行下拉列表元素的问题QComboBox,即如果元素不适合列表的宽度,它会显示如下:

очень дли...элемент

我想实现元素的值全显示,如果空间不足自动换行,结果是这样的:

очень длинный 
элемент

我做了类似的事情QTableWidget,并且该方法在那里有效resizeRowsToContents(),但QComboBox在此不起作用。

是否有可能实现这一点QComboBox?

例子:

combo1 = QComboBox(self)
combo1.setGeometry(100, 270, 350, 50)
combo1.addItem("ооооченьььь длинннннннннннннннный элемееееееент")

结果

我需要去掉中间的点,让元素完全显示出来,那些不适合的字符被转移到下一行。

Python 3.6.2
PyQt5 5.15.4

pyqt5
  • 2 个回答
  • 10 Views
Martin Hope
CameL
Asked: 2022-09-06 18:19:31 +0000 UTC

读取服务器上的post请求参数

  • 0

我正在使用库在 python 中编写一个简单的 http 服务器BaseHTTPRequestHandler并HTTPServer遇到了问题。我需要在发布请求中传递一个定义服务器行为的属性。也就是说,例如,当传递属性 1 时,将数据写入基数 1,当传递属性 2 时,将数据写入基数 2。

我试图在传递请求时使用 data 和 params 参数来实现这一点。

res = requests.post(url, data = "aaa", params = 1)

我设法使用以下表达式计算数据参数:

content_length = int(self.headers['Content-Length'])
post_data = self.rfile.read(content_length)

功能代码:

def do_POST(self):
    self.send_response(200)
    self.send_header("Content-type", "text/html")
    content_length = int(self.headers['Content-Length'])
    post_data = self.rfile.read(content_length)

如何从参数中读取数据???

python
  • 1 个回答
  • 10 Views
Martin Hope
CameL
Asked: 2022-08-27 19:21:43 +0000 UTC

用弹出窗口替换主窗口

  • 2

我正在用PyQt5编写一个项目。现在我已经这样做了,当您单击按钮时,会在主窗口的顶部打开一个弹出窗口。

我需要确保当弹出窗口打开时,主窗口是关闭的,也就是说,实际上弹出窗口变成了主窗口。

我不知道如何实现它。close(), 和方法deleteLater()关闭两个窗口。

我附上代码。预先感谢大家的帮助。

from PyQt5.QtWidgets import *
from PyQt5 import QtCore

class Window(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        button1 = QPushButton(self)
        button1.clicked.connect(self.handleNewWindow)

    def handleNewWindow(self):
        window1 = QMainWindow(self)
        window1.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        window1.setWindowTitle(self.tr('New Window'))
        window1.setGeometry(450, 200, 800, 600)
        window1.show()

if __name__ == '__main__':

    import sys
    app = QApplication(sys.argv)
    window = Window()
    window.setGeometry(450,200,800,600)
    window.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5