Вопрос Python. необходимо найти наиболее рациональное решение.

Регистрация
3 Окт 2013
Сообщения
73
Репутация
1
Спасибо
0
Монет
0
Дан список вещественных чисел и натуральное число k. Найдите номер k-го положительного элемента в списке. Считается, что элементы в списке нумеруются с 1. Если такого элемента нет, то выведите NO.

Входные данные

С клавиатуры вводится список чисел. Числа вводятся в одной строке через пробел.

На другой строке вводится k.

Выходные данные

Выведите ответ на задачу.

Примеры

Входные данные

4 3 5 2 8

3

Выходные данные

5

Входные данные

-4 -3 5 2 -8

3

Выходные данные

NO
 
numbers = list(map(int, input().split()))
k = int(input())

positive_numbers = [num for num in numbers if num > 0]

if len(positive_numbers) < k:
print("NO")
else:
print(positive_numbers[k-1])
 
print(*[v for v in input().split() if float(v) > 0][int(input()) - 1:][:1] or ['NO'])
 
A = [int(i) for i in input().split()]
k, n = int(input()), 0
for i in range(len(A)):
if A > 0: n += 1
if n == k: print(i + 1); break
if n < k: print('No')
 
def kth_positive(arr, k):
positive_numbers = [num for num in arr if num > 0]
positive_numbers.sort()
if k > len(positive_numbers):
return "NO"
else:
return positive_numbers[k - 1]

arr = list(map(int, input().split()))
k = int(input())
print(kth_positive(arr, k))
 
Назад
Сверху