Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача по языку Python

デウス・エクス・マキナ Профи (686), на голосовании 11 месяцев назад
Условие:

Дана таблица целых чисел, состоящая из n строк и m столбцов.

Требуется определить есть ли в списке строка, состоящая только из неотрицательных элементов.

Формат входных данных
В первой строке через пробел вводятся целые положительные числа n и m.

Далее вводятся n строк по m элементов.

Формат выходных данных
Требуется вывести YES, если список содержит такую строку, и NO в противном случае.


ДОП ЗАДАНИЕ ОТ АВТОРА:

Переделайте этот код в нормальный для решения задачи:

n, m = map(int,input().split())
peremennaya = 'NO'
for i in range(n + 1):
for j in range(m + 1):
if j < 0:
peremennaya = 'YES'
print(peremennaya)
Голосование за лучший ответ
MIKHAIL TSYBIN Знаток (394) 1 год назад
Код, предоставленный вами, имеет несколько проблем:

Он пытается итерировать на одну итерацию больше, чем нужно (n + 1 и m + 1 вместо n и m).
Проверка if j < 0: фактически не проверяет значения элементов списка; вместо этого она проверяет индексы, что некорректно.
Входные данные для элементов строк не считываются.


 n, m = map(int, input().split())  # Считываем количество строк n и количество столбцов m 
peremennaya = 'NO' # Переменная для хранения результата

for i in range(n): # Итерируем по строкам
row = list(map(int, input().split())) # Считываем текущую строку
if all(x >= 0 for x in row): # Проверяем, все ли числа в строке неотрицательные
peremennaya = 'YES'
break # Прерываем цикл, так как нашли нужную строку

print(peremennaya) # Выводим результат

Этот код сначала считывает количество строк n и столбцов m. Затем он проходит по каждой строке, считывая её и проверяя, состоит ли она только из неотрицательных чисел. Если находится такая строка, переменная peremennaya устанавливается в 'YES', и цикл прерывается. В конце результат выводится на экран.
デウス・エクス・マキナПрофи (686) 11 месяцев назад
спасибо, большое
Похожие вопросы