Как заменить цикл for?

введите сюда описание изображения

print(True if False in [all(list(map(int, input().split()))) for i in range(10)] else False)

все выводит правильно, но когда в тесте 2 строчки , то в цикле то остается 10 и выдает поэтому ошибку

Ввод

1 3 4
4 5 7

Ожидаемый результат

False

Вывод

Makefile:5: recipe for target 'run' failed

если же в цикле поставить вместо 10 - 2 , то будет все прекрасно работать

как можно сделать так, чтобы под каждый случай изменялось число в цикле for ?


Ответы (1 шт):

Автор решения: Zhihar

а там нет ошибки в задаче - ну что или из файла надо вычитать или сначала ввести кол-во строк?

многострочный вариант возможен без этого:

lines = ""

while True:
    line = input()
    if not line:
        break
    lines += line + " "

print(any(map(lambda i: int(i) == 0, lines.split())))

или так:

print(not all(map(bool, map(int, lines.split()))))

в общем скорее всего данные передаются или через stdin или через файл, в первом случае тогда

import sys
print(not all(map(bool, map(int, sys.stdin.read().split()))))

или вообще можно сделать так:

print(" 0 " in f" {sys.stdin.read()} ")) 

дешево и сердито :)

P.S.

кстати описанный выше подход можно и через split легко сделать :)

print("0" in text.split())

чтоб уж совсем коротенько

→ Ссылка