2013-04-04 73 views
-1

道歉,如果這已被問到,但我發現類似的問題沒有完全回答我的問題。將多個輸入迭代連接成一個字符串

我知道如何採取一個單一的輸入,並將其轉換爲字符串,或任何硬編碼。我想要做的是接受多個輸入並將它們轉換爲單個字符串。

實施例:

Enter a letter: h 
Enter a letter: e 
Enter a letter: l 
Enter a letter: l 
Enter a letter: o 

...等等,但是需要多長時間,直到用戶輸入 's' 指實例。

Enter a letter: s 

然後程序將所有先前的迭代打印爲單個字符串。

Result: hello 

如何拼湊單獨的,可能無限的輸入字符串?

+1

你使用'str.join' – mgilson 2013-04-04 13:01:24

回答

0

如何拼接單獨的,可能無限的輸入字符串?

可以使用

''.join(inputs) 

其中inputs是一個字符串的任何iterable做到這一點。

0

假設你的投入導致列表(或任何其他可迭代)字符(或字符串),因爲你會從獲得,例如:

mylist = [] 
while True: 
    c = raw_input("Enter a letter:") 
    if c == "s": 
     break 
    mylist.append(c) 

,那麼你可以簡單地join()他們:

result = "".join(mylist) 
0
''.join(iter(lambda: raw_input('Enter a letter: '), 's')) 
0
my_list = [] 

while len(my_list) == 0 or my_list[-1] != 's': 
    my_list.append(raw_input("Enter a letter: ")) 

print ''.join(my_list[:-1])