将代码从Javascript转换为Python

时间:2013-10-21 12:53:38

标签: javascript python

我在Javascript中的代码很少,我想用Python转换

First JS

if (var1.charCodeAt(var2) % 2) var3 = 1;

Python代码

if (ord(var1[var2])) % 2):
var3 = 1:

JS

var4.push(String.fromCharCode(parseInt(var5.substr(var1, 2), 36) - var3));

的Python

var4.append(chr(int(var5[var1: 2], 36) - var3))

JS

    for (var1 = 0; var1 < var2.length; var1 += 2) {

的Python

var1 = 0
while (var1 < len(arr1)):
    var1+= 2 

请有人在这里纠正我。不太清楚地获得代码。

3 个答案:

答案 0 :(得分:1)

错误:

if (ord(var1[var2])) % 2: #too much parentheses, fixed.
    var3 = 1 #: <- What's this? Also, mind your indentation.

另外,关于最后一个:

var1 = 0
while (var1 < len(arr1)): 
    var1+= 2 

那很好,恭喜。但我更愿意这样做:

for var1 in range(0, len(arr1), 2):
    #do something

应该这样做。

修改 原来并没有那么多错误。关于第二个,36是要转换的字符串的基数。

答案 1 :(得分:1)

第三个片段可以按如下方式转换:

for var1 in range(0, len(arr1), 2):
    ...

答案 2 :(得分:1)

你应该检查你的索引... Javascript中的charAt函数似乎是基于1的,而Python将字符串视为数组,所以它总是从0开始。

例如:var1 = 'abcdefghijklmnopqrstuvwxyz'; var2 = 13

JS var1.charAt(var2)产生'n',而Python var[var2]产生'o'

另外,请查看字符串切片彼此之间的差异。 JS substr将start和length视为参数,但Python使用start和end位置。