相关疑难解决方法(0)

在Python中有"做......直到"吗?

可能重复:
在Python中模拟do-while循环?

有没有

do until x:
    ...
Run Code Online (Sandbox Code Playgroud)

在Python中,还是实现这种循环结构的好方法?

python loops

131
推荐指数
4
解决办法
32万
查看次数

"while 1"和"while True"之间有什么区别?

我已经看到了两种在Python中创建无限循环的方法:

  1. while 1:
        do_something()
    
    Run Code Online (Sandbox Code Playgroud)
  2. while True:
        do_something()
    
    Run Code Online (Sandbox Code Playgroud)

这些之间有什么区别吗?比另一个更pythonic?

python infinite-loop while-loop

23
推荐指数
3
解决办法
3万
查看次数

虽然是真的还是1?

可能重复:
while(1)Vs. for while(True) - 为什么会有区别?

我有时会在其他人看到代码"while 1"而不是"while True".我认为使用True更加pythonic,但我想检查练习中是否有任何差异.

所以我尝试做以下事情,结果令人惊讶.对于我所看到的,看起来解释器可以优化掉1布尔转换,而不是True,与我想的相反.

任何人都可以解释我为什么会这样,或者说我的结论可能是错的?

def f1():
    while 1:
        pass

def f2():
    while True:
        pass

In [10]: dis.dis(f)
2           0 SETUP_LOOP               3 (to 6)

3     >>    3 JUMP_ABSOLUTE            3
      >>    6 LOAD_CONST               0 (None)
            9 RETURN_VALUE

In [9]: dis.dis(f1)
2           0 SETUP_LOOP              10 (to 13)
      >>    3 LOAD_GLOBAL              0 (True)
            6 POP_JUMP_IF_FALSE       12

3           9 JUMP_ABSOLUTE            3
      >>   12 POP_BLOCK
      >>   13 LOAD_CONST               0 (None)
           16 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)

python interpreter bytecode

3
推荐指数
1
解决办法
1632
查看次数

如何重复获取用户输入,直到我想退出?

我希望多次获得用户输入并将输入数据存储在一个字符串中,直到输入"退出"退出输入.我认为for循环可以工作,但我不知道该怎么做.

python user-input

-1
推荐指数
1
解决办法
1万
查看次数