我是否输入1个单词、1个单词和括号中的1个单词以及2个单词。 IE。 “American”或“american (grill)”或“american italian”只有每个单词的第一个字母大写。
我已经写好了我的代码
wcity = raw_input("Please enter a city ==> ")
print
wtype = raw_input("Please enter a restaurant type ==> ")
print
并将其更改为:
wcity = raw_input("Please enter a city ==> ").capitalize()
print
wtype = raw_input("Please enter a restaurant type ==> ").capitalize()
print
我需要将 .capitalize 更改为 wtype,这样当我输入 wtype EITHER 时(不是全部,只有其中 1 个)时间)
aMERICan
aMerican iTalian
american (nEw)
Python 将其解释为
American
American Italian
American (New)
- 但是我需要 python 来读取它,无论它是 1 个单词“aMERICan”还是“American (New)”
任何想法,我都在上下徘徊,但那些都没有比 .capitalize 更好
有什么想法吗?
我可以像在wcity中那样.capitalize,因为我的城市没有括号,其中包含1个单词或2个单词
我对 wcity 的输入不是:
芝加哥(特洛伊)
拉斯维加斯(里诺)
芝加哥布朗克斯(2个字)
我对 wcity 的输入是:
- 芝加哥
最佳答案
您可以使用正则表达式过滤器来消除字符串中包含“(new)”
的部分:
import re
def myfilter(x):
return ' '.join(re.sub(ur'\(\s*[nN][eE][wW]\s*\)','',x).title().split())
wcity = myfilter( raw_input("Please enter a city ==> ") )
print wcity
wtype = myfilter( raw_input("Please enter a restaurant type ==> ") )
print wtype
关于python - 需要更改大写 python 来解释 3 种不同类型的输入,与 raw_input 函数相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17897802/