如何让程序根据用户输入做出不同响应?

91 阅读3分钟

在Python中,我们使用if/else语句来控制程序的流程。if语句判断一个条件是否为真,如果是,则执行if语句块中的代码;否则,执行else语句块中的代码。在我们的示例中,我们希望程序根据用户输入做出不同响应。我们定义了一个字典octopusList,其中包含了三个列表,每个列表代表一个不同的颜色组合。我们还定义了一个列表squidList,其中包含了三个字符串,分别代表octopusList中的三个列表。

huake2_00001_.png 我们使用random.choice()函数从squidList中随机选择一个字符串,并将它存储在变量squid中。然后,我们使用random.choice()函数从octopusList[squid]中随机选择一个字符串,并将它存储在变量octopus中。

我们使用raw_input()函数获取用户输入,并将它存储在变量resp中。我们使用while循环来不断询问用户输入,直到用户输入“1”退出循环。在循环中,我们使用if/else语句来判断用户输入是否与octopusList中的任何一个列表相同。如果用户输入与octopusList中的某个列表相同,则我们打印出squid和octopus的组合;否则,我们打印出“That's another text to think about.”。最后,我们打印出“One More Comment”来结束程序。

2、解决方案: 在我们的示例中,我们希望程序根据用户输入做出不同响应。我们定义了一个字典octopusList,其中包含了三个列表,每个列表代表一个不同的颜色组合。我们还定义了一个列表squidList,其中包含了三个字符串,分别代表octopusList中的三个列表。

我们使用random.choice()函数从squidList中随机选择一个字符串,并将它存储在变量squid中。然后,我们使用random.choice()函数从octopusList[squid]中随机选择一个字符串,并将它存储在变量octopus中。

我们使用raw_input()函数获取用户输入,并将它存储在变量resp中。我们使用while循环来不断询问用户输入,直到用户输入“1”退出循环。在循环中,我们使用if/else语句来判断用户输入是否与octopusList中的任何一个列表相同。如果用户输入与octopusList中的某个列表相同,则我们打印出squid和octopus的组合;否则,我们打印出“That's another text to think about.”。最后,我们打印出“One More Comment”来结束程序。

octopusList = {"first": ["red", "white"],
            "second": ["green", "blue", "red"],
            "third": ["green", "blue", "red"]}
squidList = ["first", "second", "third"]

squid = random.choice(squidList)
octopus = random.choice(octopusList[squid])

resp = ""
while resp != "1":
    resp = raw_input("Please Type Something: ")
    if resp in octopusList[squid]:
        print squid + " " + octopus
    elif resp == "Something":
        print "Elephants are pachyderms"
    else:
        print "That's another text to think about."
    print "One More Comment"

在我们的示例中,我们使用raw_input()函数来获取用户输入。在Python 3中,我们使用input()函数来获取用户输入。我们使用in运算符来判断用户输入是否在octopusList[squid]中。我们使用print()函数来打印出结果。