如何检查用户输入是低级还是大写但仍然打印出答案

时间:2014-03-17 23:27:29

标签: python input capitalization

我真的只是开始用python编程,我有一个小程序响应某些用户输入。我想拥有它,以便当你输入大写的东西时,它是否在代码中大写是无关紧要的。这是我到目前为止编写的代码。

我无法添加图片,因为我没有足够的代表,但我想我可以解释一下。

所以这是我目前的代码

循环并响应特定用户输入

import random

BOO = ("Aghh!", "That wasn't just a fart!", "Oh, I was soo scared", "I am so terrified       right now", "Where did you spring from?!", "If this was any more scary it would be R  rated!")

x = ""
print "I am a simple computer program designed to respond to certain inputs from a user"

x = raw_input("Input: ")
while not(x == "exit" or x == "Exit"):

    if x == "Oli" or x== "oli" or x == 'Oliver' or x == 'oliver':
        print "Its the creator!"

    elif x == "hi" or x == "hello" or x == "Hi" or x == "Hello":
        print "Hi!"

    elif x == "how are you?" or x == "how are you":
        print "Fine thanks!"


    elif x == "boo!" or x == "boo" or x == "BOO!" or x == "Boo":
        print random.choice(BOO)

    elif x == "You are actually awesome":
        print "Aww, Thanks!"

    else:
        print "Hello, " + x
    x = raw_input("Input: ")

例如:在第21行,用户输入单词“boo”,我不得不为世界的不同大小写添加或声明。有没有一种方法,代码可以检查大写,仍然打印相同的输出(或随机) 我已检查stackoverflow但我找不到我的问题的答案。三江源。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望用户输入任何大写的内容 或者分别降低,所以你不必每次都检查大写。

因此,您可以在从用户那里获得输入后使用upper函数或lower函数:

userInput = raw_input("Insert text").upper()

userInput = raw_input("Insert text").lower()

如果您只想测试输入是大写字母还是小写字母,可以导入字符串模块并使用string.ascii_lowercase或string.ascii_uppercase。

import string

userInput = raw_input("Insert text")

print userInput in string.ascii_lowercase
print userInput in string.ascii_uppercase

希望有帮助:) 亚历

编辑:是的,所以我相信我现在知道了!您的问题是,对于输入BOO,例如您不确定用户是否会键入Boo或BOO或boo,因此您必须检查用户输入的所有可能大写。这基本上就是我之前尝试解释的内容!

你能做的就是抓住用户的输入:

userInput = raw_input("Insert Text").lower()

现在,无论用户输入单词BOO(Boo,BOo,boo,BOO等等)的大小写,变量userInput在所有这些情况下都包含boo,因为我们总是小写用户的输入。因此,不要检查例如用户的输入是否为boo或BOO或Boo,您只需检查它是否等于boo即可继续!

如果您也想接受感叹号,那么您还需要为此添加另一张支票!

希望有所帮助!