我对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语句。
2条答案
按热度按时间rfbsl7qr1#
不管
while
语句的顺序如何,你的代码永远不会执行第二个while循环,因为它会永远停留在第一个while循环上,因为2<4
和1<2
永远是True
。看起来你试图在用户与你的程序交互的同时,在更新的时钟上并行执行。这种行为可以使用其他编程技术来实现,比如并发或并行。
pvcm50d12#
python默认情况下一次只运行一个线程,所以它只能一次真正专注于一件事,而while循环可以被认为是一个永远不会结束的大命令。如果我没记错的话,你可以用python多线程,我认为这将使一次运行多个命令成为可能。我记得当我刚刚学习python时,和你有同样的问题!