在一行中检查输入是否存在循环,python

时间:2018-08-11 09:21:59

标签: python python-3.x list for-loop input

lines = [input("Enter the number") for i in range(0,100)]

如果用户输入7或更高的数字,我想打破循环。 假设循环是无限的。寻找一种在用户输入时检查输入的方法。

我正在寻找一个行代码。

o / p:1 4 5 2 3 4 2 4 5 6 5 7

2 个答案:

答案 0 :(得分:7)

  

我正在寻找一个行代码。

这并不总是最好的策略。在这里,我建议一种多线解决方案。

要在输入特定值时中断,可以将列表理解转换为for循环。使用list.append将项目添加到初始化列表。然后,当值满足指定条件时break

此外,如下所述,请记住将输入转换为int以便进行比较:

lines = []
for _ in range(100):
    x = int(input('Enter the number:'))
    lines.append(x)
    if x >= 7:
        break

对于无限循环,可以使用while True

lines = []
while True:
    x = int(input('Enter the number:'))
    # code as before

答案 1 :(得分:0)

我认为这是您想要的解决方案。

list(itertools.takewhile(lambda x: x < 7, iter(lambda: int(input()), None)))

enter image description here

需要itertools,它是python中的内置模块。