作为Python新手,我遇到了一个问题,它似乎源于我对循环结构的理解不够深入。我的目标是创建一个简单的程序,既能响应用户输入,又能每五秒更新一次时间计数。但根据我如何安排while
循环,程序要么无法正确加载,要么不能实时更新时间。
首先,我定义了初始变量:
import time
clock = 0
当我这样安排while
循环时,程序能够运行,但是负责更新时间的第二个循环似乎从未执行:
while True: # 修正了比较符号的错误,用True代替了1<2
x = input(input('What do you want to do?')) # 修正了函数名,将inpu改为input
if x == "time":
print(clock)
else:
print(x)
while 2<4: # 这里的条件也可以简化为True
time.sleep(5)
clock += 1
然而,当把循环顺序颠倒过来时,程序干脆不启动了:
while 2<4: # 同样,这个条件可以简化为True
time.sleep(5)
clock += 1
while True: # 同样的修正,用True代替了1<2
x = input(input('What do you want to do?')) # 函数名修正
if x == "time":
print(clock)
else:
print(x)
我还省略了对inpu()
函数的详细说明,它本质上是为了根据用户输入给出特定回应,其中一个选项是输入"time"来打印当前的clock值。但即使我在上面的第一个循环中只保留一个pass
(即不执行任何操作),代码依旧无法运行。这似乎暗示问题并不在于第二个循环内部的具体内容,而是同时存在两个无限循环所导致的。