Python中如何将JavaScript的for循环语法改写为Python语法?
python 有下面这段 js 的写法吗?
for (
d = Math.floor(k.length / 5),
e = parseInt(k.charAt(d) + k.charAt(2 * d) + k.charAt(3 * d) + k.charAt(4 * d) + k.charAt(5 * d)),
f = Math.round(b.length / 2),
g = Math.pow(2, 31) - 1,
h = parseInt(a.substring(a.length - 8, a.length), 16),
a = a.substring(0, a.length - 8),
k += h; k.length > 10;)
{
k = (parseInt(k.substring(0, 10)) + parseInt(k.substring(10, k.length))).toString();
}
Python中如何将JavaScript的for循环语法改写为Python语法?
写一下不就知道了,我感觉应该是有的
在Python里,JavaScript的for循环主要有两种常见形式需要转换,我直接给你看代码例子。
1. 经典的 for (let i = 0; i < n; i++) 循环
这种在Python里直接用 range() 函数搞定:
# JavaScript: for (let i = 0; i < 5; i++)
for i in range(5):
print(i) # 输出 0,1,2,3,4
# 如果需要指定起始值、步长
# JavaScript: for (let i = 2; i < 10; i += 2)
for i in range(2, 10, 2):
print(i) # 输出 2,4,6,8
2. for...in 循环遍历对象属性
这里要分情况:
- 遍历数组/列表:Python直接用
for...in
# JavaScript: for (let item in array)
my_list = ['a', 'b', 'c']
for item in my_list:
print(item) # 输出 'a','b','c'
- 遍历对象属性:Python用
.items()、.keys()或.values()
# JavaScript: for (let key in obj)
my_dict = {'x': 1, 'y': 2}
for key in my_dict: # 或者 for key in my_dict.keys():
print(key, my_dict[key]) # 输出 'x' 1, 'y' 2
# 更Pythonic的方式
for key, value in my_dict.items():
print(key, value)
3. for...of 循环(ES6)
这个在Python里就是普通的 for...in:
# JavaScript: for (let value of iterable)
text = "hello"
for char in text:
print(char) # 输出 h,e,l,l,o
关键区别记住:Python的for循环更简洁,不需要手动管理索引,range()函数处理数字序列,字典用.items()同时获取键值。
一句话建议:用range()代替计数器循环,用for...in直接遍历可迭代对象。
问题只在于把变量声明写在了 for 里而已吧js<br>const d = Math.floor(k.length / 5),<br> e = parseInt(k.charAt(d) + k.charAt(2 * d) + k.charAt(3 * d) + k.charAt(4 * d) + k.charAt(5 * d)),<br> f = Math.round(b.length / 2),<br> g = Math.pow(2, 31) - 1,<br> h = parseInt(a.substring(a.length - 8, a.length), 16),<br> a = a.substring(0, a.length - 8);<br><br>for (k += h; k.length > 10;) { <br> <br> k = (parseInt(k.substring(0, 10)) + parseInt(k.substring(10, k.length))).toString(); <br> <br>}<br><br><br>
把它们都提出来的话,不就是一个十分普通的 for 循环而已么?
明白了
这个循环有毒吧,声明了一堆的全局变量出来,或者你只是把混淆的代码前面的那一堆 var 声明给遮住了?
这是代码混淆后的结果?
这代码有毒,正常人谁会这么写代码


