首页 > 解决方案 > 使用逗号运算符将 javascript 函数转换为 python

问题描述

我有以下 javascript 代码

var d = Math.random(),
   k = parseInt((1e3 * d)/2),
   s = d + ""

d 的输出:0.6715250159864421

同样,我有我能够编写的 python 代码并且尽可能接近

d, k, s = random.random(), int((1e3*random.random()/2)), d + ''

输出完全不同。

0.8018834108596731

我没有正确使用逗号运算符吗

PS:我知道输出会有所不同,但是我想验证我的 python 代码是否正确地转换为显示的 JS 片段。

标签: javascriptpython

解决方案


d在您计算时未使用的 Python 代码中k,您正在计算一个不同的随机数。

在 Python 中,您不能将字符串与数字连接起来。JS 使用它来将数字转换为字符串,在 Python 中,您可以使用该str()函数来执行此操作。

翻译应该是:

d = random.random()
k = int(1e3 * d) / 2
s = str(d)

d在 Python 3.8 中,您可以使用“海象”运算符在单行中分配

k, s = int(1e3 * (d := random.random())) / 2, str(d)

但这很混乱,所以我不推荐它。


推荐阅读