小编Man*_*cob的帖子

什么库创建简单的2D图形,并在Pythonista和"普通"Python中工作

我想生成非常简单的2D图形.什么Python库可以在Pythonista和普通的python中工作?

我是Pythonista的粉丝,也是在PC上为"普通"Python编写应用程序的粉丝,并且希望我的代码可以在两者上工作.

我知道Pythonista会指示人们使用Scene模块,但这在其他地方的Python中无法解决,我很确定......

十分感谢!

python graphics pythonista

7
推荐指数
1
解决办法
962
查看次数

C中的哪些对象声明会导致保留存储(即定义)?

C11在第6.7节中规定了哪些声明也是定义:

标识符的定义是该标识符的声明:
- 对于对象,导致为该对象保留存储;
[...]

我没有找到一个完整的列表,其中列出了哪些对象声明会导致保留存储空间.直观地说,我很清楚,但是我无法从C11标准中获得这些信息.

c language-lawyer c11

6
推荐指数
1
解决办法
174
查看次数

指针相等是否意味着整数相等?

int *a, int *b,是否a == b暗示(intptr_t)a == (intptr_t)b?我知道在现代X86 CPU上也是如此,但C标准或POSIX或任何其他标准是否能为此提供保证?

c posix pointers language-lawyer c11

6
推荐指数
1
解决办法
212
查看次数

Python - 优化不等式系统

我正在研究Python中的一个程序,其中一小部分涉及优化方程/不等式系统.理想情况下,我本来想做的就像在Modelica中一样,写出方程并让解算器处理它.

解算器和线性编程的操作有点超出我的舒适范围,但我决定尝试.问题是程序的一般设计是面向对象的,组合方程有许多不同的可能性,以及一些非线性,所以我无法将其转化为线性规划问题(但我可能错了).

经过一些研究,我发现Z3求解器似乎做了我想要的.我想出了这个(这看起来像我想要优化的典型情况):

from z3 import *

a = Real('a')
b = Real('b')
c = Real('c')
d = Real('d')
e = Real('e')
g = Real('g')
f = Real('f')
cost = Real('cost')

opt = Optimize()
opt.add(a + b - 350 == 0)
opt.add(a - g == 0)
opt.add(c - 400 == 0)
opt.add(b - d * 0.45 == 0)
opt.add(c - f - e - d == 0)
opt.add(d <= 250)
opt.add(e <= 250)

opt.add(cost == If(f > 0, …
Run Code Online (Sandbox Code Playgroud)

python solver z3 z3py

5
推荐指数
1
解决办法
1714
查看次数

如何配置无头 Chromedriver 来模拟悬停设备?

在我的应用程序中,某些元素仅应在设备支持悬停时出现。因此,我使用以下 CSS:

\n\n
@media(hover: none) {\n  #present-only-if-device-supports-hover {\n    display: none;\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

为了使用 Capybara 进行测试,我\xe2\x80\x99d 喜欢模拟具有悬停功能的设备。到目前为止,我只能让它在非无头模式下工作。

\n\n

我使用以下检查:

\n\n
expect(page).to have_selector('#present-only-if-device-supports-hover', visible: true)\n
Run Code Online (Sandbox Code Playgroud)\n\n

有了 driver :selenium_chrome,检查就通过了。不过,与司机:selenium_chrome_headless,检查会失败,因为该元素不可见。

\n\n

(作为旁注:Capybara::Node::Element#hover适用于两个驱动程序。)

\n\n

我尝试了一些方法,但\xe2\x80\x99并没有改变这种行为:

\n\n
    \n
  • 我使用 启用了设备模拟options.add_emulation(device_metrics: {width: 800, height: 800, pixelRatio: 1, touch: false}),因为禁用触摸似乎可以启用悬停。确实,改变:touchtrue使其停止在非无头模式下工作。但在无头模式下,两者都不起作用。
  • \n
  • 我尝试将webkit.webprefs.available_hover_typeswebkit.webprefs.primary_hover_type首选项(我在 Chromium 代码检查期间发现的)设置为1,但它没有\xe2\x80\x99t 有任何效果。我也尝试过离开webkit.webprefs.
  • \n
\n\n

更多建议?

\n

selenium capybara selenium-chromedriver selenium-webdriver

5
推荐指数
0
解决办法
383
查看次数