my_str = 'peter piper picked a peck of pickled peppers.'
word= ' '
out = ''
for i in range(len(my_str)):
if my_str[i] ==' ':
out = out word.title()
word =' '
else:
word = word my_str[I]
out = out word.title()
print(out)
我正在使用回圈內的方法獲得結果...如何使用回圈而不是方法獲得相同的結果?
uj5u.com熱心網友回復:
這是一個非常幼稚的方法,沒有任何字串方法。總之,在空格上保留一個標志 True 。如果設定了標志并且您有一個小寫字母,請將其設為大寫。然后將標志設定為 False。
my_str = 'peter piper picked a peck of pickled peppers.'
out = ''
up = True
low, high = ord('a'), ord('z')
shift = ord('A') - low
for char in my_str:
o = ord(char)
if up:
if low <= o <= high:
char = chr(o shift)
up = False
if char == ' ':
up = True
out = char
out
輸出:'Peter Piper Picked A Peck Of Pickled Peppers.'
注意。這比使用字串方法效率低,特別是由于重復的字串連接。這也僅適用于 ASCII 字母。
uj5u.com熱心網友回復:
通過使用此函式,您可以在不使用內置方法的情況下獲取字符的大寫字母。它回圈遍歷ascii_lowercase,一旦它的元素等于您傳遞的字符,它就會回傳相應索引中的元素 from ascii_lowercase。
from string import ascii_lowercase, ascii_uppercase
def get_title(letter):
for index in range(len(ascii_lowercase)):
if ascii_lowercase[index] == letter:
return ascii_uppercase[index]
所以本質上,如果你想得到每個首字母的大寫,你可以試試這個。
my_str = 'peter piper picked a peck of pickled peppers.'
my_str = " "
word = ""
sentence = ""
for char in my_str:
if char == " ":
sentence = get_title(word[0]) word[1:len(word)] " "
word = ""
else:
word = char
print(sentence)
在這里,當有空格時存盤每個單詞,這就是為什么在my_str最初的末尾添加空格的原因。word得到單詞后,將(大寫)的第一個元素get_title和其余的添加到sentence。
uj5u.com熱心網友回復:
ord用于將其轉換為unicode然后減去該值32以使其大寫,并在最后一步chr將其轉換回字符
a = 'this is awesome'
b = ''
for each in range(0,len(a)):
if each == 0 or a[each-1] == ' ':
x = ord(a[each])
y = x - 32
z = chr(y)
else:
z = a[each]
b = z
輸出
print(b)
This Is Awesome
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/420346.html
標籤:
上一篇:將n個引數作為串列并根據其索引創建檔案夾和子檔案夾的Python函式
下一篇:將數字轉換為書面數字
