在字符串中使用用户字母选择

时间:2015-10-01 07:16:21

标签: python-2.7

我对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

1 个答案:

答案 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