Форум сайта python.su
Всем привет!
Есть задачка:
Проверьте, есть ли среди данных N чисел нули.
Формат ввода
Вводится число N, а затем N чисел.
Формат вывода
Выведите True, если среди введенных чисел есть хотя бы один нуль, или False в противном случае.
Тест 1
Входные данные:
3
4
19
14
Вывод программы:
False
Тест 2
Входные данные:
7
8
8
8
12
12
11
28
Вывод программы:
False
Тест 3
Входные данные:
7
0
20
9
14
5
29
4
Вывод программы:
True
print(any(int(input()) == 0 for _ in range(int(input()))))
from itertools import chain print(any(int(input()) == 0 in chain(range(int(input())))))
Отредактировано n293 (Ноя. 11, 2017 19:45:45)
Офлайн
Решить в функциональном стиле. может так?
def zero(n): for _ in range(n): if input() == '0': return True return False print(zero(int(input())))
Отредактировано marvellik (Ноя. 11, 2017 19:58:11)
Офлайн
marvellik, вот что система выдает:
Precompile check failed:
no if allowed
If тоже отбраковывает.
0 in [int(input()) for _ in range(int(input()))]
Отредактировано n293 (Ноя. 11, 2017 20:03:37)
Офлайн
n293 ссылку на ресурс с задачей можно?
Офлайн
marvellikПожалуйста: https://www.coursera.org/learn/python-osnovy-programmirovaniya/programming/9uqay/nol-ili-nie-nol/
n293 ссылку на ресурс с задачей можно?
Отредактировано n293 (Ноя. 11, 2017 20:05:49)
Офлайн
там еще и платить нужно? увы я не могу просмотреть задачу но точно что без цикла вы не считаете n количества строк да и для этого n дана в задаче. вот без if можно
print(0 in [int(input()) for _ in range(int(input()))])
Офлайн
marvellikда, это платный курс
там еще и платить нужно? увы я не могу просмотреть задачу но точно что без цикла вы не считаете n количества строк да и для этого n дана в задаче. вот без if можно
Precompile check failed:
no for allowed
Офлайн
Не знаю, может натолкну на мысли:
В этом уроке рассказывалось про itertools (combinations, permutations, accumulate), fuctools (partial, reduce), про стандартные функции (sum, min, max, map, filter(predicate, iterable), enumerate, any, all, zip(iterA, iterB, …))
Может что-то из этого добра вместо цикла подойдет?
Офлайн
функции работают с структурами данных поэтому их надо как то получить.
Офлайн
Все, нашлось решение!
from itertools import repeat print(0 in list(map(lambda r: int(r()), repeat(input, int(input())))))
Отредактировано n293 (Ноя. 11, 2017 20:37:34)
Офлайн