【发布时间】:2015-06-09 08:55:04
【问题描述】:
我需要帮助如何在这样的两颗星之间获得大写。
输入:"S*t*a*r*s are every*where*"
输出:"STaRs are everyWHERE"
我的代码在这里:
def trans(s):
x = ""
a = False
for j in range(len(s)):
if s[j] == "*" or a:
a = True
if a:
x += s[j].upper()
else:
x += s[j]
return "".join(x.replace("*",""))
问题是我不知道循环设置回False 的位置。现在它只看到* 并将所有内容变为大写。
【问题讨论】:
-
在星号中,'t'和'r'也改成大写字母??
-
@upaangsaxena:是的,因为他们直接追随一颗星星。
-
这是一个非常有名的自动机。要了解答案,请查看此图片s9.postimg.org/j9qyp60e7/auto.png
-
@BhargavRao:我已经内嵌了你的图片。
-
@J.F. Sebastian Tnx 你,现在我明白了 :)
标签: python python-3.x uppercase