В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Мамиами
Мамиами
28.09.2020 16:59 •  Информатика

Даны натуральное число N - длина массива, k, s - номера элементов массива, отчет начинается с 1 (Числа вводятся через
пробел). На следующей строке записан массив целых чисел, каждый элемент которого записан через пробел.
Является ли s-й элемент массива положительным числом (ответ YES/NO)
Какой элемент массива больше: k-й или s-й ? (ответ("k"/"s"/"draw"(в случае если они равны))
Сначала выводиться (YES/NO), затем, на следующей строчке ("k"/"s"/"draw"(в случае если они равны))

МОЯ ПРОГА:
n, k, s = map(int, input().split())
mas = input().split()
for i in range(len(mas)):
mas[i] = int(mas[i])
for i in range(n):
if mas[s] > 0:
print('YES')
else:
print('NO')
for i in range(n):
if mas[k] > mas[s]:
print('k')
elif mas[k] < mas[s]:
print('s')
else:
print('draw')

ОНА ВЫВОДИТ:
YES
YES
YES
YES
YES
s
s
s
s
s

А сам вывод должен быть только с 'YES' и 's'
В чем ошибка проги?

Показать ответ
Ответ:
дашкатопикепи
дашкатопикепи
15.02.2022 22:55

первая ошибка в том, что ты берешь mas[s] и mas[k], при желании взять s-ый и k-ый элемент, но в питоне нумерация элементов идет с нуля, значит ты берешь (s+1)-ый и (k+1)-ый элемент вместо s-ого и k-ого

вторая ошибка в том, что ты, отвечая на вопрос, создаешь цикл. Зачем тебе "for i in range" - конструкция в 5 и 10 строках?

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота