如果您有一个字符串,例如包含“你好吗?”,我将stringname.replace("how", "How")
的第一个单词写成大写字母H。
到目前为止一切都很好。
现在的问题是,我正在编写此脚本,该脚本有时会访问“开放天气地图”,而这些单词使我发疯。
到目前为止,我只是做了一个
weather2 = self.weather.replace("partly", "Partly")
weather3 = weather2.replace("cloudy", "Cloudy")
weather4 = weather3.replace("foggy", "Foggy")
weather5 = weather4.replace("sunny", "Sunny")
weather6 = weather5.replace("rain", "Rain") #and so on
但是我不能有20个.replace()
。
所以我在想,这是我的问题: 我可以创建两个列表,一个包含OWM原始文档,另一个包含应替换为Word的列表,并执行类似的操作
for name in names
do something
答案 0 :(得分:2)
要使用首字母大写,请使用mystring.title()
for name in names:
name.title()
答案 1 :(得分:1)
如果要大写字符串,可以使用.capitalize()
self.weather= self.weather.capitalize()
或者如果您想使用列表/词典解决方案:
dictionary={'cloudy':'Cloudy','foggy':'Foggy','sunny':'Sunny','rain':'Rain'}
if self.weather in dictionary:
self.weather=dictionary[self.weather]
答案 2 :(得分:1)
使用.capitalize()
函数。 .title()
函数的行为也相似。但是如果您的字符串中包含多个单词,则会将字符串中的所有首字母大写。
for name in names:
name.capitalize()