如何让用户输入任意数量的输入行,直到他们在Python中输入“停止”单词为止?

时间:2013-09-18 00:45:55

标签: python input line

假设我要求用户输入书籍或其他内容的行。我不知道他们会决定输入多少行。你怎么会让他们输入任意数量的行,直到他们输入一个秘密词,例如“blueblue”。那是我到目前为止的代码。

while (blueblue == false):
line1 = input()

非常感谢帮助。

嘿,在使用Owen的代码后,我在阅读和输出一些信息方面遇到了问题。我想在这里问一下,而不是打开另一个问题。这是我现在的代码:

lines = []
current_line = input()
while current_line != "blueblue":
    lines.append(current_line)
    current_line = input()
print (lines)
ints_list = []
for line_ in lines:
    for letter in line:
        if (letter == "0","1","2","3","4","5","6","7","8","9"):
             print ("hueheuheuehheuue")

现在说用户输入是:

1 hello my name
is cmput 3.4

只打印“huehueheuheu”时输入的字符数。 我已经尝试了没有括号的数字,仍然没有工作,我甚至尝试过“或”。 请帮忙。

3 个答案:

答案 0 :(得分:3)

有一种简单而巧妙的方法可以做到这一点。

Python 3

for inputString in iter(input, "blueblue"):
    print (inputString)

Python 2

for inputString in iter(raw_input, "blueblue"):
    print (inputString)

编辑:您希望为遇到的每个号码打印hueheuheuehheuue。它可以这样做。

for inputString in iter(raw_input, "blueblue"):
    for inputChar in inputString:
        if inputChar.isdigit():
            print ("hueheuheuehheuue")

答案 1 :(得分:2)

lines = []
current_line = input()
while current_line != "blueblue":
    lines.append(current_line)
    current_line = input()

# Process lines

答案 2 :(得分:0)

这就是你告诉它的事情。

您目前遍历每个字母 - 如果是数字,则打印“huehue”,如果不是,则不执行任何操作。

因此,如果您的输入是>在3或4

你的计划认为

i > do nothing
n > do nothing
3 > huehue
o > do nothing
r > do nothing
4 > huehue

既然你没有说出尝试做什么,那就尽我所能!

编辑 - 这是所需的输出? 除了你的拼写错误之外,我原本期望它能够正常工作,但是当我加载它时我得到了同样的东西。我按照通常的方式做到了它确实有效,但我不能告诉你为什么你没有。 在这种情况下,试试这个......

lines = []
current_line = str(raw_input(">"))
while current_line != "blueblue":
    lines.append(current_line)
    current_line = str(raw_input(">"))
print (lines)
numbers = ["0","1","2","3","4","5","6","7","8","9"]
for line in lines:
    for letter in line:
        if letter in numbers:
            print ("hueheuheuehheuue")

在打字之后,我意识到了这个问题。

if(letter ==“0,”1“...... 正在检查letter是否为1,然后检查“1”,这将始终为真。移动括号,如

如果字母==(“0”,“1”,......

也解决了这个问题。