[英]Finding uppercase lowercase words from an input, Python3.
我想增强此Python3代码(缩短),以便它也可以找到单词GreeTinGs(不区分大小写)。 我将使用的数据将是大小写混乱的。 我希望用户输入还可以包含大写和小写字母的单词(单词中的任意位置)。 数据无法转换为全部较低或全部较高。 参考:它可以找到“ Hello”,但找不到“ GreeTinGs”。
目前,“ casefold”命令适合除位置之外的大多数用途; 数据在单词中间有大写字母。 是否还有另一个命令,例如casefold或其他我可以使用的命令? 对于ref,还将有另一个输入,区分大小写,这就是为什么我需要两个选项。
这是代码,感谢所有帮助:
import random
greetings = ['hola', 'hello', 'GreeTinGs', 'hi', 'Hi', 'hey!','hey']
question = ['How are you?','How are you doing?']
responses = ['Okay',"I'm fine"]
while True:
userInput = input(">WHAT:").casefold()
if userInput in greetings:
greetingsrandom = random.choice(greetings)
print (greetingsrandom)
elif userInput in question:
responsesrandom = random.choice(responses)
print (responsesrandom)
else:
print("I did not understand what you said")
对于不区分大小写的情况,可以将其全部大写
import random
greetings = ['hola', 'hello', 'GreeTinGs', 'hi', 'Hi', 'hey!','hey']
question = ['How are you?','How are you doing?']
responses = ['Okay',"I'm fine"]
while True:
userInput = input(">WHAT:").casefold()
if userInput.upper() in [x.upper() for x in greetings]:
greetingsrandom = random.choice(greetings)
print (greetingsrandom)
elif userInput in [x.upper() for x in question]:
responsesrandom = random.choice(responses)
print (responsesrandom)
else:
print("I did not understand what you said")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.