Egy gondolkodtató gyakorló feladatokból álló gyűjtemény. Főbb témák a nyelvspecifikus programozás és a matematika.
Sztálin egy titkos fájlból szeretné kiszűrni a leghűtlenebb tanácsadóját, majd a maradék adatokat rendezett formában kimenteni egy új fájlba. A bemenet soronként egy név és egy hűségérték vesszővel elválasztva. A kisebb hűségérték jelenti a hűtlenebb tanácsadót.
input_file = 'tanacsadok.txt'
output_file = 'sorted_tanacsadok.txt'
# A feladat szerint a rekordokat egy fájlból kell beolvasni,
# majd a hűség szerint csökkenő sorrendbe rendezve új fájlba írni.
# A leghűtlenebb tanácsadó, vagyis a legkisebb hűségértékű sor kimarad.
def parse_record(line):
name, loyalty = line.rsplit(',', 1)
return name.strip(), int(loyalty.strip())
def sort_and_filter(records):
parsed = [parse_record(line) for line in records]
parsed.sort(key=lambda item: item[1], reverse=True)
lowest_loyalty = min(item[1] for item in parsed)
return [item for item in parsed if item[1] != lowest_loyalty]
def write_output(filename, rows):
with open(filename, 'w', encoding='utf-8') as file:
for name, loyalty in rows:
file.write(f'{name},{loyalty}\n')
with open(input_file, 'r', encoding='utf-8') as file:
records = [line.strip() for line in file if line.strip()]
filtered = sort_and_filter(records)
write_output(output_file, filtered)
print(output_file)