我正在尝试将特定的JavaScript代码转换为Python代码。 有一部分我不明白。这是JavaScript代码:
do {
// something
} while (a > 0.01);
b = 10
我试图通过以下方式复制它:
for i in range(1000): # or: while True:
// something
if (a > 0.01):
continue
else:
break
b = 10
但看起来我错了。
有人可以告诉我在上部python代码中我做错了什么吗? 谢谢。
编辑:问题不在"对于我在范围(1000)"而不是"而真实"。
答案 0 :(得分:2)
此代码:
var el = document.getElementById('counter')
var x = 0
window.setInterval(function(){
el.value = formula(++x)
}, 1000)
相当于:
File todoFile = new File(filesDir, "todo.txt");
FileUtils.writeLines(todoFile, item);
do语句总是在第一次执行它的主体时,在执行内部代码后检查条件,如果它仍然为真,它会继续,否则它会退出。
它可以在Python中复制,创建一个"无限循环",然后在内循环上执行代码并评估你的条件的否定,这是一个< = 0.01,如果&&=,则退出#39;是真的。
此代码:
do {
// something
} while (a > 0.01);
b = 10
不等同于你揭示的代码的一部分,因为它执行1000次总是检查条件(看看你的do..while javascript中的代码没有指定1000次运行。
注意:小心缩进Python代码......一开始可能会非常痛苦。
答案 1 :(得分:1)
而不是使用:
for i in range(1000):
你应该改为:
while True:
Java中的do-while循环继续执行某些操作,即使经过1000次以上的迭代(与python版本不同),条件也是如此
答案 2 :(得分:1)
这应该这样做:
while(True):
# something
if (a <= 0.01): break