-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

如何将来自单独的、可能无限的输入的字符串拼凑在一起?

4

5 回答 5

1

我意识到这篇文章很旧,但是,这就是我在 Python 3 中编写解决方案的方式

mylist = []
results = ""
while True:
    c = input("Enter a letter:")
    if c == "s":
        result = "\n".join(mylist)
        print('Items entered: \n'+ result)
        break
    mylist.append(c)
于 2019-01-11T02:51:27.490 回答
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])
于 2013-04-04T13:11:48.770 回答
0

如何将来自单独的、可能无限的输入的字符串拼凑在一起?

您可以使用

''.join(inputs)

inputs任何可迭代的字符串在哪里。

于 2013-04-04T13:01:38.860 回答
0

假设您的输入会产生一个字符(或字符串)列表(或任何其他可迭代),例如您将从中获得的:

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

那么你可以简单地使用join()它们:

result = "".join(mylist) 
于 2013-04-04T13:01:51.263 回答
0
''.join(iter(lambda: raw_input('Enter a letter: '), 's'))
于 2013-04-04T13:06:04.527 回答