问题标签 [python-3.x]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
2765 浏览

algorithm - 我可以降低它的计算复杂度吗?

好吧,我有这段代码大大减慢了程序的速度,因为它是线性复杂度,但被调用了很多次,使程序成为二次复杂度。如果可能的话,我想降低它的计算复杂度,否则我会尽可能地优化它。到目前为止,我已经减少到:

有人看到我错过的任何东西吗?谢谢!

编辑:我忘了提:n 总是一个素数。

编辑 2:这是我的新改进程序(感谢所有贡献!):

编辑 3:在真实环境中测试它快得多!好吧,这个问题似乎已解决,但有很多有用的答案。我还应该说,除了上述优化之外,我还使用 Python 字典记住了该函数......

0 投票
9 回答
43883 浏览

python - 用于 Python 3.x 的 MySQL-db 库?

那么,寻找一个与py3k/py3.0/py3000兼容的mysql-db-lib,有什么想法吗?谷歌一无所获。

0 投票
2 回答
455 浏览

python - Python 3 移植工作流程?

我有一个小项目我想尝试移植到 Python 3 - 我该怎么做?

python2.6 -3我已经使用(主要是删除调用)使代码在没有警告的情况下运行.has_key(),但我不确定使用 2to3 工具的最佳方法。

使用 2to3 工具将此源代码转换为 3.0 语法。不要手动编辑输出!

运行2to3 something.py输出一个差异,它本身没有用。使用该--write标志会覆盖 something.py 并创建备份.. 似乎我必须这样做..

..这有点绕 - 理想情况下我可以做类似..

0 投票
3 回答
6568 浏览

algorithm - 查找具有特定属性的整数 - 欧拉计划问题 221

我最近对 ​​Project Euler 非常上瘾,接下来我正在尝试做这个!我已经开始对其进行一些分析,并且已经大大减少了问题。这是我的工作:

A = pqr 和

1/A = 1/p + 1/q + 1/r 所以 pqr/A = pq + pr + qr

由于第一个方程:

pq+pr+qr = 1

由于 p、q 和 r 中的两个必须是负数,我们可以将方程简化为:

abc 其中 ab = ac+bc+1

求解 c 我们得到:

ab-1 = (a+b)c

c = (ab-1)/(a+b)


这意味着我们需要找到 a 和 b :

ab = 1 (mod a+b)

然后我们的 A 值与那些 a 和 b 是:

A = abc = ab(ab-1)/(a+b)

对不起,如果这是很多数学!但现在我们要处理的只是一个条件和两个方程。现在,因为我需要找到写为 ab(ab-1)/(a+b) 且 ab = 1 (mod a+b) 的第 150,000 个最小整数,所以理想情况下我想搜索 A 的 (a, b)尽可能小。

为方便起见,我假设 a < b 并且我还注意到 gcd(a, b) = 1。

我的第一个实现是直截了当的,甚至可以足够快地找到 150,000 个解决方案。但是,找到 150,000 个最小的解决方案需要很长时间。无论如何,这是代码:

我的下一个想法是使用 Stern-Brocot 树,但这太慢了,无法找到解决方案。我的最终算法是使用中国剩余定理来检查 a+b 的不同值是否产生解决方案。该代码很复杂,虽然速度更快,但还不够快......

所以我完全没有想法!有人有什么想法吗?

0 投票
3 回答
19629 浏览

python - 如何在 python 3.0 中通过 http 授权下载文件,解决错误?

我有一个我想继续使用的脚本,但看起来我要么必须为 Python 3 中的错误找到一些解决方法,要么降级回 2.6,因此也不得不降级其他脚本......

希望这里有人已经设法找到解决方法。

问题在于,由于 Python 3.0 中有关字节和字符串的新变化,显然并非所有库代码都经过了测试。

我有一个从 Web 服务器下载页面的脚本。该脚本在 python 2.6 中将用户名和密码作为 url 的一部分传递,但在 Python 3.0 中,这不再起作用。

例如,这个:

失败并出现此异常:

显然,base64 编码现在需要输入字节并输出一个字符串,因此 urlretrieve(或其中的一些代码)构建一个用户名:密码字符串,并尝试对其进行 base64 编码以进行简单授权,但失败了。

如果我改为尝试使用 urlopen,如下所示:

然后它失败并出现以下异常:

显然,这个“下一代 url 检索库”中的 url 解析不知道如何处理 url 中的用户名和密码。

我还有什么其他选择?

0 投票
8 回答
143899 浏览

python - 在 Python 中调用类方法会引发 TypeError

我不明白如何使用类。当我尝试使用该类时,以下代码给了我一个错误。

错误:

怎么了?

0 投票
3 回答
1485 浏览

python - Tix 和 Python 3.0

有没有人在 python 3.0 下看到 Tix 中的任何东西?我已经尝试过这些示例,但是在创建任何内容时,它都声明 cnf 是不可订阅的。

我还注意到 Dir Select 的东西(DirList DirTree)在 2.6.1 下都不起作用。

为什么 Python 既不转储 Tix 也不支持它?它有很多好东西可以制作简单的程序。

0 投票
5 回答
1537 浏览

python - Python 3.0 是否有任何图形/绘图/类似的库?

按照标题。我正在尝试创建一个简单的散点图,但还没有找到任何可以做到的 Python 3.0 库。请注意,这不适用于网站,因此网络版有点没用。

0 投票
12 回答
343950 浏览

python - Python 3 中 execfile 的替代方法是什么?

似乎他们在 Python 3 中取消了通过删除快速加载脚本的所有简单方法execfile()

有没有我想念的明显替代方案?

0 投票
5 回答
741 浏览

python - Python 3 开发和分发挑战

假设我开发了一个用 Python 编写的通用最终用户实用程序。以前,我只有一个适用于 Python 的版本,该版本晚于 2.3 版左右。说“如果需要,请下载 Python,然后运行此脚本”就足够了。源代码控制中只有一个版本的脚本(我正在使用 Git)来跟踪。

在 Python 3 中,这不再是必然的。在可预见的未来,我需要同时开发两个不同的版本,一个适合 Python 2.x,一个适合 Python 3.x。从开发的角度来看,我可以想到几个选择:

  1. 在同一分支中维护两个不同的脚本,同时对两者进行改进。
  2. 维护两个独立的分支,并随着开发的进行来回合并常见的更改。
  3. 只维护脚本的一个版本,并签入将脚本从一个版本转换为另一个版本的补丁文件。当进行了足够多的更改以致补丁不再干净应用时,请解决冲突并创建新补丁。

我目前倾向于选项 3,因为前两个将涉及很多容易出错的乏味。但是选项 3 似乎很混乱,我的源代码控制系统应该为我管理补丁。

对于配送包装,有更多选项可供选择:

  1. 提供两种不同的下载包,一种适用于 Python 2,一种适用于 Python 3(用户必须知道为他们拥有的任何 Python 版本下载正确的下载包)。
  2. 提供一个下载包,其中包含两个不同的脚本(然后用户必须知道运行正确的脚本)。
  3. 一个包含两个特定于版本的脚本的下载包,以及一个可以在两个 Python 版本中运行的小型存根加载程序,它为已安装的 Python 版本运行正确的脚本。

我现在再次倾向于选项 3,尽管我还没有尝试开发这样的存根加载器。

还有其他想法吗?