Python和Julia以不同的方式计算函数?
Python3的计算Python和Julia以不同的方式计算函数?,python,python-3.x,julia,Python,Python 3.x,Julia,Python3的计算 N=123456789 sum(map(int,str(N)) ---> 45 N = 123456789 sum([Int(ch) for ch in "$N"]) ---> 477 N = 123456789 sum(map(Int, collect("$N"))) ---> 477 Julia 0.6.2计算 N=123456789 sum(map(int,str(N)) ---> 45
N=123456789
sum(map(int,str(N)) ---> 45
N = 123456789
sum([Int(ch) for ch in "$N"]) ---> 477
N = 123456789
sum(map(Int, collect("$N"))) ---> 477
Julia 0.6.2计算
N=123456789
sum(map(int,str(N)) ---> 45
N = 123456789
sum([Int(ch) for ch in "$N"]) ---> 477
N = 123456789
sum(map(Int, collect("$N"))) ---> 477
这是为什么?因为与Julia语句等价的python是
N=123456789
print( sum(map(ord,str(N))))
输出:
477
它将ascii ord值“1”+“2”+…“9”相加,而不是将字符串的每个字符转换为int
,然后将int
相加
这是不一样的:
N=123456789
sum(map(int,str(N))
它将长整数转换为字符串,将每个字符输入int()
,然后将'1'
转换回1
(而不是ord('1')
),然后将数字添加到45,而和(数字(N))
将是Python代码的等价物。