流量控制——自动化无聊的事情(下雨了吗)
flow control - automate the boring stuff (is it raining)
我看了这么多遍,自己都糊涂了。
看流程图:
我对如何在右侧进行循环感到困惑。这就是我“认为”的样子。
- 下雨了吗? (Y) - 有伞吗? (Y) - 到外面去。
- 下雨了吗? (Y) - 有伞吗? (N) - 等一下……下雨了吗 (Y)……等一下……下雨了吗等等
- 下雨了吗? (Y) - 有伞吗? (N) - 等一下...下雨了吗 (N) - 到外面去
- 在下雨吗 (N) - 到外面去。
这就是我到目前为止的实现方式......但是等了一会儿......是的,下雨了,我的代码返回询问我是否有雨伞。
我哪里错了?
import time
while True:
r = input("is it raining? y/n: ")
if r == "y":
u = input("do you have an umbrella? y/n: ")
if u == "y":
print("Go Outside")
break
if u == "n":
print("wait a while")
time.sleep(3)
r = True
else:
print("Go Outside")
break
不需要全局循环,例如“有伞吗?”这个问题只问一次。下面的代码应该可以解决问题:
import time
r = input("is it raining? y/n: ")
if r == "y":
u = input("do you have an umbrella? y/n: ")
if u == "n":
while r == "y":
print("wait a while")
time.sleep(3)
r = input("is it raining? y/n: ")
print("Go Outside")
我看了这么多遍,自己都糊涂了。
看流程图:
我对如何在右侧进行循环感到困惑。这就是我“认为”的样子。
- 下雨了吗? (Y) - 有伞吗? (Y) - 到外面去。
- 下雨了吗? (Y) - 有伞吗? (N) - 等一下……下雨了吗 (Y)……等一下……下雨了吗等等
- 下雨了吗? (Y) - 有伞吗? (N) - 等一下...下雨了吗 (N) - 到外面去
- 在下雨吗 (N) - 到外面去。
这就是我到目前为止的实现方式......但是等了一会儿......是的,下雨了,我的代码返回询问我是否有雨伞。
我哪里错了?
import time
while True:
r = input("is it raining? y/n: ")
if r == "y":
u = input("do you have an umbrella? y/n: ")
if u == "y":
print("Go Outside")
break
if u == "n":
print("wait a while")
time.sleep(3)
r = True
else:
print("Go Outside")
break
不需要全局循环,例如“有伞吗?”这个问题只问一次。下面的代码应该可以解决问题:
import time
r = input("is it raining? y/n: ")
if r == "y":
u = input("do you have an umbrella? y/n: ")
if u == "n":
while r == "y":
print("wait a while")
time.sleep(3)
r = input("is it raining? y/n: ")
print("Go Outside")