codeFlowType:
codeMistake
codeFlowLang:
Python
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:
– в строке все числа различны;
– сумма двух наибольших чисел строки не больше суммы трёх её оставшихся чисел.
В ответе запишите только число.
count=0
for line in open('dfgg'):
a = sorted([int(x) for x in line.split()], reverse = True)
b = [x for x in a if a ==1]
if len(b) == 5 and a[0]+a[1]<= a[2]+a[3]+a[4]:
count+=1
print(count)
В вашем коде есть несколько ошибок. Давайте их исправим.
b = [x for x in a if a == 1]
неправильно используется условие. Вы хотите проверить, являются ли все числа различными, а не равны ли они единице.with open(...)
для автоматического закрытия файла.Вот исправленный код на Python:
count = 0
with open('dfgg.txt') as file: # Убедитесь, что файл имеет правильное расширение
for line in file:
a = sorted([int(x) for x in line.split()], reverse=True)
if len(set(a)) == 5 and a[0] + a[1] <= a[2] + a[3] + a[4]: # Проверяем, что все числа различны
count += 1
print(count)
Обратите внимание на следующее:
set(a)
для проверки уникальности чисел в строке.len(set(a)) == 5
, что означает, что в строке пять различных чисел.