Как заменить цикл 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())
чтоб уж совсем коротенько
