怎么将一个字母转为大写,例如将wiki变为wIkI?

-3 投票
3 回答
2505 浏览
提问于 2025-04-17 18:45

我想知道怎么把一个单词里的某个字母变成大写。比如说,把“wiki”变成“wIkI”。我知道怎么把整个单词变成大写,但我只想把其中一个字母变成大写。

3 个回答

0

也许是:

a = 'text'
b = ('t', 'x')
print ''.join(x.upper() if x in b else x for x in a)
0

如果只是 "i",你可以这样做:

string = string.replace('i','I')

或者,如果有更多的字母,可以试试这样:

letters = ['a','b','c','d','e','f']
string = 'acgfdb'
for l in letters:
    string = string.replace(l.lower(),l.upper())

好的,根据你的评论,你还想要从用户那里获取输入,那就试试这个吧……

string = raw_input('Enter a word: ')
letter = raw_input('Enter the letter to change to capital: ')
while len(letter) != 1:
    print 'enter a single letter'
    letter = raw_input('Enter the letter to change: ')
string = string.replace(l.lower(),l.upper())
print string
1

为什么不直接用 str.replace 呢?

word = 'wiki'
letter = 'i'
print word.replace(letter,letter.upper())

你也可以用 string.maketransstr.translate 来做同样的事情,只是需要稍微多花点力气。

import string
trans = string.maketrans(letter,letter.upper())
print word.translate(trans)

后面这种方法如果你反复使用同一个翻译表,可能会更高效,但除非你在一个非常紧凑的循环中使用,否则你可能感觉不到运行时间的差别。后面这种方法在做几个替换时也很方便。例如,如果你想把所有的元音字母变成大写,可以这样做:

trans = string.maketrans('aeiou','AEIOU')

撰写回答