流量控制——自动化无聊的事情(下雨了吗)

flow control - automate the boring stuff (is it raining)

我看了这么多遍,自己都糊涂了。

看流程图:

我对如何在右侧进行循环感到困惑。这就是我“认为”的样子。

这就是我到目前为止的实现方式......但是等了一会儿......是的,下雨了,我的代码返回询问我是否有雨伞。

我哪里错了?

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")