Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用逗号运算符将javascript函数转换为python_Javascript_Python - Fatal编程技术网

使用逗号运算符将javascript函数转换为python

使用逗号运算符将javascript函数转换为python,javascript,python,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 我没有正确使用逗号

我有以下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代码段。

在python代码中,您没有使用
d
当您计算
k
时,您计算的是不同的随机数

在Python中,不能将字符串与数字连接起来。JS使用它将数字转换为字符串,在Python中,您可以使用
str()
函数来实现这一点

译文应为:

d = random.random()
k = int(1e3 * d) / 2
s = str(d)
在Python3.8中,您可以使用“walrus”操作符在一行中分配给
d

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

但是这很令人困惑,所以我不推荐它。

输出是随机的。它应该是不同的每次你运行它,无论语言。但是你的Python不是一个精确的翻译,因为你没有在
k
的构造中使用
d
变量,我觉得代码翻译可能是不正确的,想先验证一下,有没有反馈?没有,但即使结果准确,你也会得到不同的随机结果。它们显然是不同的,除了这些是完全不同的随机数生成器算法之外,即使它们是相同的,它们也需要被植入种子才能给你同样的结果。在JS中,您对
Math.random
进行了一次调用,而在Python中,您对
random.random
进行了两次调用。既然如此,这些怎么可能是相同的呢?这里确实不需要使用逗号——您可以在三行上初始化变量,并使用缓存的
d