PixelPeti
Kategória: python - közép (előfizetőknek)
Feladat leírása
Képzeld el, hogy te vagy "PixelPeti", egy feltörekvő videójáték-streamer! A célod, hogy egy hét alatt növeld a követőid számát és a bevételeidet a csatornádon. A hét minden napjára megtervezel egy akciót: vagy streamelsz (S), vagy új videót töltesz fel (V), vagy pihensz (P). A sikeredet a napi akciók, egy előre megadott "hype" faktor és a szerencse is befolyásolja.
Készíts programot az alábbi leírás szerint, amely modellezi a streamer 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, kiszámolja a követők és a pénz változását, és figyelembe vesz különleges eseményeket is. A program forráskódját mentsd streamer 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 foglalkozz 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:
PixelPeti kalandja kezdődik! Követők: 1000, Pénz: 5000 Ft
Add meg a 7 napos tervedet: SSPSVVS
1. nap (Stream): +60 követő, +1850 Ft adomány. Új állás: 1060 követő, 6850 Ft.
2. nap (Stream): +21 követő, nincs adomány. Új állás: 1081 követő, 6850 Ft.
3. nap (Pihenő): -10 követő. Új állás: 1071 követő, 6850 Ft.
4. nap (Stream): +40 követő, +900 Ft adomány. Új állás: 1111 követő, 7750 Ft.
5. nap (Videó): +35 követő, -1000 Ft költség. Új állás: 1146 követő, 6750 Ft.
6. nap (Videó): +42 követő, -1000 Ft költség. Új állás: 1188 követő, 5750 Ft.
7. nap (Stream): +49 követő, +1100 Ft adomány. Új állás: 1237 követő, 6850 Ft.
Különleges esemény: Elérted a 1200 követőt! Bónusz +150 követő, de a szerverfejlesztés -2000 Ft. Új állás: 1387 követő, 4850 Ft.
--- Heti értékelés ---
A hét legjobb napja a 6. volt, 10-es hype faktorral.
A heti hype elérte a célt, bónusz 2000 Ft üti a markodat!
Akciók: 4 stream, 2 videó, 1 pihenőnap.
Kiegyensúlyozott hét, bravo! Jutalmad még 100 követő!
Végső állás: 1487 követő, 6850 Ft.
Nettó változás: KKKKLF
Gratulálok, sikeresen felépítetted a csatornád!
Részfeladatok
1.
Hozz létre változókat a követők (kovetok), a pénz (penz), valamint a napi akciók (S, V, P) megszámlálására. A kezdőértékek legyenek kovetok = 1000, penz = 5000. A számlálók 0-ról induljanak.2. Hozd létre a napi_hype = [5, 3, 6, 4, 8, 10, 7] listát.
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 (S, V vagy P), és a feladatleírásnak megfelelően módosítsd a kovetok és penz változókat!
a) S (Stream): Követők száma nő napi_hype[nap_indexe] * random.randint(5, 10) értékkel. 50% eséllyel a pénz nő random.randint(500, 2000) értékkel.
b) V (Videó): Követők száma nő random.randint(20, 50) értékkel. A pénz csökken 1000-rel.
c) P (Pihenő): Követők száma csökken random.randint(5, 15) értékkel.
7. Minden nap növeld a megfelelő akció-számlálót (S, V vagy P)!
8. Figyelj arra, hogy a program futtatása során ne mindig ugyanazt a véletlenszám-sorozatot kapd! (import random)
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 kovetok, penz állást!
10. Szintén minden nap végén vizsgáld meg, hogy a követők száma éppen átlépett-e egy 200-as határt (vagyis kovetok % 200 kisebb, mint az előző napi kovetok % 200 volt, jelezve egy átlépést). Ha igen, adj 150-et a követőkhöz és vonj le 2000-et a pénzből, majd írasd ki a "Különleges esemény"-t a mintának megfelelően!
11. Írd ki az elválasztót a minta szerint és a "Heti értékelés" címet!
12. Keresd meg és írasd ki a napi_hype lista legnagyobb elemét és annak sorszámát (a hét napját)!
13. Add össze a napi_hype lista elemeit! Ha az összeg nagyobb mint 40, adj 2000-et a penz változóhoz, és írasd ki a bónuszról szóló üzenetet!
14. Írasd ki a megszámlált akciók (S, V, P) számát a mintának megfelelően!
15. Vizsgáld meg, hogy volt-e legalább egy S, egy V és egy P nap a héten! Ha igen, adj 100-at a követőkhöz, és írasd ki a "Kiegyensúlyozott hét" jutalmát!
16. Írasd ki a végső kovetok és penz értékét!
17. Számítsd ki a nettó változást (végső érték - kezdő érték)! Írasd ki a "Nettó változás" eredményét a feladatleírás logikája szerint (K minden 100 új követőért, F minden 1000 Ft bevételért, V/L a csökkenésért)!
18. Végül, ha a kovetok > 1500 és a penz > 6000, írasd ki a gratulációt, egyébként pedig a "ne add fel" üzenetet!