Guruló Gofri
Kategória: python - közép (előfizetőknek)
Feladat leírása
Képzeld el, hogy belevágsz egy saját vállalkozásba, és elindítod a "Guruló Gofri" nevű food truckodat! A célod, hogy egy hét alatt sikeresen üzemeltesd a büfékocsit: növeld a bevételedet és a hírnevedet. A hét minden napjára meg kell tervezned, hogy mit teszel: kinyitsz és árulsz (N), alapanyagot szerzel be (B), vagy a kocsi fejlesztésével és takarításával foglalkozol (T). A sikered a döntéseiden, a napi forgalmon és egy kis szerencsén is múlik.
Készíts programot az alábbi leírás szerint, amely modellezi a food truckod első hetét, és a végén kiértékeli a teljesítményedet! A program egy 7 karakteres karaktersorozat alapján szimulálja le a hetet, és számolja a pénz, a hírnév és az alapanyagok változását. A program forráskódját mentsd foodtruck néven!
A képernyőre írást igénylő feladatok esetén az ékezetmentes kiírás is elfogadott. Ha egy feladatot nem tudsz megoldani, akkor haladj tovább, és foglalkoztass a többi feladattal. Ha egy feladat eredményére szükséged van a továbbiakban, akkor add meg a hiányzó értékeket, és azzal dolgozz tovább!
Oldd meg a program segítségével a következő feladatokat!
Minta a szöveges kimenet kialakításához:
Indul a 'Guruló Gofri'! Pénz: 20000 Ft, Hírnév: 20 pont, Alapanyag: 50 adag.
Add meg a 7 napos tervedet: NNBTTNN
1. nap (Nyitvatartás): 24 adag eladva. Bevétel: 21600 Ft. Új állás: 41600 Ft, 26 hírnév, 26 adag.
2. nap (Nyitvatartás): 26 adag eladva. Bevétel: 23400 Ft. Új állás: 65000 Ft, 33 hírnév, 0 adag.
3. nap (Beszerzés): -10000 Ft költség, +100 adag alapanyag. Új állás: 55000 Ft, 33 hírnév, 100 adag.
4. nap (Fejlesztés): -5000 Ft költség, +10 hírnév. Új állás: 50000 Ft, 43 hírnév, 100 adag.
5. nap (Fejlesztés): -5000 Ft költség, +10 hírnév. Új állás: 45000 Ft, 53 hírnév, 100 adag.
Különleges esemény: Egy food blogger írt rólad! Bónusz +25 hírnév, +10000 Ft, de a marketing költség -3000 Ft. Új állás: 52000 Ft, 78 hírnév, 100 adag.
6. nap (Nyitvatartás): 55 adag eladva. Bevétel: 49500 Ft. Új állás: 101500 Ft, 90 hírnév, 45 adag.
7. nap (Nyitvatartás): 41 adag eladva. Bevétel: 36900 Ft. Új állás: 138400 Ft, 100 hírnév, 4 adag.
--- Heti értékelés ---
A hét legforgalmasabb napja a 6. volt, 12-es forgalmi szorzóval.
Kimagaslóan forgalmas hét volt, jutalmad 10000 Ft extra profit!
Működési napló: 4 nyitvatartás, 1 beszerzés, 2 fejlesztés.
Jól menedzselt hét, profi munka! Jutalmad +20 hírnév.
Végső állás: 148400 Ft, 120 hírnév, 4 adag.
Nettó változás: HHHHHHHHHHPPPPPPPPPPPPPPPPPPPPP
Gratulálok, te lettél a város új Gasztro Hőse!
Részfeladatok
1. Hozz létre változókat a pénz (penz), a hírnév (hirnev), az alapanyag (alapanyag), valamint a napi akciók (N, B, T) megszámlálására. A kezdőértékek legyenek penz = 20000, hirnev = 20, alapanyag = 50. A számlálók 0-ról induljanak.
2.
Hozd létre a napi_forgalom = [6, 7, 5, 8, 10, 12, 9] listát, ami a hét napjainak forgalmasságát mutatja.3.
Írasd ki a mintának megfelelő üdvözlő üzenetet a kezdőértékekkel!4.
Kérd be a felhasználótól a 7 napos tervet tartalmazó karaktersorozatot!5.
Írj egy ciklust, amely végigmegy a bekért karaktersorozat minden karakterén (a 7 napon)!6.
A cikluson belül vizsgáld meg az aktuális napi akciót (N, B vagy T), és a leírásnak megfelelően módosítsd a változókat!a) N (Nyitvatartás): Az eladott adagok száma napi_forgalom[nap_indexe] * random.randint(2, 5). Ha nincs elég alapanyag, annyit adsz el, amennyi van. A bevétel eladott_adag * 900 Ft. A hírnév eladott_adag // 4 ponttal nő. Az alapanyag csökken az eladott adaggal.
b) B (Beszerzés): A pénz csökken 10000 Ft-tal, az alapanyag nő 100 adaggal.
c) T (Fejlesztés/Takarítás): A pénz csökken 5000 Ft-tal, a hírnév nő 10 ponttal.
7. Minden nap növeld a megfelelő akció-számlálót (N, B vagy T)!
8. Figyelj arra, hogy a program futtatása során ne mindig ugyanazt a véletlenszám-sorozatot kapd! (random modul)
9.
Minden nap végén (a ciklusmag végén) írasd ki a mintának megfelelően az aznapi eseményeket és az új penz, hirnev, alapanyag állást!10.
Szintén minden nap végén vizsgáld meg, hogy a hirnev pontszámod átlépett-e egy 50-es határt (pl. 48-ról 53-ra nőtt). Ha igen, egy food blogger írt rólad! Adj 25-öt a hírnévhez, 10000-et a pénzhez, de vonj le 3000 Ft marketing költséget. Írasd ki a "Különleges esemény"-t!11.
Írj egy elválasztót és a "Heti értékelés" címet!12.
Keresd meg és írasd ki a napi_forgalom lista legnagyobb elemét és annak sorszámát (a hét napját)!13.
Add össze a napi_forgalom lista elemeit! Ha az összeg nagyobb mint 55, adj 10000-et a penz változóhoz, és írasd ki a "kimagaslóan forgalmas hét" miatti bónuszról szóló üzenetet!14.
Írasd ki a megszámlált akciók (N, B, T) számát a mintának megfelelően!15.
Vizsgáld meg, hogy volt-e legalább 4 nyitvatartási nap (N), legalább 1 beszerzési nap (B) és legalább 1 fejlesztési nap (T)! Ha igen, adj 20-at a hírnévhez, és írasd ki a "Jól menedzselt hét" jutalmát!16.
Írasd ki a végső penz, hirnev és alapanyag értékét!17.
Számítsd ki a nettó változást a kezdőállapothoz képest! Írasd ki a "Nettó változás" eredményét: minden 10 pont hírnévnövekedésért egy H betűt, minden 5000 Ft pénznövekedésért egy P betűt írj ki!18.
Végül, ha a hirnev > 100 és a penz > 50000, írasd ki: "Gratulálok, te lettél a város új Gasztro Hőse!", egyébként pedig: "A gofri kicsit odaégett, de jövő héten újra próbálhatod!"