如果有人问过,请道歉,但我发现的类似问题并没有完全回答我的问题。
我知道如何获取单个输入并将其转换为字符串,或任何硬编码的内容。然而,我正在尝试做的是接受多个输入并将它们转换为单个字符串。
示例:
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
如何将来自单独的,可能无限输入的字符串拼凑在一起?
答案 0 :(得分: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)
答案 1 :(得分:0)
答案 2 :(得分:0)
假设您的输入产生一个列表(或任何其他可迭代的)字符(或字符串),就像您所获得的那样,例如:
mylist = []
while True:
c = raw_input("Enter a letter:")
if c == "s":
break
mylist.append(c)
然后你可以简单地join()
:
result = "".join(mylist)
答案 3 :(得分:0)
''.join(iter(lambda: raw_input('Enter a letter: '), 's'))
答案 4 :(得分: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])