在do语句中转换JavaScript

时间:2015-09-08 22:06:15

标签: javascript python loops

我正在尝试将特定的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)"而不是"而真实"。

3 个答案:

答案 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