我在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
请有人在这里纠正我。不太清楚地获得代码。
答案 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位置。