Здравствуйте ,есть файл с ИНН сотрудников, заплатой за первое полугодие и за второе, нужно вывести ИНН сотрудника с наибольшей за за 1-е полугодие

Вот мой код но он выводит неверный ответ:

def salary():
    infile = open("C:/Users/OWNER/Desktop/3/salary.txt","r",encoding="utf-8")
    arr = []
    arr1 = []
    max = 0
    num = 0
    
    arr = infile.readlines()
    
    for i in arr:
        if i and i != "\n":
            num = i.split(",") 
    
    for summ in arr1:
        if (max<int(summ[1])):
            max = int(summ[1])
            num=summ
    print(num[0])

salary()

так выглядит файл в блокноте

Может быть проблема этом кусочке кода:

for i in arr:
    if i and i != "\n":
        num = i.split(",")

но без него программа совсем не работает :( Буду благодарна за любой совет, спасибо!


Ответы (2 шт):

Автор решения: Andrew Holovko

Создаете список списков для каждой строки, и далее определяете наиболее из них. Далее пример кода:

import csv

with open('file.txt', newline='') as file:
    salaries = csv.reader(file, delimiter=',')
    salaries = [[int(num) for num in lstt] for lstt in salaries]
    max_salary = max(salaries, key=lambda x: x[1])
    print(max_salary)
→ Ссылка
Автор решения: Danis

замените

num = i.split(",")

на

arr1.append(i.split(",")) 
→ Ссылка