第1个回答 2015-04-10
现在国外教初学者编程都换python了。C是偏低层的,细节多,不易学。Java学习上手也很难。Python属于更高级的语言,低层功能封装起来。关注的是更快的实现你的想法。举个例子:
三体里有个二维展开的概念,说烟头二维展开后有客厅那么大。真的吗?我们编程验证一下。
首先数学建模,将展开后的烟头想象为一张很薄的正方形纸,面积area,厚度h,
对折1次,面积变成area/2,厚度变成h*2
对折10000次,面积变成area/10000,厚度变成h*10000
如果对折10000次后,纸成了1立方厘米的正方体,那么问area是多大,厚度是多少?
这道题如果用C,Java来完成还是有点小难度的。感兴趣的可以看看云课堂里
用Python做些事课程 里的第一讲的例子,呵呵。
而python的话就很简单,area=2**10000 可以直接算出来,厚度1/(2**10000)因为超过了double类型,因此用decimal可以解决。
from decimal import Decimal as D
D(1)/D(2**10000)
得到厚度后,再根据实际厚度可能的最小值,比如纳米,就可以推出现在最多能展开多少次。
这个例子展现了python内建类型的强大,以及动态类型的特点。
如果为了编程来解决实际问题,学python是最快最有效的。本回答被提问者和网友采纳