我对python中的编程很新,所以这给了我一些问题。我正在寻找一种方法,用一个用户选择的单词来大写用户选择的字母。例如,用户写staircase
并将其写为a
,最终结果为stAircAse
。
我知道向用户提问的代码
promt='enter word:\n'
originalString=raw_input(promt)
promt='enter a character:\n'
upperCharacter=raw_input(promt)
但除此之外,我已经迷失了,并会感激帮助。 我尝试了这段代码,但它不是用户输入的大写字母
def chartoupper(instring,inchar):
indexes=[3,7]
chars=list(originalString)
for i in indexes:
chars[i]=chars[i].upper()
string=''.join(chars)
return string
promt='enter word:\n'
originalString=raw_input(promt)
promt='enter a character:\n'
upperCharacter=raw_input(promt)
newstring=chartoupper(originaString,upperCharacter)
print originaString
print upperCharacter
print newstring
print inchar
答案 0 :(得分:1)
试试这个 -
if(len(upperCharacter) == 1):
finalString = originalString.replace(upperCharacter, upperCharacter.upper())
print finalString
您应该检查用户是否确实刚添加了一个字符,我们添加了if条件。
我们正在替换originalString中所有出现的字符upperCharacter并将其分配给finalString。请参阅this method
的文档回答编辑过的问题 -
def chartoupper(instring, inchar):
string = instring.replace(inchar, inchar.upper())
return string
promt='enter word:\n'
originalString=raw_input(promt)
promt='enter a character (note that only the 1st character will be used):\n'
upperCharacter=raw_input(promt)[0]
newstring=chartoupper(originalString, upperCharacter)
print originalString
print upperCharacter
print newstring