Fizika, matek, informatika érettségi

Home Fizika Excel Access A weboldalról

VII. Fogyókúra

4. szint

Mari néni és Bözsi néni is fogyni szeretne. A nagyobb motiváció érdekében figyelemmel kísérik egymás testsúlyának alakulását. Az adatokat minden hétfőn rögzítik a fogyi.txt állományba. A fájl sorai rendre Mari néni, majd Bözsi néni tömegét tartalmazzák kg-ban egészre kerekítve, az egymást követő heteken egy szóközzel elválasztva. A fájl legfeljebb egy év (53 hét) adatait tartalmazza.

87 85
86 88


A példában a második héten Mari néni 86 kg, Bözsi néni pedig 88 kg volt. Készítsünk fogyokura néven programot az alábbiak szerint. Minden esetben írassuk ki a feladat számát is.

Feladatok:
  1. Olvassuk be a fájlból és tároljuk el az adatokat.
  2. Kérjük be egy hét sorszámát, majd írassuk ki, hogy ezen a hétfőn hány kilogramm volt a két hölgy.
  3. Írjuk ki a képernyőre, hogy hány olyan hét volt, amikor Mari néni tömege meghaladta Bözsi néniét.
  4. Számítsuk ki, hogy mennyi volt a mérés ideje alatt Bözsi néni átlagos tömege. Az eredményt két tizedesjegy pontossággal írassuk ki a képernyőre.
  5. Vizsgáljuk meg, hogy melyik héten volt Mari néni tömege a legnagyobb. Ha több ilyen hét is volt, akkor mindegyiket írassuk ki a képernyőre.
  6. Keressük meg, hogy mikor csökkent az előző héthez képest az egyik, illetve a másik hölgy tömege. Az eredményt egy-egy szóközzel elválasztva a következő formában írassuk ki a csokken.txt nevű szöveges állományba.
  7. Írjuk egy táblázatban a képernyőre, hogy adott tömegeket mely heteken mért Mari néni. A táblázatban csak azok a tömegek szerepeljenek, amelyeket ténylegesen el is ért Mari néni.
Letöltés: fogyi.txt

Minta:
2. feladat
A(z) 2. héten Mari néni 86 kg, Bözsi néni 88 kg volt

3. feladat
14 héten volt nehezebb Mari néni

4. feladat
Bözsi néni átlagos tömege 84.83 kg volt.

5. feladat
Mari néni a legnehezebb volt ezeken a heteken: 1, 11, 17, 18

7. feladat
81 kg: 27
82 kg: 26
83 kg: 25 28 30
84 kg: 21 22 23 24 29
85 kg: 3 4 8 9 13 14 15 20
86 kg: 2 5 6 7 10 12 16 19
87 kg: 1 11 17 18

csokken.txt
mintája:

Mari néni: 1-2 2-3 7-8 11-12 12-13 18-19 19-20 20-21 24-25 25-26 26-27 29-30
Bözsi néni: 3-4 4-5 5-6 6-7 8-9 16-17 17-18 18-19 19-20 20-21 21-22 23-24 25-26 27-28 28-29



# 1. feladat
with open('fogyi.txt') as fajl:
forras = fajl.read().splitlines()
adatok = [sor.split(' ') for sor in forras]

# 2. feladat
print('2. feladat')
het = '200000'
while int(het)>len(adatok):
het = input('Kérem a hetet: ')
print('A(z) '+het+'. héten Mari néni',adatok[int(het)-1][0],'kg, Bözsi néni',adatok[int(het)-1][1],'kg volt')

# 3. feladat
print(‘'\n3. feladat')
lista = [1 for adat in adatok if int(adat[0])>int(adat[1])]
print(len(lista),'héten volt nehezebb Mari néni')

# 4. feladat
print(‘\n4. feladat’)
atlag = int(sum([int(adat[1]) for adat in adatok])/len(adatok)*100)/100
print('Bözsi néni átlagos tömege',atlag,'kg volt.')

# 5. feladat
print('\n5. feladat')
mari_max = max([int(adat[0]) for adat in adatok])
hetek = [str(index1+1) for index1 in range(len(adatok)) if int(adatok[index1][0])==mari_max]
print('Mari néni a legnehezebb volt ezeken a heteken: '+', '.join(hetek))

# 6. feladat
mari_csokkent = [[index1+1,index1+2] for index1 in range(len(adatok)-1) if int(adatok[index1+1][0])<int(adatok[index1][0])]
bozsi_csokkent = [[index1+1,index1+2] for index1 in range(len(adatok)-1) if int(adatok[index1+1][1])<int(adatok[index1][1])]
kiir1 = 'Mari néni: '
for adat in mari_csokkent:
kiir1 += str(adat[0])+'-'+str(adat[1])+' '
kiir2 = 'Bözsi néni: '
for adat in bozsi_csokkent:
kiir2 += str(adat[0])+'-'+str(adat[1])+' '
with open('csokken.txt','w') as fajl:
print(kiir1,file=fajl)
print(kiir2,file=fajl)

# 7. feladat
print('\n7. feladat')
tomegek = list({adat[0] for adat in adatok})
tomegek.sort()
for index1 in range(len(tomegek)):
kiir = tomegek[index1]+' kg:'
for index2 in range(len(adatok)):
if adatok[index2][0] == tomegek[index1]:
kiir +=' '+str(index2+1)
print(kiir)