Given a list of numbers, write a Python program to count positive and negative numbers in a List.
Example:
Input: list1 = [2, -7, 5, -64, -14] Output: pos = 2, neg = 3 Input: list2 = [-12, 14, 95, 3] Output: pos = 3, neg = 1
Example #1: Count positive and negative numbers from the given list using for loop Iterate each element in the list using for loop and check if num >= 0, the condition to check positive numbers. If the condition satisfies, then increase pos_count else increase neg_count.
Python3
list1
=
[
10
,
-
21
,
4
,
-
45
,
66
,
-
93
,
1
]
pos_count, neg_count
=
0
,
0
for
num
in
list1:
if
num >
=
0
:
pos_count
+
=
1
else
:
neg_count
+
=
1
print
(
"Positive numbers in the list: "
, pos_count)
print
(
"Negative numbers in the list: "
, neg_count)
Output
Positive numbers in the list: 4 Negative numbers in the list: 3
Time Complexity: O(N), Here N is the number of items in the list.
Auxiliary Space: O(1), As constant extra space is used.
Example #2: Using while loop
Python3
list1
=
[
-
10
,
-
21
,
-
4
,
-
45
,
-
66
,
93
,
11
]
pos_count, neg_count
=
0
,
0
num
=
0
while
(num <
len
(list1)):
if
list1[num] >
=
0
:
pos_count
+
=
1
else
:
neg_count
+
=
1
num
+
=
1
print
(
"Positive numbers in the list: "
, pos_count)
print
(
"Negative numbers in the list: "
, neg_count)
Output
Positive numbers in the list: 2 Negative numbers in the list: 5
Time Complexity: O(N), Here N is the number of items in the list.
Auxiliary Space: O(1), As constant extra space is used.
Example #3: Using Python Lambda Expressions
Python3
list1
=
[
10
,
-
21
,
-
4
,
45
,
66
,
93
,
-
11
]
neg_count
=
len
(
list
(
filter
(
lambda
x: (x <
0
), list1)))
pos_count
=
len
(
list
(
filter
(
lambda
x: (x >
=
0
), list1)))
print
(
"Positive numbers in the list: "
, pos_count)
print
(
"Negative numbers in the list: "
, neg_count)
Output
Positive numbers in the list: 4 Negative numbers in the list: 3
Time Complexity: O(N), Here N is the number of items in the list.
Auxiliary Space: O(1), As constant extra space is used.
Example #4: Using List Comprehension
Python3
list1
=
[
-
10
,
-
21
,
-
4
,
-
45
,
-
66
,
-
93
,
11
]
only_pos
=
[num
for
num
in
list1
if
num >
=
1
]
pos_count
=
len
(only_pos)
print
(
"Positive numbers in the list: "
, pos_count)
print
(
"Negative numbers in the list: "
,
len
(list1)
-
pos_count)
Output
Positive numbers in the list: 1 Negative numbers in the list: 6
Time Complexity: O(N), Here N is the number of items in the list.
Auxiliary Space: O(1), As constant extra space is used.
Method: Using enumerate function
Python3
l
=
[
12
,
-
7
,
5
,
64
,
-
14
];c
=
0
x
=
[a
for
j,a
in
enumerate
(l)
if
a>
=
0
]
print
(
"Length of Positive numbers is:"
,
len
(x))
print
(
"Length of Negative numbers is:"
,
len
(l)
-
len
(x))
Output
Length of Positive numbers is: 3 Length of Negative numbers is: 2
Time Complexity: O(N), Here N is the number of items in the list.
Auxiliary Space: O(1), As constant extra space is used.
Method : Using startswith() method
Python3
list1
=
[
10
,
-
21
,
4
,
-
45
,
66
,
-
93
,
1
,
0
]
pos_count, neg_count
=
0
,
0
list2
=
list
(
map
(
str
,list1))
for
num
in
list2:
if
num.startswith(
"-"
):
neg_count
+
=
1
elif
(num!
=
"0"
):
if
(
not
num.startswith(
"-"
)):
pos_count
+
=
1
print
(
"Positive numbers in the list: "
, pos_count)
print
(
"Negative numbers in the list: "
, neg_count)
Output
Positive numbers in the list: 4 Negative numbers in the list: 3
Time Complexity: O(N), Here N is the number of items in the list.
Auxiliary Space: O(1), As constant extra space is used.
Method: Using sum() method
Python3
l
=
[
12
,
-
7
,
5
,
64
,
-
14
];
x
=
sum
(
1
for
i
in
l
if
i >
=
0
)
print
(
"Length of Positive numbers is:"
, x)
print
(
"Length of Negative numbers is:"
,
len
(l)
-
x)
Output
Length of Positive numbers is: 3 Length of Negative numbers is: 2
Time Complexity: O(N), Here N is the number of items in the list.
Auxiliary Space: O(1), As constant extra space is used.
Method : Using for loop
STEP BY STEP APPROACH :
- Initialize a list of numbers called list1 with integer values.
- Initialize two variables pos_count and neg_count to 0.
- Convert all the numbers in list1 to strings using the map() function and store them in a new list called list2.
- Iterate through each number num in list2 using a for loop.
- For each number num, check the first character of the string representation of the number using num[0]:
a. If the first character is “-“, increment the neg_count variable as the number is negative.
b. Else, check if the number is not equal to “0” using num!=”0″:
i. If the number is positive, increment the pos_count variable. - Print the final values of pos_count and neg_count using the print() function.
Python3
list1
=
[
10
,
-
21
,
4
,
-
45
,
66
,
-
93
,
1
,
0
]
pos_count, neg_count
=
0
,
0
list2
=
list
(
map
(
str
,list1))
for
num
in
list2:
if
num[
0
]
=
=
"-"
:
neg_count
+
=
1
elif
(num!
=
"0"
):
if
(
not
num[
0
]
=
=
"-"
):
pos_count
+
=
1
print
(
"Positive numbers in the list: "
, pos_count)
print
(
"Negative numbers in the list: "
, neg_count)
Output
Positive numbers in the list: 4 Negative numbers in the list: 3
Time Complexity: O(N)
Auxiliary Space: O(N)
Method: Using the collections module and the Counter() function:
- Importing the Counter class from the collections module.
- Using a list comprehension to get a list of boolean values to check whether each number is non-negative or not, based on whether it is greater than or equal to zero.
- Passing the list of booleans to the Counter to get a dictionary mapping for counts.
- Storing the count of positive and negative no.
- Printing the output.
Python3
from
collections
import
Counter
list1
=
[
10
,
-
21
,
4
,
-
45
,
66
,
-
93
,
1
,
0
]
counts
=
Counter(num >
0
for
num
in
list1)
pos_count
=
counts[
True
]
neg_count
=
counts[
False
]
-
(
0
in
list1)
print
(
"Positive numbers in the list: "
, pos_count)
print
(
"Negative numbers in the list: "
, neg_count)
Output
Positive numbers in the list: 4 Negative numbers in the list: 3
Time Complexity: O(N) as we are traversing the whole list which takes O(N) time complexity.
Auxiliary Space: O(1) as no extra memory is used.
Last Updated :
10 Apr, 2023
Like Article
Save Article
Дан массив действительных чисел из N членов подсчитать сколько в нем отрицательных, положительных и нулевых элементов
задан 27 мар 2020 в 10:50
1
Вот так можно:
my_list = [1, 2, 3, 4, 5, 0, 0, 0, 0, -1, -2, -3, -4, -5]
positive = 0
negative = 0
zero = 0
for num in my_list:
if num > 0:
positive += 1
continue
if num < 0:
negative += 1
continue
zero += 1
print('Положительных: ', positive)
print('Отрицательных: ', negative)
print('Нулей: ', zero)
ответ дан 27 мар 2020 в 11:47
n1tr0xsn1tr0xs
11.2k2 золотых знака9 серебряных знаков28 бронзовых знаков
massive = [1,2,3,4,5,0,5,4,0,-5,3,2,-1] #вместо massive подставляете свой массив
pos = []
neg = []
zero = []
for num in massive:
if num > 0:
pos.append(num)
elif num == 0:
zero.append(num)
else:
neg.append(num)
print("Количество положительных: {}".format(len(pos)))
print("Количество отрицательных: {}".format(len(neg)))
print("Количество нулей: {}".format(len(zero)))
ответ дан 27 мар 2020 в 11:14
Alioshca ZAlioshca Z
1,3731 золотой знак4 серебряных знака10 бронзовых знаков
5
Python задачи
Создайте массив из 20 случайных целых чисел от -10 до 10, запишите их в ячейки массива. Подсчитайте, сколько из них положительных, отрицательных и нулевых. Отобразите элементы массива и значения подсчитанных величин. Разбор задачи на python
Алгоритм решения задачи на python
1) Назначить три переменные под счётчики и присвоить им значение равное 0
2) Написать цикл for, который создаёт случайные числа и записывает их в массив, далее сравнивает и записывает +1 в соответствующий счётчик
3) Вывод на экран значения счётчиков и массива
Код для нахождения количества положительных, отрицательных и равных нулю элементов массива
from random import random
mins = 0
zero = 0
plus = 0
a = []
for i in range(20):
n = int(random() * 20) – 10
a.append(n)
print(n, end=’ ‘)
if n > 0:
plus += 1
elif n < 0:
mins += 1
else:
zero += 1
print(“nПоложительных чисел: “, plus)
print(“Отрицательных чисел: “, mins)
print(“Чисел равных нулю: “, zero)
Python задачи
Все задачи на python
Репост статьи
22 декабря 2022 г.
Комментарии могут оставлять только зарегестрированные пользователи!
Комментарии
Ваш комментарий будет первым !
Большинство программ работает не с отдельными переменными, а с набором переменных.
Например, программа может обрабатывать информацию об учащихся класса, считывая список
учащихся с клавиатуры или из файла, при этом изменение количества учащихся в классе
не должно требовать модификации исходного кода программы.
Раньше мы сталкивались с задачей обработки элементов последовательности,
например, вычисляя наибольший элемент последовательности. Но при этом
мы не сохраняли всю последовательность в памяти компьютера, однако,
во многих задачах нужно именно сохранять всю последовательность, например,
если бы нам требовалось вывести все элементы последовательности
в возрастающем порядке (“отсортировать последовательность”).
Для хранения таких данных можно использовать структуру данных,
называемую в Питоне список (в большинстве же языков
программирования используется другой термин “массив”).
Список представляет собой последовательность элементов, пронумерованных
от 0, как символы в строке. Список можно задать перечислением элементов
списка в квадратных скобках, например, список можно задать так:
Primes = [2, 3, 5, 7, 11, 13] Rainbow = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']
В списке Primes
— 6 элементов, а именно,
Primes[0] == 2
,
Primes[1] == 3
,
Primes[2] == 5
,
Primes[3] == 7
,
Primes[4] == 11
,
Primes[5] == 13
.
Список Rainbow
состоит из 7 элементов, каждый из которых
является строкой.
Также как и символы строки, элементы списка можно индексировать отрицательными
числами с конца, например,
Primes[-1] == 13
,
Primes[-6] == 2
.
Длину списка, то есть количество элементов в нем, можно узнать при помощи функции
len
, например, len(A) == 6
.
Рассмотрим несколько способов создания и считывания списков. Прежде всего можно создать
пустой список (не содержащий элементов, длины 0), в конец списка можно добавлять элементы
при помощи метода append
. Например, если программа получает на вход
количество элементов в списке n
, а потом n
элементов
списка по одному в отдельной строке, то организовать считывание списка можно так:
A = [] for i in range(int(input()): A.append(int(input())
В этом примере создается пустой список, далее считывается количество элементов
в списке, затем по одному считываются элементы списка и добавляются в его конец.
Для списков целиком определены следующие операции: конкатенация списков
(добавление одного списка в конец другого) и повторение списков (умножение списка
на число). Например:
A = [1, 2, 3] B = [4, 5] C = A + B D = B * 3
В результате список C
будет равен [1, 2, 3, 4, 5]
, а список
D
будет равен [4, 5, 4, 5, 4, 5]
. Это позволяет по-другому
организовать процесс считывания списков: сначала считать размер списка и создать список
из нужного числа элементов, затем организовать цикл по переменной i
начиная
с числа 0 и внутри цикла считывается i
-й элемент списка:
A = [0] * int(input()) for i in range(len(A)): A[i] = int(input())
Вывести элементы списка A
можно одной инструкцией print(A)
,
при этом будут выведены квадратные скобки вокруг элементов списка и запятые между
элементами списка. Такой вывод неудобен, чаще требуется просто вывести все элементы
списка в одну строку или по одному элементу в строке. Приведем два примера, также
отличающиеся организацией цикла:
for i in range(len(A)): print(A[i])
Здесь в цикле меняется индекс элемента i
, затем выводится элемент
списка с индексом i
.
for elem in A: print(elem, end = ' ')
В этом примере элементы списка выводятся в одну строку, разделенные пробелом,
при этом в цикле меняется не индекс элемента списка, а само значение переменной
(например, в цикле for elem in ['red', 'green', 'blue']
переменная
elem
будет последовательно принимать значения 'red'
,
'green'
, 'blue'
.
Методы split
и join
Элементы списка могут вводиться по одному в строке, в этом случае строку можно
считать функцией input()
. После этого можно использовать метод строки
split
, возвращающий список строк, разрезав исходную строку
на части по пробелам. Пример:
A = input().split()
Если при запуске этой программы ввести строку 1 2 3
, то список
A
будет равен ['1', '2', '3']
. Обратите внимание, что
список будет состоять из строк, а не из чисел. Если хочется получить список
именно из чисел, то можно затем элементы списка по одному преобразовать в числа:
for i in range(len(A)): A[i] = int(A[i])
Используя функции языка map
и list
то же самое можно сделать в одну строку:
A = list(map(int, input().split()))
Объяснений, как работает этот код, пока не будет.
Если нужно считать список действительных чисел, то нужно заменить тип
int
на тип float
.
У метода split
есть необязательный параметр, который
определяет, какая строка будет использоваться в качестве разделителя
между элементами списка. Например, метод split('.')
вернет список, полученный разрезанием исходной строки по символам
'.'
.
Используя “обратные” методы можно вывести список
при помощи однострочной команды. Для этого используется метод строки
join
. У этого метода один параметр: список строк. В результате
получается строка, полученная соединением элементов списка (которые переданы
в качестве параметра) в одну строку, при этом между элементами списка вставляется
разделитель, равный той строке, к которой применяется метод. Например программа
A = ['red', 'green', 'blue'] print(' '.join(A)) print(''.join(A)) print('***'.join(A))
выведет строки 'red green blue'
, redgreenblue
и red***green***blue
.
Если же список состоит из чисел, то придется использовать еще и функцию
map
. То есть вывести элементы списка чисел, разделяя их пробелами,
можно так:
print(' '.join(map(str, A)))
Генераторы списков
Для создания списка, заполненного одинаковыми элементами, можно использовать
оператор повторения списка, например:
A = [0] * n
Для создания списков, заполненных по более сложным формулам можно использовать
генераторы: выражения, позволяющие заполнить список некоторой формулой.
Общий вид генератора следующий:
[ выражение for переменная in список]
где переменная
— идентификатор некоторой
переменной, список
— список значений,
который принимает данная переменная (как правило, полученный при помощи функции range
),
выражение
— некоторое выражение, которым будут заполнены
элементы списка, как правило, зависящее от использованной в генераторе переменной.
Вот несколько примеров использования генераторов.
Создать список, состоящий из n
нулей можно и при помощи генератора:
A = [ 0 for i in range(n)]
Создать список, заполненный квадратами целых чисел можно так:
A = [ i ** 2 for i in range(n)]
Если нужно заполнить список квадратами чисел от 1 до n
,
то можно изменить параметры функции range
на
range(1, n + 1)
:
A = [ i ** 2 for i in range(1, n + 1)]
Вот так можно получить список, заполненный случайными
числами от 1 до 9 (используя функцию randint
из модуля random
):
A = [ randint(1, 9) for i in range(n)]
А в этом примере список будет состоять из строк, считанных
со стандартного ввода: сначала нужно ввести число элементов
списка (это значение будет использовано в качестве аргумента
функции range
), потом — заданное количество строк:
A = [ input() for i in range(int(input()))]
Упражнения
Во всех задачах этого листка программа получает на вход
строку из целых чисел, разделенных пробелами. В конце строки
также могут быть пробелы. Данную строку необходимо считать
в список целых чисел.
01: Четные индексы
Выведите все элементы списка с четными индексами
(то есть A[0]
, A[2]
, A[4]
, …).
Программа должна быть эффективной и не выполнять лишних действий!
Ввод | Вывод |
---|---|
1 2 3 4 5 |
1 3 5 |
02: Четные элементы
Выведите все четные элементы списка.
Ввод | Вывод |
---|---|
1 2 2 3 3 3 4 |
2 2 4 |
03: Количество положительных
Найдите количество положительных элементов в данном списке.
Ввод | Вывод |
---|---|
1 -2 3 -4 5 |
3 |
04: Больше предыдущего
Дан список чисел. Выведите все элементы списка, которые больше предыдущего элемента.
Ввод | Вывод |
---|---|
1 5 2 4 3 |
5 4 |
05: Соседи одного знака
Дан список чисел. Если в нем есть два соседних элемента одного знака, выведите эти числа.
Если соседних элементов одного знака нет – не выводите ничего. Если таких пар соседей
несколько – выведите первую пару.
Ввод | Вывод |
---|---|
-1 2 3 -1 -2 |
2 3 |
06: Больше своих соседей
Дан список чисел. Определите, сколько в этом списке элементов, которые
больше двух своих соседей и выведите количество таких элементов.
Ввод | Вывод |
---|---|
1 0 1 0 1 |
1 |
07: Наибольший элемент
Дан список чисел. Выведите значение наибольшего элемента в списке, а затем
индекс этого элемента в списке. Если наибольших элементов несколько,
выведите индекс первого из них.
Ввод | Вывод |
---|---|
1 2 3 2 1 |
3 2 |
08: Наименьший положительный
Выведите значение наименьшего из всех положительных элементов в списке.
Известно, что в списке есть хотя бы один положительный элемент, а значения
всех элементов списка по модулю не превосходят 1000.
Ввод | Вывод |
---|---|
5 -4 3 -2 1 |
1 |
09: Наименьший нечетный
Выведите значение наименьшего нечетного элемента списка, а если в списке
нет нечетных элементов – выведите число 0
.
Ввод | Вывод |
---|---|
0 1 2 3 4 |
1 |
2 4 6 8 10 |
0 |
10: Ближайшее число
Дан список чисел и некоторое число. Найдите в данном списке элемент, ближайший к заданному.
В первой строке заданы элементы списка (целые числа, не превосходящие по модулю 1000).
Во второй строке дано одно целое число (x), не превосходящее по модулю 1000.
Выведите значение элемента списка, ближайшее к (x). Если таких чисел несколько, выведите любое из них.
Ввод | Вывод |
---|---|
1 2 4 5 6 |
2 |
1 2 4 5 6 |
4 |
1 2 3 |
2 |
11: Шеренга
Петя перешёл в другую школу. На уроке физкультуры ему понадобилось определить своё место в строю.
Помогите ему это сделать.
Программа получает на вход невозрастающую последовательность натуральных чисел,
означающих рост каждого человека в строю. После этого вводится число X – рост Пети.
Все числа во входных данных натуральные и не превышают 200.
Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом,
таким же, как у Пети, то он должен встать после них.
Ввод | Вывод |
---|---|
165 163 160 160 157 157 155 154 |
3 |
165 163 160 160 157 157 155 154 |
5 |
12: Количество различных элементов
Дан список, упорядоченный по неубыванию элементов в нем.
Определите, сколько в нем различных элементов.
Ввод | Вывод |
---|---|
1 2 2 3 3 3 |
3 |
13: Вывести в обратном порядке
Выведите элементы данного списка в обратном порядке, не
изменяя сам список.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 4 3 2 1 |
14: Переставить в обратном порядке
Переставьте элементы данного списка в обратном порядке, затем выведите
элементы полученного списка.
Эта задача отличается от предыдущей тем, что вам нужно изменить значения
элементов самого списка, поменяв местами A[0]
c A[n-1]
,
A[1]
с A[n-2]
, а затем вывести элементы списка подряд.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 4 3 2 1 |
15: Переставить соседние
Переставьте соседние элементы списка (A[0]
c A[1]
,
A[2]
c A[3]
и т.д.).
Если элементов нечетное число, то последний элемент остается на своем месте.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
2 1 4 3 5 |
16: Переставить min и max
В списке все элементы различны. Поменяйте местами минимальный и максимальный элемент этого списка.
Ввод | Вывод |
---|---|
3 4 5 2 1 |
3 4 1 2 5 |
17: Циклический сдвиг вправо
Циклически сдвиньте элементы списка вправо
(A[0]
переходит на место A[1]
,
A[1]
на место A[2]
, …,
последний элемент переходит на место A[0]
).
Используйте минимально возможное количество операций присваивания.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 1 2 3 4 |
18: Кузнечики
(N) кузнечиков стоят в ряд. Для каждого кузнечика задана числовая характеристика — длина его прыжка.
Если длина прыжка кузнечика равна (l), то он за один прыжок перепрыгивает через (l) других кузнечиков.
Каждую секунду последний кузнечик прыгает к началу ряда, перепрыгивает через столько кузнечиков, чему равна
длина его прыжка, и становится между двумя другими кузнечиками.
П первой строка входных данных задана расстановка кузнечиков (длины их прыжков). Во второй строке входных данных
задано число секунд (t). Опеределите и выведите на экран расстановку кузнечиков через (t) секунд. Все длины прыжков —
натуральные числа, меньшие, чем число кузнечиков в ряду.
Ввод | Вывод |
---|---|
1 2 3 4 2 |
4 1 2 2 3 |
19: Количество совпадающих пар
Дан список чисел. Посчитайте, сколько в нем пар элементов, равных друг другу.
Считается, что любые два элемента, равные друг другу образуют одну пару,
которую необходимо посчитать.
Ввод | Вывод |
---|---|
1 2 3 2 3 |
2 |
1 1 1 1 1 |
10 |
20: Два ближайших
Дан список целых чисел. Найдите в нем два ближайших элемента (то есть два элемента с минимальной
абсолютной разностью).
Программа получает на вход число (N), в следующей строке заданы (N) элементов
списка через пробел.
Выведите два числа: индексы двух элементов массива, абсолютная величина разности которых минимальна.
Ввод | Вывод |
---|---|
6 7 0 4 2 5 9 |
2 4 |
21: Количество различных элементов – 2
Дан список. Посчитайте, сколько в нем различных элементов, не изменяя самого списка.
Ввод | Вывод |
---|---|
3 2 1 2 3 |
3 |
22: Медиана
В списке — нечетное число элементов, при этом все элементы различны. Найдите
медиану списка: элемент, который стоял бы ровно посередине списка, если список отсортировать.
При решении этой задачи нельзя модифицировать данный список (в том числе и сортировать его),
использовать вспомогательные списки.
Программа получает на вход нечетное число (N), в следующей строке заданы (N) элементов
списка через пробел.
Программа должна вывести единственное число — значение медианного элемента в списке.
Ввод | Вывод |
---|---|
7 6 1 9 2 3 4 8 |
4 |
23: Уникальные элементы
Дан список. Выведите те его элементы, которые встречаются в списке только один раз.
Элементы нужно выводить в том порядке, в котором они встречаются в списке.
Ввод | Вывод |
---|---|
1 2 2 3 3 3 |
1 |
24: Самое частое число
Дан список. Не изменяя его и не используя дополнительные списки,
определите, какое число в этом списке встречается чаще всего.
Если таких чисел несколько, выведите любое из них.
Ввод | Вывод |
---|---|
1 2 3 2 3 3 |
3 |
25: Числа (k)-боначчи
Назовем последовательность чисел последовательностью (k)-боначчи, если
каждый элемент этой последовательности является суммой (k) предыдущих
членов последовательности. В частности, последовательность (2)-боначчи
является последовательностью Фибоначчи.
Более формально, (i-й) элемент последовательности (k_i) равен
1, если (0le ile k – 1) и равен сумме (k) предыдущих членов последовательности
(k_{i-1} + k_{i-2} + … + k_{i-k}) при (ige k).
Даны два числа (k) и (n) ((kge 2), (nge0)). Вычислите
(n)-й член последовательности (k)-боначчи
(k_n).
Ввод | Вывод |
---|---|
3 6 |
17 |
100 0 |
1 |
26: Ферзи
Известно, что на доске 8×8 можно расставить 8 ферзей так, чтобы они не били
друг друга. Вам дана расстановка 8 ферзей на доске, определите, есть ли среди них
пара бьющих друг друга.
Программа получает на вход восемь пар чисел, каждое число от 1 до 8 – координаты 8 ферзей.
Если ферзи не бьют друг друга, выведите слово NO
, иначе выведите YES
.
Ввод | Вывод |
---|---|
1 7 |
NO |
1 8 |
YES |
Голосование за лучший ответ
Бабичев Рама
Мастер
(1082)
5 лет назад
допустим, что:
a = 1,2,3,4,5,6,7,8,9
тогда список положительных чисел:
[x for x in a if x%2==0]
Юрий Моисеев
Оракул
(83756)
5 лет назад
Если числа из списка А, то например так:
print(len([A[i] for i in range(len(A)) if A[i]>0]))
UltimatuM
Оракул
(72868)
5 лет назад
l = [1,2,3, -4, 5]
print(sum(1 for x in l if x >0))