问题标签 [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.
algorithm - 我可以降低它的计算复杂度吗?
好吧,我有这段代码大大减慢了程序的速度,因为它是线性复杂度,但被调用了很多次,使程序成为二次复杂度。如果可能的话,我想降低它的计算复杂度,否则我会尽可能地优化它。到目前为止,我已经减少到:
有人看到我错过的任何东西吗?谢谢!
编辑:我忘了提:n 总是一个素数。
编辑 2:这是我的新改进程序(感谢所有贡献!):
编辑 3:在真实环境中测试它要快得多!好吧,这个问题似乎已解决,但有很多有用的答案。我还应该说,除了上述优化之外,我还使用 Python 字典记住了该函数......
python - 用于 Python 3.x 的 MySQL-db 库?
那么,寻找一个与py3k/py3.0/py3000兼容的mysql-db-lib,有什么想法吗?谷歌一无所获。
python - Python 3 移植工作流程?
我有一个小项目我想尝试移植到 Python 3 - 我该怎么做?
python2.6 -3
我已经使用(主要是删除调用)使代码在没有警告的情况下运行.has_key()
,但我不确定使用 2to3 工具的最佳方法。
使用 2to3 工具将此源代码转换为 3.0 语法。不要手动编辑输出!
运行2to3 something.py
输出一个差异,它本身没有用。使用该--write
标志会覆盖 something.py 并创建备份.. 似乎我必须这样做..
..这有点绕 - 理想情况下我可以做类似..
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 的不同值是否产生解决方案。该代码很复杂,虽然速度更快,但还不够快......
所以我完全没有想法!有人有什么想法吗?
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 中的用户名和密码。
我还有什么其他选择?
python - 在 Python 中调用类方法会引发 TypeError
我不明白如何使用类。当我尝试使用该类时,以下代码给了我一个错误。
错误:
怎么了?
python - Tix 和 Python 3.0
有没有人在 python 3.0 下看到 Tix 中的任何东西?我已经尝试过这些示例,但是在创建任何内容时,它都声明 cnf 是不可订阅的。
我还注意到 Dir Select 的东西(DirList DirTree)在 2.6.1 下都不起作用。
为什么 Python 既不转储 Tix 也不支持它?它有很多好东西可以制作简单的程序。
python - Python 3.0 是否有任何图形/绘图/类似的库?
按照标题。我正在尝试创建一个简单的散点图,但还没有找到任何可以做到的 Python 3.0 库。请注意,这不适用于网站,因此网络版有点没用。
python - Python 3 中 execfile 的替代方法是什么?
似乎他们在 Python 3 中取消了通过删除快速加载脚本的所有简单方法execfile()
有没有我想念的明显替代方案?
python - Python 3 开发和分发挑战
假设我开发了一个用 Python 编写的通用最终用户实用程序。以前,我只有一个适用于 Python 的版本,该版本晚于 2.3 版左右。说“如果需要,请下载 Python,然后运行此脚本”就足够了。源代码控制中只有一个版本的脚本(我正在使用 Git)来跟踪。
在 Python 3 中,这不再是必然的。在可预见的未来,我需要同时开发两个不同的版本,一个适合 Python 2.x,一个适合 Python 3.x。从开发的角度来看,我可以想到几个选择:
- 在同一分支中维护两个不同的脚本,同时对两者进行改进。
- 维护两个独立的分支,并随着开发的进行来回合并常见的更改。
- 只维护脚本的一个版本,并签入将脚本从一个版本转换为另一个版本的补丁文件。当进行了足够多的更改以致补丁不再干净应用时,请解决冲突并创建新补丁。
我目前倾向于选项 3,因为前两个将涉及很多容易出错的乏味。但是选项 3 似乎很混乱,我的源代码控制系统应该为我管理补丁。
对于配送包装,有更多选项可供选择:
- 提供两种不同的下载包,一种适用于 Python 2,一种适用于 Python 3(用户必须知道为他们拥有的任何 Python 版本下载正确的下载包)。
- 提供一个下载包,其中包含两个不同的脚本(然后用户必须知道运行正确的脚本)。
- 一个包含两个特定于版本的脚本的下载包,以及一个可以在两个 Python 版本中运行的小型存根加载程序,它为已安装的 Python 版本运行正确的脚本。
我现在再次倾向于选项 3,尽管我还没有尝试开发这样的存根加载器。
还有其他想法吗?