javascript - 使用逗号运算符将 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 片段。
解决方案
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)
但这很混乱,所以我不推荐它。
推荐阅读
- python-3.7 - 这两种创建列表的方法有什么区别
- javascript - 如何使用 jquery 禁用或隐藏轮播下一个/上一个图标
- c# - 无法执行操作,因为指定的 Storyboard 未应用于此对象以进行交互式控制
- java - 我收到一条错误消息,提示“String 类型的方法 compare(String, String) 未定义”为什么我不能对二维数组进行排序?
- java - 在 JFreechart 的 XYShapeAnnotation 中添加 GeneralPath 形状
- vue.js - vue img src如何使用require,错误:未找到:* ~@/assets/?
- php - 表单处理 php 脚本无法正常工作
- python - 如何使用 python zeep 创建一个 soap-enc:Array 参数?
- android - Toast 消息文本对齐方式开箱即用
- r - 对比度可以应用于 lm 中具有 2 个或更多级别误差的因素