2013-03-12 105 views
-3

如何將單個字母轉換爲大寫字母。例如維基來wIkI,我知道如何利用它,我只能得到整個單詞大寫,或者我只能得到大寫的一個字母。如何將單個字母轉換爲大寫字母。 Like wiki to wIkI

+0

如果它是你可以使用the_word.replace(小寫,大寫) – 2013-03-12 02:40:15

+0

這是很容易通過的文件回答了一個很基本的問題在同一封信。下次發帖前請參閱官方文檔。 http://docs.python.org/2/library/string.html#string.replace – 2013-03-12 02:40:33

回答

0

可能:

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

如果它只是 「我」,你可以做

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 
+0

我必須要求用戶輸入一個單詞,然後他們想要改變的字母,那就是最難的部分 – 2013-03-12 02:48:39

+0

@CourtneyKrolak See Update ... – pradyunsg 2013-03-12 03:12:50

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') 
相關問題