Python és Excel feladat megoldása: Véletlen számok generálása, adatok feldolgozása és fájlkezelés

Python és Excel feladat megoldása: Véletlen számok generálása, adatok feldolgozása és fájlkezelés

Ebben a cikkben bemutatjuk, hogyan oldhatunk meg egy informatikai feladatot Python és Excel segítségével. A feladat során véletlenszerű számokat generálunk, fájlokat készítünk és dolgozunk fel, majd a Python konzolalkalmazás segítségével az adatokat értelmezzük és különböző kérdésekre válaszolunk. Az alábbiakban részletesen bemutatjuk a lépéseket és az alkalmazott technikákat.

1. Véletlen számok generálása Excelben

Az első feladatban Excel segítségével kell generálni 50 és 100 közötti darabszámú, 0 és 18 közötti egész számokat. Ehhez az Excel Véletlen.Között függvényét használhatjuk, amely lehetővé teszi a véletlenszerű számok generálását adott intervallumban. A feladat lépései a következőképpen alakulnak:

  • Nyisd meg az Excel programot.
  • A cellákba alkalmazzuk a Véletlen.Között(0;18) függvényt az egyes cellákban.
  • Generálj 50 és 100 közötti számú adatot.
  • Az A1 cellától kezdve másold át a számokat egy jegyzettömbbe.
  • Az első sorba írd be a teljes neved ékezetek nélkül, majd mentsd a fájlt Net.txt néven.

2. Második fájl létrehozása

Ezután készíts egy másik fájlt, amelyben az első sorba egy tetszőleges nevet írsz. Ez a fájl hasonló felépítéssel rendelkezik, mint az előző, de a név most változik, és a fájlt tesztfajl.txt néven mentsd el. Az adatok formátuma ugyanaz, mint az előző fájlban.

3. Python konzolalkalmazás készítése

Miután elkészítettük az Excel fájlokat, a következő lépés egy Python konzolalkalmazás megírása, amely feldolgozza a Net.txt fájl adatait. Az alkalmazásnak képesnek kell lennie arra, hogy beolvassa a fájl tartalmát, és különböző statisztikákat jelenítsen meg az interneten töltött időről. A feladat a következő:

  • Olvasd be a fájl adatokat a memóriába.
  • Az első sorban található név alapján jelenítsd meg az „Adatfeldolgozó neve: <>.” üzenetet.
  • Jelenítsd meg a beolvasott számadatok darabszámát és az adatokat.
  • Írd ki a válaszokat a következő kérdésekre:
    • Összesen mennyi órát netezett?
    • Mennyi óra volt a leghosszabb gép előtt töltött idő?
    • Mennyi nap netezett 6 óránál többet?
    • Mennyi az átlagos netezésre fordított idő?
  • Számold ki az egyes napokon az internet árát, ha egy óra net ára 100 Ft. Az eredményeket egy új fájlba, netar.txt néven mentsd el.
  • Számold meg, hogy hány esetben található egymás után két nem egyforma adat a listában.
  • Jelenítsd meg az egyes adatok előfordulási számát csökkenő sorrendben.
  • Módosítsd a programot úgy, hogy kérdezze meg a felhasználótól a feldolgozandó fájl nevét, és dolgozza fel azt.
  • Ha hibás fájlnevet ad meg a felhasználó, jeleníts meg értelmes hibaüzenetet, és zárd le a programot.

4. Python program kód

Az alábbiakban bemutatjuk a Python program egy egyszerűsített verzióját, amely a fenti feladatokat végrehajtja:

Python program a fájlok feldolgozásához
def beolvas_fajl(fajlnev): try: with open(fajlnev, 'r') as file: sorok = file.readlines() nev = sorok[0].strip() adatok = [int(x) for x in sorok[1:]] return nev, adatok except FileNotFoundError: print("Hiba: A fájl nem található!") exit()

def statisztika(adatok): osszesen = sum(adatok) leghosszabb = max(adatok) atlag = osszesen / len(adatok) tobb_6 = len([x for x in adatok if x > 6]) return osszesen, leghosszabb, tobb_6, atlag

def net_ara(adatok): return [x * 100 for x in adatok]

def elofordulasok(adatok): elofordulas = {} for adat in adatok: if adat in elofordulas: elofordulas[adat] += 1 else: elofordulas[adat] = 1 return dict(sorted(elofordulas.items(), key=lambda item: item[1], reverse=True))

fajlnev = input("Adja meg a fájl nevét: ") nev, adatok = beolvas_fajl(fajlnev) print(f"Adatfeldolgozó neve: {nev}") print(f"Összes adat: {len(adatok)}") print(f"Összesen netezett órák: {statisztika(adatok)[0]}") print(f"Leghosszabb netezési idő: {statisztika(adatok)[1]}") print(f"Napok, amikor 6 óránál többet netezett: {statisztika(adatok)[2]}") print(f"Átlagos netezés: {statisztika(adatok)[3]} óra") print(f"Egy óra internet ára: {net_ara(adatok)} Ft") print(f"Adatok előfordulásai: {elofordulasok(adatok)}") 

5. Összegzés

A fenti Python program segítségével képesek vagyunk feldolgozni az Excelben generált adatokat, és különböző statisztikai számításokat végezni a netezési időkről. A fájlkezelés és adatfeldolgozás kombinálásával hatékony megoldásokat kínálunk a feladatok megoldására. Az ilyen típusú feladatok nemcsak a Python programozás és az Excel használatának elsajátítását segítik, hanem a probléma megoldási készségeinket is fejlesztik.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük