python-3.x 为什么我不能把两个while语句放在一起?

djmepvbi  于 4个月前  发布在  Python
关注(0)|答案(2)|浏览(60)

我对python相当陌生,所以这可能是初学者的错误,但取决于我如何排序while语句,它要么不加载,要么不更新时间。

import time
clock = 0

字符串
基本上,当我按照这个顺序放置while语句时,代码实际上会运行,但第二个while语句永远不会激活。

while 1<2:
    x = inpu(input('What do you want to do?'));
    if x == "time":
        print(clock)
    else:
        print(x)

while 2<4:
    time.sleep(5)
    clock += 1


当我像这样放置while语句时,代码不会运行。

while 2<4:
    time.sleep(5)
    clock += 1

while 1<2:
    x = inpu(input('What do you want to do?'));
    if x == "time":
        print(clock)
    else:
        print(x)


我没有详细介绍inpu(),但它基本上说,如果你在输入中输入_,它将响应_。其中一个选项是“clock”,它将打印时钟值。
当我删除了while语句中的所有内容时(将所有内容替换为pass),代码仍然无法运行。所以这不是第二个while语句的内容有问题,但很可能是因为有两个while语句。

rfbsl7qr

rfbsl7qr1#

不管while语句的顺序如何,你的代码永远不会执行第二个while循环,因为它会永远停留在第一个while循环上,因为2<41<2永远是True
看起来你试图在用户与你的程序交互的同时,在更新的时钟上并行执行。这种行为可以使用其他编程技术来实现,比如并发或并行。

pvcm50d1

pvcm50d12#

python默认情况下一次只运行一个线程,所以它只能一次真正专注于一件事,而while循环可以被认为是一个永远不会结束的大命令。如果我没记错的话,你可以用python多线程,我认为这将使一次运行多个命令成为可能。我记得当我刚刚学习python时,和你有同样的问题!

相关问题