我有这段代码,我想要它做的是用户输入类似:
1
2
3
4
5
然后把它变成:1,2,3,4,5
我的代码似乎没有这样做,它只返回列表中的第一个单词,任何帮助都会很棒。
i = raw_input("Put the list here: ")
print (i.replace("\r", ", "))
我更改了格式,它现在将从文本文件中提取输入,只要每行只用一个换行符分隔就可以正常工作
i = open("input.txt", "r")
o = open("output.txt", "w")
for line in i.readlines():
o.write (line.replace("\n", ", "))
i.close()
o.close()
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以编写一个简单的循环并使用某些指定的命令中断。例如
break_command = 'q'
values = []
while True:
i = raw_input("Type a number (or q to exit): ")
if (i==break_command): break
values.append(i)
答案 2 :(得分:1)
如果您想要获取多个用户输入,请将所有输入放入列表中,然后打印出列表,请尝试以下操作:
listX = [] #An empty list
for x in range(y): #Where y in the number of times you want the user to enter the input
listX.append(raw_input("Your message here: "))
print listX
如果要打印出没有方括号的列表成员,可以将列表转换为字符串:
listX = str(listX)
在此之后,由于方括号仅构成字符串的第一个和最后一个字符,请执行以下命令:
listX = listX[1:-1]
当然,可以同时实现前两个命令:
listX = str(listX)[1:-1]
但是,请注意 listX 的最终值是string类型。如果您在int中需要此值,则替换以下行:
listX.append(raw_input("Your message here: "))
使用:
listX.append(int(raw_input("Your message here: ")))
并且简单地打印出列表可能是更有效的,如果不是更好的选择。