def ciferny_sucet(cislo):
return sum(int(cifra) for cifra in str(cislo))
# Načítanie vstupného súboru
vstupny_subor = "ciferny_sucet.txt"
vystupny_subor = "vystup_ciferny_sucet.txt"
with open(vstupny_subor, "r") as f:
cisla = [int(line.strip()) for line in f.readlines()]
# Vypočítanie ciferného súčtu pre každé číslo
cif_sucety = [(cislo, ciferny_sucet(cislo)) for cislo in cisla]
# Zistenie najväčšej a najmenšej hodnoty ciferného súčtu
najmensi_cif_sucet = min(cif_sucety, key=lambda x: x[1])[1]
najvacsi_cif_sucet = max(cif_sucety, key=lambda x: x[1])[1]
# Nájdenie čísel s týmito hodnotami
najmensie_cisla = [cislo for cislo, suma in cif_sucety if suma == najmensi_cif_sucet]
najvacsie_cisla = [cislo for cislo, suma in cif_sucety if suma == najvacsi_cif_sucet]
# Vytvorenie výstupného súboru
with open(vystupny_subor, "w") as f:
for cislo, suma in cif_sucety:
f.write(f"{cislo} {suma}\n")
f.write("\nNajmensi ciferný súčet ({najmensi_cif_sucet}): {', '.join(map(str, najmensie_cisla))}\n")
f.write("Najvacsi ciferný súčet ({najvacsi_cif_sucet}): {', '.join(map(str, najvacsie_cisla))}\n")