2015-04-06 51 views
-1

問題:編寫一個函數,它將一個字符串列表作爲參數,並返回一個包含大寫爲標題的每個字符串的列表。也就是說,如果輸入參數是["apple pie","brownies","dulce de leche"],則您的函數應返回["Apple Pie","Brownies","Dulce De Leche"]如何大寫列表中每個字符串的標題?

我寫了這個程序。問題是如果我輸入["apple pie", "brownies","dulce de leche"],則返回['Apple Pie', ' Brownies', 'Dulce De Leche'] 如問題所示,每個字符串都必須用逗號打印出來,並且在逗號後面沒有空格。 請幫助!

這裏是我的程序:

def Strings(): 
    s = [] 
    strings = input("Please enter a list of strings: ").title() 
    List = strings.replace('"',"").replace('[','').replace(']','').split(",") 
    List = List + s 

    return List 

def Capitalize(parameter): 
    r = [] 
    for i in parameter: 
    r.append(i) 

    return r 

def main(): 
    y = Strings() 
    x = Capitalize(y) 
    print(x) 

main() 
+0

這是一個DUP:http://stackoverflow.com/questions/29463718/how-to-capitalize-only-the-title -of-each-string-in-the-list – dbliss 2015-04-06 02:36:13

回答

1

像我以前的答案,你只需要加入列表與",",您需要在開始和結束時添加[","]

def Strings(): 

    strings = input("Please enter a list of strings: ") 
    List = strings.replace('"','').replace('[','').replace(']','').split(",") 


    return List 

def Capitalize(parameter): 
    r = [] 
    for i in parameter: 
    m = "" 
    for j in i.split(): 
     m += j[0].upper() + j[1:] + " " 
    r.append(m.rstrip()) 


    return '["' + '","'.join(r)+ '"]' 

def main(): 
    y = Strings() 
    x = Capitalize(y) 
    print(x) 

main() 
+0

你剛剛回答了這個問題的重複。這是該答案的複製和粘貼。 。 。 – dbliss 2015-04-06 02:43:02

+0

這不是堆棧溢出的工作原理! – dbliss 2015-04-06 02:44:38

+0

@dbliss你在前面的問題中看到,我無法理解他的需求。但是這清楚地解釋了他的需求。我不希望代表了,如果刪除這個問題,我已經準備好添加到我以前的答案。但是我之前看到過許多連續的問題。問題2,問題1的繼續。 – 2015-04-06 02:48:44

0

不知道爲什麼會有人想這樣做,但在這裏你去:

s = "[" 
for i in x: 
    s += '"' + i + '",' 
print s + "]" 
+0

爲什麼每次執行後都打印「無」? – socrates 2015-04-06 02:48:21

+0

你把它放在你的代碼中的什麼地方?無論如何Avinash的答案是更好的。 – pzp 2015-04-06 02:52:23

+0

'None' ................... – socrates 2015-04-06 02:52:54

0
def Capitalize(parameter): 
    return ["\""+i.strip().strip("\"").title()+"\"" for i in s[1:-1].split(",")] 

title = Capitalize(y) 
print "[" + ",".join(title) + "]" 
0

如果列表被輸入作爲一個合法的Python列表[...]那麼你可以使用JSON模塊把這個字符串在Python對象(即列表),然後再回來字符串後,你的標題,json.dumps()使您能夠控制的分隔符,如:

>>> from json import loads, dumps 
>>> strings = loads(input("Please enter a list of strings: ")) 
>>> print(dumps([s.title() for s in strings], separators=(',',':'))) 
["Apple Pie","Brownies","Dulce De Leche"] 
相關問題