我真的只是开始用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但我找不到我的问题的答案。三江源。
答案 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
即可继续!
如果您也想接受感叹号,那么您还需要为此添加另一张支票!
希望有所帮助!