python语言运行速度如此差?

这几天小孩问一个不定方程:1/x+1/y+1/z=5/6整数解,我用python和C/C++编写的程序分别如图所示。在我的电脑上,python运行时间5+s,C/C++运... 这几天小孩问一个不定方程:1/x+1/y+1/z=5/6整数解,我用python和C/C++编写的程序分别如图所示。在我的电脑上,python运行时间5+s,C/C++运行时间0.06+s。这让正在学习python的我动摇信心了。请问大神啥原因啊? 展开
 我来答
梅森琦
2020-05-19 · 擅长 LaTeX 排版方面的问题。
梅森琦
采纳数:147 获赞数:639

向TA提问 私信TA
展开全部
这就要说到 Python 类语言和 C 类语言的主要区别了,Python 属于解释型语言,通俗来说就是你可以一句一句地输入,而 Python 解释器(Interpreter)可以一句一句地执行,而 C 语言属于编译型语言,无法做到这一点,只能一次性输入完成,编译成一个完整的程序再执行,而这个编译的过程由于现代编译器做了非常多的优化,并且你的程序没有输入只有输出,每次运行都出固定的结果,所以极有可能被编译器优化成为了只有一条输出语句(实际情况可能要复杂一些),总的来说就是由于二者之间原理的差异导致了性能的差异,你可以搜一搜相关的资料,关掉 C 语言编译时的优化,再看一下性能,或者将固定的那些值改为运行时需要输入再看一下效果。
Python 相较于 C 的优势有很多,性能这一方面你不需要关心,做出一个足够复杂的程序,它们之间运行效率差不了多少的。
紫翼天意
2020-05-19
知道答主
回答量:25
采纳率:0%
帮助的人:11.2万
展开全部
python的运算效率确实有点慢,但是好上手,易理解这一点也不可否认。楼主说的这个主要还是itertools.product这个方法本来就是封装好的函数,调用需要时间,比不上直接三次循环,如果仅是为了突出python的特点的话,可以用这个试试:

list = [[x, y, z] for x in range(-100, 100) for y in range(-100, 100) for z in range(-100, 100) if(x != 0 and y != 0 and z != 0 and 5 * x * y * z == 6 * (x * y + y * z + z * x))]

一行代码就足够了,效率略有提升,但是跟汇编语言C/C++还是不能比
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式